Top front-end frameworks
The reviews that follow are based on my experience and that of my teams. (I encourage you to leave any thoughts based on your own experiences in the comments below.)
Angular arguably has the most extended history of any on this list. Initially developed by Google in 2010, it was subsequently released as an open-source project. The framework consistently receives updates with significant releases typically delivered every six to nine months. The current major release is version 9.1.
There is strong developer support for Angular. The documentation on the site supporting Angular development is excellent and, as a developer, you will find a lot of great how-to videos on YouTube to get you started.
Angular is also a critical component of the MEAN development stack consisting of MongoDB, ExpressJS, Angular, and NodeJS.
Angular's age can present a problem. In 2010, developers weren't building mobile web apps, so for several years, additions were shoehorned into Angular to accommodate them. In 2016, Angular was rewritten with TypeScript and released as Angular 4. The original version, AngularJS, was renamed as Angular.
Unfortunately, previous versions of Angular aren't compatible with the new TypeScript version in Angular 4. That's important to know if any part of your organizations has used Angular and you're thinking of going this direction for compatibility reasons.
Angular has grown and adapted to modern development needs. If you go this route, use the newer Angular 4 and later versions for building Angular apps. And be sure to keep a close eye on the Angular blog to keep up with the latest improvements to the framework.
Many development groups will choose either Angular or React as the base foundation for their web applications. The logic makes sense, and both are mature. Both deliver applications that can run massive web apps, and both have strong communities where developers can share information.
Some very large companies—including Facebook, Netflix, Dropbox, Airbnb, and Reddit—use React as their front-end framework. These sites receive millions of views per day. React has proved itself to be able to scale and meet the needs of the most demanding web apps.
Additionally, the skills you learn for React also apply to ReactNative, a framework that developers can use to build native applications that run on the iOS and Android mobile operating systems.
The learning curve with React is steep, but the result is a modular architecture that can support the most demanding websites. Facebook and the open-source community continue to invest in the growth of React, which ensures that investing in React will reward you for years into the future.
The selling point for Vue is the size of the framework. At only 20KB, this is one of the most lightweight frameworks on the list. The inspiration for Vue came from work the original developer completed on Angular. In 2014, Vue was released as a slimmed-down alternative to Angular and has maintained a cult following ever since.
Many developers rank Vue as a third-choice framework, behind Angular and React. To this end, the community supporting Vue is much smaller, and the development of the framework is not as robust as other, more popular frameworks.
Vue is an excellent alternative framework to learn and leverage as you need. It is a contending framework and could potentially be a smart alternative to Angular.
Ember is one of the younger frameworks on this list. Released in 2011, its focus is on helping you build complex web applications. It offers:
- More productivity right out of the box when compared to others on this list
- Stability without stagnation
- Support for HTML5
With these principles and continuous development, Ember is now in use for many large and popular applications, such as Apple Music, LinkedIn, and Square.
The modular architecture and many hundreds of plugins make Ember a framework that gives you a lot right out of the starting gate. Also, solutions built with Ember can be converted into native applications such as Apple Music.
Ember leverages modules to extend the framework. The challenge as a developer is knowing which modules you should be using. Besides, there is a learning curve required to get started with Ember.
Ember is evolving quickly into a mature and stable alternative for building web apps and native apps when compared to React.Native and Angular.
Svelte is the anti-framework framework. There are issues with some frameworks, such as a large codebase required to run scripts. Svelte, released in 2016, is driving the campaign to reduce the challenges of some traditional frameworks.
For instance, a simple To Do MVP application written with Svelte will weigh in at 3.6KB, whereas the same app written for React tops 45KB—10 times bigger.
Svelte can create tiny apps because of the model it uses for building applications. Other frameworks, included the ones listed above, rely on the web browser do the bulk of the work.