List of Awesome JavaScript Frameworks based on The Ultimate Guide to JavaScript Frameworks.
The Progressive JavaScript Framework. It is widely considered to be the easiest to learn. It is similar to React in many respects, but also has things in common with AngularJS — for example, directives and templates. Vue's relative simplicity, developer experience, and good performance have contributed to a huge surge in its popularity.
A declarative, component-based, efficient, and flexible JavaScript library for building user interfaces, as opposed to a full framework like Angular. Concerns like routing, state management and data fetching have been left to third parties. This has resulted in a large and very active ecosystem around React.
One framework. Mobile & desktop. It is a full-featured and opinionated framework that provides defaults for data fetching, state management, development language, and build toolchain. Perhaps the most notable feature of Angular is its use of TypeScript as the development language. This has made the framework well-suited to those coming from traditional object-oriented languages like Java and C#, as TypeScript takes inspiration from those languages.
In 2013, AngularJS was the most popular framework. Some of the factors contributing to its popularity during that period were its MVC architecture, declarative programming style, two-way data binding, and robust feature set. AngularJS has an opinionated approach and aims to provide developers with a complete solution. Despite the growth of its successor project, AngularJS is still widely used and is in active development.
Authored by Jeremy Ashkenas, who also created CoffeeScript, Backbone was initially released in the fall of 2010. A key part of the Backbone ecosystem is Marionette, a framework that simplifies development. Backbone is significant because it was one of the first frameworks to bring more structure to front end applications by implementing a MVC pattern. In recent years Backbone has seen a decline in usage, although it continues to be shipped in the latest version of the Drupal content management system.
Ember was authored by Yehuda Katz, a prolific creator or contributor to numerous open source projects. Ember is based on the MVVM pattern and has a rich feature set. One of the major criticisms of Ember is its large size, which has a negative impact on performance. Ember is also viewed as having a steep learning curve and difficult to master.
Aurelia, authored by Rob Eisenberg, can be seen as a decendant of both AngularJS and Eisenberg's previous framework: Durandal. Prior to creating Aurelia, Eisenberg was a part of the Angular team. Aurelia is a complete framework. It provides core capabilities like dependency injection, templating, routing and pub/sub, so you don't have to piece together a bunch of libraries in order to build an application.
Elm is somewhat unique on this list. Rather than a typical framework, it's actually a separate language that compiles to JavaScript. However, it positions itself as an alternative to React: Elm is a functional language that compiles to JavaScript. It competes with projects like React as a tool for creating websites and web apps. Elm has a very strong emphasis on simplicity, ease-of-use, and quality tooling.
If performance is your primary concern, Inferno might be the framework for you. Originally authored by Dominic Gannaway — now a member of the React team — Inferno was initially designed to prove that a JavaScript framework could perform well on mobile devices. Inferno started as an idea to see if a UI library could really improve the experience, battery, memory usage and performance on mobile devices.
Polymer is a Google-backed libary focused on Web Components, a proposed group of technologies that are currently not well-supported in browsers. Polymer, along with the Polymer App Toolbox, helps developers use these technologies today to build web applications. With Web Components, you can create reusable custom elements that interoperate seamlessly with the browser’s built-in elements, or break your app up into right-sized components, making your code cleaner and less expensive to maintain.
Authored by Jason Miller, Preact is a well-established React alternative that emphasizes small library size. Coming in at 3KB gzipped, Preact uses the same API as React and is compatible with much of the ecosystem. Preact itself is not intended to be a reimplementation of React. There are differences. Many of these differences are trivial, or can be completely removed.
In a way, Reason can be thought of as a part of the React ecosystem. However, it is much more than that. Reason is a syntax on top of the OCaml langauge. It can compile to JavaScript, but it can also compile to assembly and be used to build desktop and mobile applications. Reason is not a new language; it's a new syntax and toolchain powered by the battle-tested language, OCaml. Reason gives OCaml a familiar syntax geared toward JavaScript programmers, and caters to the existing NPM/Yarn workflow folks already know...
Authored by Rich Harris, Svelte takes a unique approach. It compiles your app at build time so that you ship the lightest weight code possible. Svelte has a crucial difference: rather than interpreting your application code at run time, your app is converted into ideal JavaScript at build time. That means you don't pay the performance cost of the framework's abstractions, or incur a penalty when your app first loads.