We all have this experience ： It's time to learn technology , At the same time, there will be several new front-end technologies . also , The kind of front-end technology you choose , Maybe it's out of date . However, we never seem to pay attention to why .
The typical explanation seems to be web Developers are naturally impatient , Always pursue the most cutting-edge technology , Follow the fashion . in general ： It's unwise for the entire developer community to change front-end technology so fast （ And your unwise behavior depends entirely on factors beyond your control ）.
Whether or not the real reason is this , Front end development does have such problems .
Before exploring the cause , It is necessary to verify whether the problem is true . Whether the front-end technology really changes so fast ？
+------------------------------------------------------------+ | Library | Stars | Released | Age | |------------------------------------------------------------+ | React | 96986 | March 2015 | 3 years | | Vue | 95727 | October 2015 | 2.5 years | | Angular (1) | 58531 | October 2010 | 7.5 years | | jQuery | 49061 | August 2006 | 11 years | | Angular (2+) | 36665 | December 2015 | 2.5 years | | Backbone | 27194 | October 2010 | 7.5 years | | Polymer | 19668 | May 2015 | 3 years | | Ember | 19003 | December 2011 | 6.5 years | | Aurelia | 10506 | June 2016 | 2 years | | Knockout | 8894 | July 2010 | 8 years | +------------------------------------------------------------+
Shortest 2.5 It's not that long - Less than half the iteration cycle of a traditional desktop system , That's enough to say . So what's the reason for this rapid , Even unsustainable change ？
The advantage of this architecture is that , With the emergence of new practices , It's easy to adjust , This is for fast innovation （ As in the past few years ） It makes sense . The disadvantage is that it increases the scope of the change , And it requires a lot of scrutiny .
Of course , There are other ways to validate Libraries ： Can pass Github Question read and search StackOverflow. You can do some tests , Even check the source code yourself . But it takes a lot of time .
From completely blank , It makes things simple . You are very Buddhist , So start by choosing a simple framework . That sounds good （ It's also your only choice ）.
As a quasi system, it doesn't work , So the task of choosing a secondary library falls on your shoulders . If you're doing front-end work , It may be Redux And API Requested Library . If it's the back end , It may be Express Middleware .
And then you start searching for , One of the search results came from Medium( Translation notes ： Bokee.com ) The blog recommends X.js. The author of this blog is X, But she never made it clear that this particular conflict of interest .Medium It's the same for all blogs on , So we can never use popularity as our reference standard .
You missed and pointed out X.js In response to some important deficiencies in , because Medium In deliberately ignoring . And then continue to search , Found out Y.js.
This time you're in Twitter Find a link on - Over a hundred likes ！ This should be trustworthy , After all, so many people are themselves " Check " 了 . You've got a "like" in your thanks , And then it jumps to Github Link to .
But not so fast . This link is too old - The library is now obsolete . You can see that ,DEPRECATED The word is everywhere , It's very eye-catching .
Y.js yes “ object-oriented ” Of . You think it's a good thing , A faint recollection of ComSci The first year was about Smalltalk And something about messaging . But obviously it's very bad .
Another article Medium The blog on is trying to explain why , Although the reasoning is a little fuzzy , And packaging in terms you don't know . Later it turned out that , The term was invented by the author of the blog , The authoritative reference links in this article are also from his own blog .
therefore , You will turn to Z.js, This library has more star, The documentation doesn't seem to be very useful . Although it lists a lot of ways , But how to actually use ？ At least see that it uses a type called “ standard JS” Things that are , You think it's related to ECMA The standards committee is concerned with ？ Not really .
But how to avoid these holes ？ Who's going to help you avoid the pit ？ Senior developers are also learning . We're all involved in the pursuit of the latest technology , In the whirlpool of catching up with the tide , Just to keep up to date and keep jobs .
A good Web Front end development engineers should have breadth in knowledge system , There's also depth , So it's hard for many big companies to recruit ideal front-end development engineers even if they pay high salaries . So how to systematically learn the practical web Front end technology , For this purpose, a web Front live class learning buckle skirt ,web The front number is 491 ,web The number in the middle of the front end is four ,web The front end is 389 , Just connect the numbers . Those who really want to learn can enter , Don't waste your time on soy sauce makers . Now the point is not to explain technology , It's more about explaining the skills . Technology is not black or white , Only right and wrong , And the skill is different .
Like most complainants , I just want to express my dissatisfaction , Instead of solving them . But I have some ideas ：
Medium It's a little difficult to distinguish authoritative content on . Blogs used to allow good writers to create their own visual themes , Help visitors identify sources that have helped them before .
Beware of self promotion
I don't have any problems with good content , But there are also a lot of dishonesty ： Self quoting , Invention terms （ for example ’Standard.js’）
Consider a non microlibrary Architecture
Try to provide a large area of functionality , And you don't need a lot of plug-ins to improve productivity frameworks to start your project - This will immediately reduce the scope of the change . This is my right to Vue.js One of the reasons for great interest . You can also change React As part of a starter kit or larger framework , Such as Next.
Don't over satisfy unreasonable needs
The only person who needs to know the details of the entire company's technology stack is the freelance contractor , They get a decent salary to complete the project . otherwise , Most employers don't need you to be up to date React The details of the . therefore , Avoid the requirement to learn everything ： Most of them are useless .