|Contributors with 10+ commits||45||54||13|
The following data below was pulled by builtwith.com, a website which scrapes the web, extracts, and reports on all known frameworks:
- Angular2 is used in 1,607 public-facing sites
- React is used in 144,221 public-facing sites
- Vue is used 26,819 public-facing sites
Here is a brief history of the release of Angular 2. In October 2014, the announcement of Angular 2 was in at ng-Europe. After this announcement, Angular 2 had a repository dedicated to it on GitHub in January 2015. Following this initial release of Angular 2 in January, the library left the alpha stage in December of 2015, and entered into the beta stage. Angular 2 remained in this beta stage for an additional 4 months, and was pushed into release candidate stage in September of 2016. Finally, the first official version of Angular 2 was released in September 2016. As evidenced above, it took nearly a year and a half before this framework became a production-ready product.
- Alpha Stage: Jan 2015 – Dec 2015
- Beta Stage: Dec 2015 – April 2016
- Release Candidate Stage: April 2016 – September 2016
- Production Release (Full): September 2016
The first chart, I looked at the release types.
React as a framework was open sourced 3 years after the Angular 1 release. Even with a later start in the open source community, React gained traction quickly. The first version of React was released in July of 2013. Looking through the versioning data, React was still under version 0, until March of 2016, with only minor versions released. In March of 2016, Facebook shifted the minor version number to the major version, and the bug version to the minor version. For example: v15.0.0 and v0.14.8. Below is a graph of the release schedule of the major versions of React. As evidenced with the graph below, the number of Major versions have decreased in 2016 than in previous years. To sum up, breaking changes are less likely to occur in React this year than in previous years, making React a fairly reliable framework to use and upgrade in the future.
Vue, a library that emerged out of from a personal developer, is a framework that is starting to take traction. Vue has had 3 major breaking versions since its initial release. Version 0, 1, and 2. Version 0 was released in May of 2015. Version 1 was released in January of 2016. Version 2 was released in September of 2016. Looking at their release cycles. Vue, on average, has a major breaking release every 8 months. Because of this, it is understandable that developers are cautious with moving to Vue.
A contributor is someone who contributes, or pushes code to GitHub for the open source project. When looking at adopting a product, it’s extremely important to see how many people are actually involved in the project.
Vue is contributed by mainly 1 person. Even though over 120 developers have contributed, 1 developer is mainly contributing. Vue has 1 main contributor which causes a high dependency on that 1 person.
Angular is far more stable because the number of people with more than 10 commits is at 54 developers. Because of this rather high number, the project is considered “stable” at a support level.
Though React has 1,040 contributors to the project, only 45 of them have more than 10 commits. React also is a “stable” project at the support level.
Stars, Forks and Watching
When a GitHub user forks the repository, they are cloning the source code into their own personal repository section under their profile. For example, here are a few that I have forked. A user also may decide to “watch” a repository. Watching means that you’ll receive notifications of the repository. Generally stars are the most popular because it involves the least amount of work to show interest in the project. Looking at the table posted above, React holds the lead for all three fields. It was shocking to see that Angular received the least amount of Stars, Forks and Watchings.
Any GitHub user can open an issue on the project. Issues can range from bugs to feature requests. There is a positive correlation between the number of stars and the number of opened issues.
Comparing the total number of tickets, it’s apparent that Angular has more reported issues than React and Vue combined. It’s also interesting to note that Vue, the newer library, has the same amount of issues as React.
From the research done above, we can conclude that the industry is moving towards React as a front-end framework. In summary:
- Breaking changes are less likely to occur in React this year than in previous years, making React a fairly reliable framework to use and upgrade in the future
- Vue, on average, has a major breaking release every 8 months
- Vue has 1 main contributor which causes a high dependency on that 1 person
- Angular has more reported issues than React and Vue combined