It is like the old proverb, “It takes a village to raise a web framework.” As we explored in the previous post, choosing a framework goes beyond the technical features of a framework and this is certainly true when it comes to the wider community, which includes considerations like licensing, how open the framework is, and where to turn for education and support.
While each web framework we have been discussing is an open source framework, there is a wide spectrum of what that actually means and how it affects the use and future development of a framework. Also, when choosing a web framework, you are to some degree, choosing to participate in a community of developers and fellow users. How this community works and behaves can also have an impact on you and your team’s ability to build the web applications you want to build.
This is part of a series on web frameworks. If you’ve missed our previous posts, you may want to start with If we chose our JavaScript framework like we choose our music…
Overview
In this post, we are going to explore each framework from three different aspects. First, we will provide an overview of the community, what commercial organizations support/fund the development of the framework, how open is the project, what sort of licensing considerations and other tidbits that are worth noting.
Then we will provide information on where to go for learning and educating yourself on the framework and finally, we will discuss where to go for support and what options there might be for commercial support.
Jump to:
Angular 2+
Community overview
Angular is highly popular, which has led to a large community with lots of resources. The official Angular resource page provides links to many of the community resources. While Google creates the most resources for Angular development, the Angular development team is a diverse group of software engineers.
Angular 2+ is licensed under the MIT License. We are not lawyers, but the MIT License is generally considered a very liberal and commercially friendly license. The copyright for Angular is held by Google, Inc. Angular does not belong to an independent open source software foundation.
Being an open source project, Angular actively looks for community contributions, providing guidelines on how to contribute. Angular has a code of conduct which is intended to ensure that members of the community treat others with respect.
There are several Angular 2+ events that are promoted on the Angular website as well as many other community groups that meet on a regular basis.
Learning and education
The main education resource is the angular.io Docs which provides the fundamentals of developing applications with Angular 2+. The resources page has an Education section which provides links to books, workshops, on-site training and online training. There are also links to community groups and podcasts listed.
As is to be expected with a popular framework, there is a wide spectrum of community and commercial organizations involved in the Angular 2+ training.
Support
The Angular 2+ team directs their users to StackOverflow and Gitter for support. Regressions, bug reports, feature requests or documentation issues are managed on GitHub.
There are several commercial support options, including SitePen’s on-demand development and support.
React + Redux
Community overview
React and Redux are highly popular, which has led to a large community. For React, there is a specific Community page which provides information on support and participating in the community, conferences, and video highlights. It also links to complementary tools and examples. The React project is part of the Facebook Open Source, an initiative at Facebook to make their tools and technologies open to the world. Redux is maintained by the reactjs GitHub organization. The organization is designed to ensure that open source projects that are important to the React community have a long-term home to provide support and maintenance.
React v16.0+ is licensed under the MIT License. The copyright is held by Facebook, Inc. Versions from 0.12.0 to prior to v16.0 were released as BSD-3 Clause patents. Again, we are not lawyers, but the plus patents caused a lot of controversy in the React community, with many commercial organizations stopping the use of React based on legal advice that the plus patents was a legal risk to the using organization. This led Facebook to reconsider its position on the license and to relicense the library under the MIT License. Prior to 0.12.0, React was licensed under the Apache License 2.0.
Redux is licensed under the MIT License. The copyright is held by Dan Abramov.
React and Redux share a code of conduct which is intended to ensure that members of the community treat others with respect. React and Redux do not belong to an independent open source software foundation, something that we feel would have helped with the recent challenges around the licensing controversy.
As discussed several times in this series, React + Redux are likely not an entire set of libraries that would be used to build a web application. This means that each package will have its own license and copyright concerns.
Learning and education
The React Docs page provides a fairly extensive set of basic and advanced information on React. They have a main Tutorial which provides an in-depth tutorial covering the main aspects of React. The Redux website is wholly focused on educating people on using Redux.
The Articles and Videos page on the Facebook GitHub wiki provides links to several resources providing information on different topics and well as links to free online courses.
There are also paid online and on-site educational courses available from various commercial organizations.
Redux has an online video series from its creator, provided in two parts. There is Part 1: Getting Started with Redux and Part 2: Building React Applications with Idiomatic Redux
Support
React provides a guide to getting support which directs individuals to StackOverflow, the discuss.reactjs.org discussion forum, Hashnode’s React node, Reactiflux Discord chat, or #reactjs on Freenode IRC.
For Redux, users are pointed at #redux on Reactiflux Discord.
There are several commercial support options, including SitePen’s on-demand development and support.
Vue.js
Community overview
Vue is actively developed and encourages community participation. It has a Gitter.im room, a lively forum for announcements and community support, Twitter account, and blog. Having said that, over 90% of Vue.js is written by Evan You.
Vue held the first VueConf in June of 2017, a 2-day single-track conference with another day of workshops. The first US-based VueConf is scheduled for March 2018.
Vue is MIT licensed and is copyright Evan You.
Vue accepts donations through PayPal and pledges through Patreon.
Learning and education
Vue provides in-depth guides for the framework itself and several of the main addons such as vue-router and vuex.
In June, Vue held the first VueConf, which included 3 full-day workshops covering state management, animated interfaces, and general advanced topics.
Vue provides a Gitter.im room and forums where users can interact with developers and the community at large.
Several online training sites offer Vue-specific courses, such as Udemy and Lynda.
Support
Support is provided through the Gitter.im room and forums, and by filing issues in the main repo.
Commercial support is available via SitePen’s on demand development and support.
Dojo 2
Community overview
Dojo 1 had a large but now shrinking community. Dojo 2 is rebuilding its community efforts from the ground up.
Dojo 2 is actively developed and encourages community participation. Dojo 2 has a Gitter.im room, a newly created forum for announcements and community support, Twitter account, and a new blog. The GitHub packages for Dojo 2 are very active with updates nearly every day. Community interest in the project has been growing as Dojo 2 reaches its release.
Dojo is BSD licensed and is completely free to use. The project is currently considering a dual license under the Apache 2 license. Dojo has a code of conduct which is intended to ensure that members of the community treat others with respect.
Dojo is a founding project of the JS Foundation, being an early champion for running open source projects in the open and not under the control of a single organization. That said, the majority of Dojo 2 development to date has been conducted by the team at SitePen.
Learning and education
As a new project, Dojo 2 is very early in their efforts to create educational material. The project website currently has an initial set of tutorials, with plans to add a reference guide, cookbook, and online video tutorials. Training workshops do not exist yet for Dojo 2, but will likely be offered by SitePen and other training providers.
Support
Dojo 2 has a new support forum for announcements and community support. The organization also encourages feedback and issues via each GitHub repo and questions via Stack Overflow.
Commercial development and support is available via SitePen’s on demand development and support.
Ember
Community overview
Ember is the most mature of the frameworks compared in this series, and has a smaller, but highly loyal and active community. Spearheaded by project co-creators Yehuda Katz and Tom Dale, Ember remains actively maintained and developed.
Ember is licensed under the MIT License. The copyright for Ember is held by Yehuda Katz, Tom Dale, and Ember.js contributors. Ember does not belong to an independent open source software foundation.
Being an open source project, Angular actively looks for community contributions, providing guidelines on how to contribute. Ember has a code of conduct which is intended to ensure that members of the community treat others with respect.
There is an annual EmberCamp event as well as many other community meetup groups that meet on a regular basis.
Learning and education
Ember provides in-depth guides for the framework itself and several of the main packages. The community has a solid collection of curated resources and examples on both the Ember website and on Ember Watch.
Ember encourages asking questions via Stack Overflow or the Ember forum. Ember provides a Slack channel or IRC channel (#emberjs on irc.freenode.net) where users can interact with developers and the community at large.
Several online training sites offer Ember-specific courses, such as Ember School and Lynda.
Support
Beyond the extensive community support, Tilde, founded by Ember co-creator Yehuda Katz, provides Ember training. Commercial support is available via SitePen’s on-demand development and support.
Aurelia
Community overview
Aurelia lists itself as one of the only two “main-stream, open-source SPA frameworks with official commercial backing (Ember is the other).”. This is a statement that ignores both Vue.js and Dojo. They have a Gitter.im, which does seem to be fairly active, and their GitHub repositories are fairly active as well. Overall it seems like most of the support comes from the small group of maintainers, but they have a vested interest in the framework and officially support it so they are pretty on top of things.
Aurelia is licensed under the MIT License. The copyright for Aurelia is held Blue Spire Inc. Aurelia does not belong to an independent open source software foundation.
Being an open source project, Aurelia actively looks for community contributions, providing guidelines on how to contribute.
There are many community meetup groups that meet on a regular basis.
Learning and education
As an individual, the documentation, which includes guides and API docs, is probably a pretty good start. If the docs are insufficient, the Aurelia gitter channels seem to be a pretty good resource for additional questions. For a team, those would also help and of course they provide commercial training as well. There is also an Aurelia in Action book available.
Support
Commercial support is available straight from the source or via SitePen’s on-demand development and support.
Summary
In general, each of the surveyed frameworks has a solid community. Due to their size and popularity, the Angular and React plus Redux communities are the largest, the Vue and Ember communities are strong, the Aurelia community is smaller but very active, and the Dojo 2 community has a solid foundation in place as they work on a final release.
Angular, React plus Redux, Ember.js, and Dojo 2 all have a diversity of contributors and authors. Vue.js and Aurelia are currently heavily reliant upon sole individuals who developed and maintain the frameworks. Only Dojo 2 is currently part of an open source foundation.
Feature | Angular 2+ | React + Redux | Vue.js | Dojo 2 | Ember.js | Aurelia |
---|---|---|---|---|---|---|
License | MIT | MIT or BSD (3-clause with patents) | MIT | New BSD (2-clause) | MIT | MIT |
Copyright | Facebook / Dan Abramov | Evan You | JS Foundation | Yehuda Katz, Tom Dale, and Ember.js contributors | Blue Spire Inc. | |
OSS Foundation | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
Support | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Angular 2+
Angular 2+ has a large community, driven by its popularity. While the community is led primarily by Google, there are many other organizations and individuals involved in the community. Of the top 5 contributors to Angular, only two currently work for Google. There are many choices around learning materials as well as ways of getting support.
React + Redux
React + Redux has a large community, driven by its popularity. For React, the top 5 contributors currently work at Facebook. Redux was developed by Dan Abramov before joining Facebook and the second top contributor does not work at Facebook. There are many choices around learning materials as well as ways of getting support.
One of the biggest challenges is that the two libraries together do not provide a complete solution. Looking at the complementary tools for React will highlight just what a large ecosystem it is and how many choices a team or developer needs to make, all with varying degrees quality and options around support.
Vue.js
Vue.js has an active and thriving community with the effort spread across many organizations and companies. It may be worth considering though the risk of it having essentially a single committer in Evan You. There is no shortage of resources and community help for learning and using Vue.js, and commercial training and support options are available as well.
Dojo 2
Dojo 2 is a new project and does not yet have a large community, though Dojo 1 had a large community at various times. There is a fairly wide diversity of contributions across packages for Dojo 2, though the vast majority of the code for Dojo 2 comes from current or former employees of SitePen. The Dojo 2 team is working to provide a solid foundation for community support for the Dojo 2 release. Commercial support options are available directly from the active contributors to Dojo 2.
Ember.js
Ember has a solid and stable community and a solid history of providing a supportive community. Ember has a huge diversity of contributors, with the top 5 contributors either working for LinkedIn or Tilde. Ember provides extensive documentation, resources, and support channels, with various training and support options available.
Aurelia
Aurelia has a smaller but loyal and active community. Over 90% of the main packages are authored by Rob Eisenberg, so again it may be worth considering the risk of depending on a single individual. Official training and support options are available from both the community and commercial options are also available.
Up Next
In the next and final track of the series, we’ll summarize our thoughts after this in-depth look at frameworks and provide some final conclusions.