Some classmates and friends have asked me related questions. The use of the weekend I talk about my understanding of the Web front-end development and experience, only shallow talk, master please own initiative to skip this article.
After all, I'm not very experienced today, not even the project master, let alone Daniel. We don't talk about technology today. There are so many people in the technology that I know better than I do. But the understanding of each person is not the same.
three overall understanding and experience of front-end development
My overall experience with front-end development is three:
First: Miscellaneous and difficult, even more difficult than the general development of the background, suppose that some people think that the front-end development simply can explain that he has not yet started.
Second: Web front-end development is moving in the direction of responsiveness and mobile.
Third: The front-end project teacher is actually a programming technician, in a word to describe " than the UI design know the technology, more than the technical staff to understand the interaction ." Of course, some people say that the front-end project architect is the architect of the project and is the project master in the designer. Since it is programming work. Then you won't do it all your life. After all, too tired. Carefully knock a few years of code and then go to sell fruit, but also look at the younger sister to take care of my business.
Web page making and Web front-end development
Front-end development project is a relatively new profession. It is not more than a few years since it began to be valued domestically and internationally. After the Internet entered the 2.0 era, Web development technology has been unprecedented development, especially the front-end technology. In recent years, with the user's demand for experience is more and more high, the front-end development technology is more difficult. Previously design and production positions were eventually divided into two positions for UI designers and web front-end developers (front-end developers). vertical development in the direction of art and technology respectively .
From a technical system, front-end developers need to master and understand a lot of things. Some Daniel use a complex to describe.
A few years ago, there was no front-end development when we called the page production, the main content is static pages. The user is also to browse the main, and now has undergone tremendous changes, the Web page is no longer just the bearer of a single text and pictures, a variety of rich media to make the page content more vivid, more attention to user experience.
Once will be graphic design software, DW and simple HTML, CSS, JS can make a Web page, now only grasp these are far from enough, assuming only to grasp these even job opportunities are very few. No matter the development difficulty. Or the way to develop. Today's web front-end development is close to traditional site background development. I think it's more complicated than the usual background development. Whether a site or mobile app is professional and powerful. Whether the server side is combined with j2ee+oracle or asp+access. There is no obvious difference, but the user experience at the front end gives the user an intuitive impression. So now it's not just web-making. But web front-end development. Most people think that the Web front-end development instead of the previous page production, I think today's web production and web front-end development of the post at the same time exist.
If I only mastered the technology of Web page production, then it is still called the Web maker (I also see a lot of web-maker posts on the recruiting page), and I can't call it the Web front-end project teacher.
what are the technologies and conditions that the Web front-end development generally has to master?
first, to master the former web-maker master of the basic technology. such as various page layout, object-oriented programming, JS modular programming. Design patterns, front-end MVC, and so on.
Second, site performance optimization, SEO. such as minimizing the number of HTTP requests, csssprites image integration technology, merging CSS and JS, the use of CDN technology. Reduce the number of DNS lookups, avoid redirects, and so on.
Thirdly, UI design is a must. of course, in some relatively small companies front-end project designers also assume the role of UI design. While a large company has a professional UI designer, the front-end project teacher UI Design can help you understand the designer's intentions more accurately. When the prototype is incomplete, it can also correctly feedback the design flaws, blocking the problem in the design process, which will greatly reduce the number of UI bugs. Example. Designers will give the ideal state of the container style, but often ignore the text overflow folding line, long consecutive characters, the container width is high whether to adapt to changes in the size of the content, overflow part of the truncation or hidden, and many other details, because designers do not necessarily understand the "boundary value Test" truth, and these problems are often found in the test phase, So, let's say that when you get the UI design, it reminds the designer to fill in these scenes, naturally reducing the number of test regressions.
at least a background programming language is needed. the particularity of the profession determines that we need to communicate frequently with the back-end workers. Assume that only the page implementation, regardless of the background. The pages that are written are also part of the discarded code, which is not used when interacting with the data in the background. On the other hand is from the recruitment information to know. Now almost all of the company's front-end development positions are aware of the requirements of the background language, in the actual work may also be done between the client and server side of the data interaction and so on.
Fifth, master a variety of browser-compatible solutions. domestic and international mainstream browser variety, the core is not unified, such as Trident for the kernel of IE, gecko as the core of Firefox, Presto as the core of opera, WebKit as the core of Google Chrome and Safari. This adds a lot of difficulty to our front-end development, and it's a headache for most people. And do not say that there are so many browsers in the market, only a single series of IE family problems are enough, especially ie6,ie7. This month, the global browser market statistics ranked last month, ie browser users more than 50%. Although Microsoft will stop supporting older versions of IE browsers since January 2016. "Microsoft related original News link please bash here" but I believe that in recent years, ie low version of the browser will be a larger proportion. It will take time to die.
Six, must learn to use various tools for the auxiliary development.
seventh, in addition to mastering the technical level of knowledge. There is also knowledge of the theoretical level. contains the rendering principle. Maintainability of the code, ease of use of the component. Hierarchical semantic templates, and so on.
eighth, be careful and patient. as with UI design, we have to be accurate to every pixel, patience is now many aspects, such as the initial development of the problem of compatibility, assuming that the code is not standardized, the time to solve the compatibility problem far more than the time of the page implementation.
Nineth, love and continue to learn new technologies.
The front end almost every day has a new technology, engaged in this line, in the case of a solid foundation to continue to learn new technology. Includes development process deployment, preprocessing technology, front-end framework (such as Requirejs, Reactjs, ANGULARJS, etc.), mobile terminals, standard specifications, etc.
on the experience of oneself
The learning curve of the front-end development is faster and slower than the server-side language, which is slower and faster than the learning curve. So now there are a lot of students or people who have already worked in the beginning to want to pour into the web front-end development trend, and self-taught as "just." But I know most people are stuck in the stage of being used. As a real web front-end developer, every step forward is difficult. Although some people use their work to learn every day. But still learning is not refined, so in a tangled confused state. There is another aspect, as the opening says. This is still a relatively new occupation, some of the norms and best practice research are in the exploratory phase, some new technology will flash out at any time, such as: The browser war is also more and more intense, cross-browser compatibility program is still a variety of, now my company generally requires us to be compatible to IE7, This was often the case. Not easy to the various versions of IE are compatible, happy with the hair now 360 browser appeared on the bug. No way, stay up fighting.
The front-end development project is an easy-to-learn profession, and we must learn and master the front-end knowledge in-depth, systematically, and assume that you can be a web front-end project teacher simply by learning it yourself. Well, I don't think there's going to be a high salary in the market now. The Front end Project division is not found. Experienced web front-end developers all know that to be proficient in this line, you have to be proficient in 10 lines first. There are some experienced front-end project divisions that are constantly seeking breakthroughs in new skills, the most obvious of which is. Start to focus on the "underlying protocol", that is, HTTP, third-party applications, system docking, manufacturing tools, workflow, and so on, then the focus of thinking has been separated from the "Cut page", to "out of the scheme", for example, to set up a website, you can build a website framework, foresee the site may (front end) the and give a solution.
Talk about the halfway decent of danger and machine, as the saying goes. Interlaced into GE. Every industry has its own way. Nature does not want to do it.
There are many halfway decent in front-end technology field, we can analyze the psychology of career change.
First. See the front-end technology to get started simple, the internet on the front-end technology demand gap is large; second, the front-end technology WYSIWYG, the feeling of learning very fast; My side of the so-called front-end look good, I seem to be able to. I do not like the work I do now, want to change the industry, just the front-end technology to get started faster. Just choose him, and, of course, I do understand and like to do the Web front end. It is worthwhile to pay more for it.
The new entry into this line or the mindset of a career change is easy to walk two extreme. one is only to see the good of the new industry, and the other is simply to think that the original work is very bad .
But no matter what the industry, the thinking of their own career planning should be one step ahead. Entering this line must first answer these questions clearly:
1. What can I do?
2. What can I do?
3. What are my strengths?
4. What is my disadvantage?
5. What are the advantages of doing this line?
6. What will it cost me to do this line?
7. How to define success?
Because the interview is bound to be challenged by these issues. Assuming that the words are not clear, either to their own future irresponsible, or the root is the grassroots, accustomed to do anything dragonfly water a little. And it's hard to believe that your entry into this line is a trade-off between seemingly reasonable choices.
explanation of relevant misunderstanding
Some people think that the front-end project teacher does nothing else. Just play, get some effect. Save two pages and make some innovations. Of course, this expression is very light, even has the taste of ridicule, the Web front-end work is definitely not play so simple. Not as simple as the previous page production, sometimes for some effect of the implementation or optimization, get overtime. Last week it took 2 days to solve a problem. Shame on me.
So front-end development is a very special job, the front-end project division work is easy to say, seemingly lightweight, but it is not so simple. In the development process is broad, not only from the technical point of view to think about the implementation of the interface, to circumvent the technical corner, but also from the user's point of view, how to better accept the technical presentation of the boring data, better presentation of information.
at the beginning of the entry. Very many people are too fascinated. and got lost. For example, some people struggle to remove the DT, DD style purge from the reset.css because it is considered that the purge style of the two labels consumes some rendering performance. Or if you need to change the for loop to a while loop to increase the JS run speed. While these considerations may seem reasonable, they are not a bottleneck for performance, that is to say. You've spent a lot of effort refactoring the code to bring up the page performance, often not as much as adding two CSS files to bring the ascension obvious. It's like using a meter stick to measure something, not necessarily to 10 digits after the decimal point, since it is inaccurate to 2 digits after the decimal point. Such technical misunderstanding often let a person penny wise lost watermelon.
The requirements for their own study and work
N.c.zakas had previously encouraged everyone, and now became my own request and advice to those who have decided to take the direction of Web front-end development: Love your work. Love the challenges of cross-browser development, the cult of internet technology, love the industry peers, love your tools. The internet is growing so fast that it's impossible to keep pace with it if you don't love it.
This means you have to read more. More hands-on, to ensure that their talents are increasing. Fight for how to write easy-to-maintain, high-quality front-end code.
The class is not idle. To do something useful to yourself.
Be able to participate in the development of some open source software, read good books and see the blog of Cattle people. Often participate in meetings to see what others are doing.
If you want to make your own high-speed growth, there are a lot of things to do, I believe that pay will be rewarded.
Share it here this time. One morning it passed, hungry, to do lunch. About the front-end development of detailed related technology and detailed how to learn the development next time I will continue to share.
Finally, because of the time rush. Limited qualifications, the text of the expression only represents a personal point of view, inaccurate places are also looking for apologies, welcome to correct me.
On web front-end development