2017 JS Framework review: React Ecological system

Source: Internet
Author: User


(Click on the public number above to be quick attention)





English: Laurie Voss: Grape City control



Www.cnblogs.com/powertoolsteam/p/state-of-javascript-frameworks-2017-part-2.html






In the previous article, we covered the overall context of the 2017 JavaScript framework. We also understand that in many front-end frameworks, at present the largest and fastest growing in the react, this article will focus on the react ecosystem.






First look at the ecosystem of the packages associated with react. At the beginning of Facebook's construction of react, there were a number of packages from Third-party libraries in the open source community. These packages use react to complement other features to provide a complete application solution. Of course, there are competing relationships in the installation package that provide similar functionality.

react Router






A common feature of a rich Web application is that it provides multiple routes. These "routes" are essentially different blocks of functionality that appear as separate URLs in the browser. React does not need to use routing for simple applications, and routing is not required in some desktop and mobile application environments. Therefore, although react Router is the most popular routing solution for react applications, react Router is only half as popular as react.



The developers who understand react know that react is applied to a well-defined problem area and has well-defined interfaces, which makes it possible to apply to a wider range of applications than originally designed. While this approach increases the developer's use of the react pool, it also promotes react, expands the react ecosystem, and creates a useful cycle. React as a part of the solution is inherently less convenient than the complete framework of ember and angular. 

Flux






React as an incomplete solution, one of the unresolved issues is the data-tier portion of the application. When react was introduced, Facebook also introduced Flux, a method of managing state in applications, and GRAPHQL, a system for communicating between clients and servers. Both are less popular than the react itself.



Flux was launched shortly after react, but was not popularized until the middle of the 2015. During this period, Flux with react Router, which also indicates that Flux and react Router are being used in conjunction with network applications. However, after the middle of 2015, the trajectory of Flux and react Router was greatly differentiated, and Flux slowly declined in popularity. 

Redux






One reason for the decline in Flux popularity is the rise of redux. Redux and Flux are the exact same parts of the application's functionality, Redux was launched in the middle of 2015 and the usage rate increased rapidly, while Flux gradually slipped during the same period. Redux is now nearly as popular as the React Router, and the two are closely interrelated and increasingly popular. This also indicates that Redux has replaced Flux as the preferred state management system in react network applications.

  MOBX






MOBX was launched in the middle of 2016 and is also a competitor for Flux and redux. Although the utilization rate of MOBX is not high, it is now growing rapidly and deserves attention. 

RXJS






RXJS is another competitive state management component of Flux and redux. The prevalence of RXJS is not statistically good. First, the RXJS has two existing versions, one is the traditional Rx and one is the current version of RXJS. These two versions of the download are very large, where the RX download is declining, while the RXJS download is growing.



The use of RXJS is essentially a driver for other project dependencies, especially for the angular CLI. This means that all drives using angular need to use the same RXJS. At the same time, Rxjs was also merged into other popular command-line tools.

  graphql






GRAPHQL and react were developed by Facebook at the same time, but there is no intrinsic link between the two. GRAPHQL is a way for WEB clients to query server data. GRAPHQL is popular through two competing libraries called Relay and Apollo, and Relay and Apollo provide a WEB application for generating graphql and managing data streams.



The Relay was first released and growing, but the Apollo released six months later rose faster and more popular, and the growth rate was accelerating. Although the absolute number of GRAPHQL developers is still very small, Apollo's growth trajectory means that GRAPHQL is well worth the attention of developers. An overview of the react ecological system






The following conclusions can be obtained through the 12-month change trend of the react ecosystem in the above figure:



The use rate of Apollo is increasing rapidly.



The use rate of Flux is declining.



React Router and Redux are both very popular and have a close connection in their use.



MOBX has a good growth rate, but its usage is far from reaching redux.



The ecosystem of react itself is enormous.









I think this article is helpful to you. Please share it with more people



focus on "front-end encyclopedia" to improve front-end skills





Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.