Seven Sins of front-end development and seven sins of Development
Front-end development has become popular in recent years, and more developers have joined the front-end development team. However, the front-end does not have a curriculum system in the university, and the knowledge is constantly updated. People have different understandings of it. The blogger has experienced technical manager, Project Manager, interviewer, and front-end development, participated in many front-end development projects, and met many front-end developers. Based on these factors, I have a deep understanding of the front-end and want to share with you.
The seven sins mentioned in this article are a bit of a gimmick. Please forgive me. I would like to explain the misunderstandings of front-end development for you.
SIN 1: front-end is just Javascript
Some of my friends read only the rhino book ("JavaScript authoritative guide") and study JS every day. I think it is even a front-end development.
But what I want to say is: front-end is not just JS.
What is frontend development? In my opinion, all work aimed at presentation is a front-end development work. In front-end development, in addition to JS, there are many things to master, such as browser principles, html5, and css3. When interviewing someone, I asked him how to create a turntable on the touch screen. He shook his head. I stepped back and talked to him about your ideas. He thought for a moment, but he still won't.
Making a turntable is a question that I often share with others (I will explain it to you later). It seems simple, but it represents the comprehensive application of front-end knowledge. You do not have experience in touch screen development, CSS 3 or canvas, or web page optimization. The front-end is an application of integrated technology, and JS alone cannot solve the problem.
Sin 2: Now I can HOLD everything and don't need to learn new things.
Of the people I have met, 60% have no practical experience in h5 and CSS3, or even have heard of Some nouns and have not studied them. Ask them why, most of the answers to the previous work are not available, and a small part of answers have no time. When asked about the implementation of some animations, some interviewers are still using the CSS 2 attribute of DOM frequently.
The reason for this situation may be related to the work content. At present, some mobile web pages in China are quite satisfactory, and the product manager has few unconventional requirements on front-end implementation. Some front-end developers only need to present the back-end data, which is also possible with CSS2. However, these are not the reasons for not having to use new technologies. The neighborhood will be eliminated one day.It is the responsibility of the front-end to make the page user experience better.
Sin 3: front-end does not need to know backend knowledge
Also, what should I do if the front-end gets the front-end well.
However, the industry is developing and the front-end functions are becoming more and more powerful. The offline database can provide data storage and management functions, but can it be converted without writing SQL statements? WebSocket can provide instant communication, but does not know the difference between socket and WebSocket. Can it be set up together with backend Development (many backend development only use socket technology? To speed up page display, you must not only analyze the page from the front end, but also consider the backend. Using backend technologies such as keep alive and cache can make the page open faster.
Sin 4: designers or product managers are too whimsical to implement what they want. simply cannot reply.
Do not reject their unconventional needs. These strange demands may become an important competitiveness of enterprises. (Well, This is switched to the operator's perspective .) Users are paying more and more attention to the performance. Instead of sending users through simple list pages and details pages, they may become loyal users of the website due to good user experience. When encountering unconventional requirements, first think about how to use front-end knowledge to achieve it. If you cannot think about it, discuss it with your peers.In short, it is the responsibility of developers to implement the requirement. Do not say that we cannot implement this requirement.
Sin 5: Ignore extreme situations or performance, just go out of the page
Most front-end presentations use DOM, but more DOM usage may cause performance problems. Currently, it is very popular to pull more pages at the bottom of the list page, but few front-end users are concerned about the loading extreme problem. If a page is pulled down many times and thousands of DOM files are loaded, what will happen? The answer is that the page is slow to respond, and the browser is flushed.
Another example: LocalStorage is really easy to use. Many enterprises rely heavily on it as the front-end, and even well-known front-end development frameworks rely on it. But it has a disadvantage-there is a capacity limit (2.6 M-10 M), we have to consider the extreme situation, when the LocalStorage space is full, how to deal with it. Or avoid such extreme situations in architecture.
Sin 6: The page is just for the user, and the user can use it normally.
There are more than just users and robots.
Web apps have been coveted Native apps, and some Web apps and Native apps do not see any difference. Web apps are red and red, and various front-end MVC frameworks are also popular, but they all have a problem, and there is almost no way to Do SEO, because search engines ignore JS. Traffic is the foundation of an enterprise's life. SEO can attract a large amount of traffic, so the front-end still has to consider the SEO issue. (We will discuss the SEO solution for Web apps later)
Sin 7: Do not use or push new technologies
God gave you a pair of wings, but you baked it.
Ask yourself a few questions. Does the webpage use CSS3 animation? Does the webpage support multi-touch operations? Distance sensor, motion sensor. Have you used it? This is not to say that these new technologies are used for use. Instead, we want to show that we already have new technologies and don't waste them. It's time to make changes to previous web pages and operations. Using these features can improve user experience. Some product managers or designers are still in the html4 era. We need to familiarize ourselves with them with new knowledge.
Reprinted link http://www.cnblogs.com/arfeizhang/p/7mistakes.html