How to become an excellent web front-end engineer [GO]

Source: Internet
Author: User
Tags website performance css zen garden

The way of program design no far, the Imperial morning Breeze and return. ———— of the Buddha · James

There are two types of front-end programmers I have encountered:

The first is always asking: how to learn the front end?

The second kind always says: The front end is very simple, just a little thing.

I never heard anyone ask: how to be a good, even excellent web front-end engineer.

What is: Front-end engineer?

Front-end engineer, also called Web front-end development engineer. He is a subdivision of the industry with the development of the Web.

Web front-end development technology consists of three elements: HTML, CSS, and javascript!

It requires the front-end development engineers not only to master the basic Web front-end development technology, site performance optimization, SEO and server-side basic knowledge, but also to learn to use a variety of tools to assist development and theoretical level of knowledge, including the maintainability of the code, ease of use of components, layered semantic templates and browser rating support.

With the recent two or three years of RIA (Rich Internet applications abbreviation, Chinese meaning: Rich Internet applications) The popularity and popularity brought by such as: Flash/flex,silverlight, XML and server-side language (PHP, ASP. Net,jsp, Python) and other languages, front-end development engineers also need to master.

Front-end development of the entry threshold is actually very low, and the server-side language first slow after the fast learning curve, the front-end development of the learning curve is first fast and slow.
HTML is not even a language, he is just a simple markup language!
CSS is just an untyped style-decorating language. Of course it can be counted as weakly typed language.
The basic part of Javascript is relatively easy to get started with.

Because of this, the front-end development field has a lot of self-study into "just" peers, but most people stay in the stage of use, because the learning curve behind the more and more steep, every step forward is difficult.

Web front-end technology has some rivers and lakes, the knowledge point is too trivial, the game of technical values is also difficult to divide, that is, the overall system of knowledge structure has not become a system, these factors also objectively affect the "orthodox" front-end technology precipitation! and a variety of "artifice" is abused, the front-end technical knowledge of the inheritance is too general, new people difficult to see the situation grasp primary and secondary. Therefore, the front-end technology field, for themselves to find a reliable brother, the importance of the project, Team, company, and even pay.

On the other hand, as mentioned earlier, front-end development is a very new profession, and research on some norms and best practices is at the exploratory stage.
There are always new ideas and techniques to flash, such as CSS Sprite, negative margin layout, grid layout, etc.
A variety of javascript frameworks in the endless, for the entire front-end development field injected tremendous vitality;
Browser wars are becoming more and more intense, and cross-browser compatibility scenarios are still a variety.
In order to meet the needs of "high maintainability", we need to master the front-end knowledge more deeply and systematically, so that we can create a good front-end architecture and guarantee the quality of the code.

With the rapid development of handheld devices, HTML5 industry standards have led to rapid development. Web domain technology, about 10 years there is no big update!
Now the market is in need of excellent, advanced front-end engineers.
On the one hand because this is a relatively new industry, and the front-end programmers mostly self-study part of the knowledge structure is not system, on the other hand, the university does not have such courses, the most important thing is: Beida Jade bird Such training institutions do not have a dedicated front-end Engineer training courses!!

Wuliang in the first sequence of "The Return of JavaScript king," said: "Most programmers think that JavaScript is too primitive, only for some Web page above the fancy performance, so do not want to spend energy to learn, or think not to learn to master."
In fact, whether a language is a scripting language is often the goal of her design, simple and complex is not a distinction between scripting language and non-scripting language standards.
In fact, in scripting languages, Javascript is a fairly complex language, and his complexity, even in non-scripting languages, is a very complex language!
Javascript's complexity is not inferior to Perl and python!

How to learn the front end knowledge?

We live in a rule-filled universe. Social order runs according to rules, and computer language is almost all a collection of rules. Computer predecessors define rules, rules govern us, and we use rules to control data. Most of the time, reasonable control of the data comes from your mastery of the rules.

Study HTML,CSS should follow the book carefully, solid study again. Then you need to do a lot of practice, do all kinds of routine, strange, a lot of layout exercises to bind, understand their knowledge.
and learning Javascript first to know what this language can do, what not to do, good at what to do, not good at what to do!
If you just want to be a normal front-end programmer, you just have to remember most of the Javascript functions and do some exercise.
If you want to learn more about JavaScript, you need to understand the principles and mechanisms of javascript. The need to know their origins requires a deep understanding of the nature of Javascript-based objects.
It also requires a deep understanding of the behavior and features of Javascript under the browser host.

For historical reasons, JavaScript has never been taken seriously, a bit like being adopted in general! So he has many shortcomings, the behavior of the host environment is not unified, memory overflow problem, inefficient implementation and so on.
Being a good front-end engineer also requires deep understanding and learning to deal with these flaws in Javascript.

So what are the conditions for an excellent, even superior front-end development engineer?

First of all, excellent web front-end development engineers need to have breadth and depth in the knowledge system! To achieve these two points is actually very difficult. So many big companies can hardly recruit the ideal front-end development engineer even if they are paid well. Technology is not black or white, only right and wrong, and skill is a matter of opinion.
Previously, it was possible to make Web pages with a little Photoshop and Dreamweaver operations.
Now, it's not enough to master these. Whether it is the development difficulty, or the development method, now the Web page production is closer to the traditional background development of the site, so now is no longer called web production, but called the Web front-end development.
The role of Web front-end development in product development is becoming more and more important and requires a professional front-end engineer to do well.
Web front-end development is a very special work, covering a very wide range of knowledge, both specific technology, and abstract ideas. Simply put, its main function is to better present the interface of the website to the user.

