Adam said my video PPT was hard to read and too long, so WRITE a summary.


What jQuery is all about in my opinion and in his own mind is two things: a better API and compatibility. These two things JQ did extremely well, and in the last era, they happened to be the two most painful points on the front end, so it worked.



However, in the mobile era, the API of the Web platform has greatly evolved, and there are new features of ES6, these new apis, I think the design level is far beyond JQ. The compatibility problem of mobile terminals is more complicated. The SHIV method created by JQ cannot take into account the adaptation requirements of mobile terminals. For example, the screen adaptation is so complicated:http://www.html-js.com/article/2589


One of the good things about Angular in recent years is that there is a growing emphasis on architecture on the front end. The main features of Angular, in my opinion, are directive’s ability to extend HTML syntax and the MVVM architecture, which was developed by Microsoft architects in 2005. I haven’t seen anything more than this, but Angular’s problems are obvious. One, it’s heavy, and two
Directive cannot be reused without Angular.



React Native, React Native,
GraphQL
JSX UI componentization Flux. In fact, every one of them has a lot of imagination. There are things that I’m excited about, like RN and theta
GraphQL
(although both are poorly implemented) represent extensions to the client side and the server side respectively, and there are things that I find completely rubbish, such as Flux, which I think is completely self-deceiving to just put all the coupling in the dispatcher in the form of similar events. In general, I think this system contains all kinds of NB ideas, but it is a little too closed. Fb wants too much. In fact, every point has not been done thoroughly, which makes me think that MY thoughts are very good. React has nothing to do with MVVM. It has no concept of bindings or commands.


Finally, little right’s Vue, which is a very pure IMPLEMENTATION of MVVM, replaces commands with events familiar to the front end and implements bidirectional binding. There are some implementation details, such as all of Model’s properties becoming getters/setters, that I have some questions about, but in general, I think it’s a natural extension of the Web-side implementation of MVVM. Compared to the first two, it is relatively lightweight, most importantly, it is single duty.



From an architectural point of view, the front end has gone through several eras, around 2005-2008, reuse basic ctrL-C CtrL-V, various special effects stand on the floor, focusing on “can achieve”, do not ask form; From 2008 to 2012, reuse is centralized, various frameworks, is all the need to reuse things into a file, anyway, PC traffic is also enough
In the end, jQuery won; Since 2012, NPM has put reuse on track (albeit with the bootstrapping of Common JS) and finally started to have a bit of a real UI architecture, following the path taken by MVC in ’79 and a few years to the client in decades.


Here are my thoughts on front-end architecture development:
1. MVVM is still the most advanced UI architecture so far, and all the so-called “innovations” so far are basically “naive” in my opinion.
2. I think the development of View layer itself has not received due attention. After all, data binding and architecture are for large applications and development efficiency, but I doubt that any company really needs “large” applications now. It can also be limited by the type of business, which is very rare in my current work, or even in the case of multiple updates to the model on the client side. As for development efficiency, theoretically it is true that a good architecture will improve development efficiency, but now many companies are not stuck in the development efficiency of writing code… You know.
3. 
The most promising UI components are the Web Component and React components,
Directive is basically out of the picture.
4. The expansion of front-end responsibilities, GraphQL and React Native respectively give a lot of room for imagination, but my intuition is that neither seems to be the final answer.


Conclusion: change may not live, the same affirmation of death.