With all that said, it’s pretty easy to develop your own web site, but if you’re writing a complex site from scratch, it’s a lot of work. Here are some of the questions that have bothered me:

1. Code reuse problem: Such as you design your own website top have a menu or the navigation bar, redirect users need whatever website, it is present, the most primitive method is definitely add this paragraph at every HTML file in HTML and CSS code, if you want to change the menu of a few words, have to run to the all file changes again, This is obviously not a good code habit. (Of course, there are elements wrapped in native HTML that are designed to solve this problem, but that’s not the point of this chapter.)

2, frequent DOM operation and performance problems: the native web development of DOM operation is simply too cumbersome, a lot of data on the web page is not front-end write dead, need to request data to the background, and then render to the front end, which not only have a large number of DOM operation, very complicated, but also make the web page become very “card”.

3, routing management problem: the native web development without routing management concept, is simply an HTML file corresponding to a url address, file also is very poor, the connection between the so-called routing jump, just from an HTML file to the other an HTML file, a lot of repeated part need to reload, efficiency is very low.

There are many, many problems with native web development, and while there are solutions to all of these problems, they are tedious to solve. So today it’s important to focus on three front-end frameworks: Angular, React, and Vue.

First of all, there are certainly more than these three front-end frameworks. Bootstrap mentioned before can barely be called a framework (some people prefer to call it a library), but these three are the most mainstream and mature ones, which are applied by major websites and widely loved by front-end developers.

Let’s start with a brief history of them (duh). Angular was first released by Google in 2010. It was the first to change the concept of web design, and because it was guaranteed by the big company, many people adopted it and used it to develop websites. However, due to the hasty launch, there were a lot of bugs, and the late maintenance and update, React and Vue gradually died on the beach, and now there are not so many people using it.


Then There was FaceBook’s React in 2013. It was a perfect product, with perfect design and post-maintenance, and FaceBook used it to create a lot of products and advertising. It quickly overtook Angular, which was popular at the time.


Finally came the legendary Vue. Unlike the previous two frameworks, which were developed by large companies, Vue was single-handedly developed by former Google employee Evan You and his team and launched in 2014. Although single-handedly developed, Vue is as good as the first two frameworks, both in terms of design philosophy and maintenance. Coupled with the Chinese identity and detailed Chinese documents of Yu Xi, Vue is instantly hot in China and widely used by front-end developers. Even the popular wechat small program two years ago is also a small program framework developed and modified on the basis of Vue.


Although these three frameworks had their own characteristics and shortcomings at the beginning, they are now very similar after slowly absorbing the advantages of each other in the process of continuous development. After mastering one framework, it is easy to learn the others. Unfortunately, I came into contact with these too late to see the history, these are also my hearsay to come, next I briefly talk about the front-end framework I know.

First, there are some core concepts that all three front-end frameworks share to this day:

1. Modularize and componentize elements, encapsulate some highly reusable elements into a component, which can be easily used in other places, greatly improving the reuse rate of the code.

2, remove the cumbersome DOM operations, instead of data, state, etc., when the data and state change, the corresponding DOM elements will be automatically updated, and there is no need to operate on the DOM, not only the development becomes simple, but also greatly improve efficiency.

3. Life cycle functions are designed to provide many conveniences for developers.

4, there are a lot of extension libraries, such as a dedicated library responsible for routing management, and responsible for data management library, as well as front-end UI library and so on, almost everything, just need to download and introduce, can be very convenient to use, greatly increased the development efficiency, convenient developers.

5. Greatly improved web performance through lazy loading (on-demand), virtual DOM, changing rendering methods, two-way data binding, and many, many more.

There are many specific advantages, will not be repeated one by one, I feel the use of the framework or can greatly facilitate the development of the site, and the development of the performance is also very good, see here, there should be a lot of people will have doubts, I want to learn the framework, but these three choose which is good?

Personally, Vue has a simple design concept and is the fastest to get started. It is also suitable for the development of small projects. In addition, the developers are Chinese, Chinese documents are very comprehensive, and there are many Chinese people who use it, which is very good for beginners. There is a Vue based on the development of wechat small program framework, but also make more people learn Vue.

React has better performance than Vue and is more suitable for the development and maintenance of large projects in terms of design concept. It is widely used in foreign countries, such as Facebook, Uber, Netflix, Twitter, Paypal and so on. There is also React-Native, which can be used for APP development, enabling more people to learn React.

Angular hasn’t performed as well as React and Vue in recent years, and I’m not going to comment on that.

As for the more detailed content of Vue and React, I also plan to sort out and summarize it in the future. That’s all for this time, and I’ll see you next time.