Second, excellent web front-end development engineers should have the ability to learn quickly. The web is growing fast, and it can even be said that these technologies are changing almost every day! Without rapid learning ability, we can not keep up with the pace of web development. Front-end engineers must constantly improve themselves, continue to learn new technologies and models, just rely on today's knowledge can not adapt to the future. There will be a difference between the future of the web and today, and the job of front-end engineers is to figure out how to manifest this change through their Web applications.
Speaking of which, I think of a master said a word: for beginners, new technology is the new technology.
For a master, the new technology is just an extension of technology.
In addition, excellent front-end engineers need to have good communication skills, because the front-end engineers at least to meet the needs of four types of customers.

1, Product manager. These are the people who are responsible for planning the application. They will come up with a lot of fresh, strange, and even non-fulfilling applications. In general, product managers are pursuing rich functionality.

2, UI Designer. These people are responsible for the visual design and interactive simulation of the application. They are concerned about what the user is sensitive to, the consistency of the interaction, and the overall usability. In general, UI designers are fluent, but not easy to implement user interfaces, and they are often dissatisfied with front-end engineers to cause 1px error.

3, project manager. These people are responsible for actually running and maintaining the application. The main focus of project management is the time, performance, and due date of uptime, uptime, and availability of applications. The goal of the project manager is often to keep things simple and not to introduce new issues when upgrading updates.

4, the end user. Refers to the main consumer of the application. While front-end engineers do not often deal with end users, their feedback is critical. What the end user demands most is the functionality that is useful to the individual, as well as the capabilities of the competitive product.

Yahoo Company, YUI's development engineer Nicholas C. Zakas that:
Front-end engineers are one of the most complex jobs in the field of computer science. The vast majority of traditional programming ideas have not been applied, in order to use in a variety of platforms, a variety of technologies have borrowed a lot of soft science knowledge and ideas. The expertise required to be a good front-end engineer involves a wide and complex field that becomes more complicated by the involvement of all the parties that you end up having to serve. Expertise may lead you into the door to being a front-end engineer, but only the applications you create with the technology and the ability to work side by shoulder with others will really make you good.

————————————

About books:
HTML, CSS category books, are similar, in Dangdang, excellent network search a lot of recommendations. If you feel like learning, you can focus on "CSS Zen Garden", which is very influential.
JavaScript books are recommended to read by foreigners, and many of the authors of JavaScript books in the country do not understand the JavaScript language very thoroughly.

Here are a few Javascript books to recommend:

Primary reading:
JavaScript Advanced Programming: A very complete classic primer book, known as one of the JavaScript Bible, detailed in detail, the latest version of the third edition has been released, the proposed purchase.

"The Return of JavaScript", a Web development project manager of Baidu, wrote, as a beginner to prepare the entry-level tutorial is also good.
Intermediate reading:
JavaScript authoritative guide: Another JavaScript Bible, explained in very detailed, is intermediate reading, recommended to buy.
"JavaScript.The.Good.Parts": Yahoo Daniel, JavaScript Spirit leader Douglas Crockford's masterpiece, although only 100 pages, but Abas Ah! It is highly recommended to read.
High-performance javascript: Another masterpiece of Nicholas C. Zakas, author of the Advanced programming of JavaScript.
"Eloquent JavaScript": This book is only 200 pages, very short, through a few very classic examples (Aunt Emily's cat, miserable hermit, simulation biosphere, push box game, etc.) to introduce the knowledge and application of JavaScript in every aspect.
Advanced reading:
"JavaScript Patterns": The book introduces a variety of classic patterns, such as constructors, Singleton, factory, etc., is worth learning.
"Pro.JavaScript.Design.Patterns": apress the book that explains JavaScript design patterns, very good.
"Developing JavaScript Web Applications": Build rich applications of good books, for the MVC model has a more in-depth explanation, but also some of the process of the library to explain.
"Developing Large Web Applications": not only the introduction of JavaScript, but also the introduction of CSS, HTML, but the introduction of the content is very good, really consider a large Web program, How to design a JavaScript architecture is worth reading.

To be a good front-end engineer, we still need to continue to work hard: "High-performance website Construction Guide", "Yahoo Engineer's website performance optimization Recommendations", "YSLOW" Performance optimization recommendations, "website refactoring", "Web development Agile Road", "JQuery Library", "front-end framework", "HTML5", "CSS3" ... These all need to be researched deeply!

Everything starts hard! If you can get to this state, the rest of the road can go on its own.
People often say: don't want to be a tailor's driver, not a good cook.
If you only learn the front-end programming language, but not the back-end programming language (PHP, asp.net,jsp, Python), it can not be counted as a good front-end engineer.
In becoming an excellent front-end engineer on the road, full of sweat and toil.

--Prince Ink written in Hong Kong,kowloon

October 28, 2012 20:18

References used in this article:

1, what makes a good front end engineer?

2. Best practices-Speeding up Your Web Site

[This article reprinted from: Prince Ink Blog, the original address: http://julying.com/blog/how-to-become-a-good-web-front-end-engineer/, reproduced must retain this information]

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.