In this article, we'll look at the community and tooling created around several popular front-end tools:
- Angular 1
- Angular 2
If you're interested in more, this article is part of a series:
- Part 1: Performance.
- Part 2: Code Structure
- Part 3: Community
- Part 4: Reviewing Performance (coming later)
At best, we can make estimations using existing quantifiable data. I've posted a lot of the results as percentages in a stacked-bar graph, with the numbers & links below. Check the numbers for yourself, and make any recommendations in the comment section below.
Often "Blaze" had to be substituted with "Meteor" as a whole, but until now the two have been so intertwined that the results should hold up.
We'll try to measure community activity through four targets:
- Packages / Libraries
- Project Health
- Education Resources
Packages / Libraries
The more packages and libraries are available, the easier it is to create apps quickly and easily.
Different sources were used because each framework has a different primary package manager. Note that Angular is beginning to move towards NPM.
A frontend tool that's going to stick around requires a community contributing back to it. It should received frequent updates as issues are posted and closed.
|Blaze||14||19||4||108 / 314|
|React||472||1517||6||448 / 1646|
|AngularJS||1286||634||23||942 / 5361|
|Angular2||110||2273||22||389 / 1354|
Blaze does not have it's own repo, making it hard to measure. Contributors & commits were counted for the official repos at 'meteor/blaze' & 'meteor/blaze-tools'. The number of open and closed issues were counted by searching the meteor repo for 'is:issue is:open Blaze'. Blaze releases are listed.
Also bear in mind when each project started:
- Blaze: 2014
- React: 2013
- AngularJS: 2009
- Angular2: 2015
Popularity doesn't always mean a project is good, but it is a healthy sign.
Blaze stars weren't available as it does not have it's own repo. Numbers were taken from the older unmaintained Blaze repo linked to above. I've included the Google Adwords search terms below. Reddit subscribers were taken for the largest reddit groups for each tool. I frequently had to substitute "Meteor" for Blaze to get results.
Adwords Search terms: Blaze: Meteor Blaze, Meteor.js Blaze, Blaze.js, Blaze Meteor, Blaze Meteor.js, React: React.js, ReactJS, Facebook React, AngularJS: AngularJS, Angular.js, Angular2: Angular2, "Angular 2", "Angular 2.0"
A community needs a way to promote and learn about updates, changes and new ideas.
I find it somewhat shocking that there there is still no organized Meteor conference.
Podcasts Notes: Meteor: The Meteor Podcast React: React Podcast,
Angular 1/2: Adventures in Angular, Angular AirAngular 1 & 2 combined.
Conference Notes: React: ReactConf, ReactRally, ReactEurope, AngularJS/2: NgConf, Ng-Europe, Ng-Vegas, AngularConnect, AngularU, Angular Summit, NG-NL. Angular 1 & 2 combined
We can attempt to measure who already claims to have certain front-end knowledge, as well as which job opportunities are in demand.
last 3 days
Current demand for jobs is not a great predictor of future demand; however, as it stands, there is both supply & demand for AngularJS devs. Also, I'm unsure why LinkedIn has no searchable data for React.
Monster & Stack Overflow Careers search notes: Monster.com searches were limited to just 3 days because they quickly go over 1000 and become unmeasurable. Search queries: Blaze: 'Meteor, Meteor.js, "Meteor js"', React: 'React, React.js, "React js"', AngularJS: AngularJS, Angular.js, "Angular JS", Angular2: "Angular 2"
Though there are no clear numbers to measure a community, there are enough metrics out there to get an idea. We can draw a few obvious conclusions from the data here as well.
- Blaze could be more actively developed and maintained
- The React community is growing
- The Angular community is alive and well
Clearly, the Meteor community itself has room to improve. Contribute & communicate to help make it better.
In part 4 (coming later), we'll review performance in more detail.