AngularJS is doomed
AngularJS has officially reached its end of life and long-term support has been discontinued. It will still be available but will receive no more updates - including no more security patches. Which is a problem.
The global pandemic gave it an extended period of grace but as of December 2021, Google has pulled the pin. So where does that leave us?
Google is encouraging users to upgrade to the successor, Angular, but should we?
There are many options to this leviathan - most of which offer smaller file size, faster load times and it's easier to find new developers.
10 Fleet-footed Alternatives (in no particular order)
React
React is a declarative, efficient, and flexible JavaScript library for building user interfaces. It lets you compose complex UIs from small and isolated pieces of code called “components”. React was deployed by Facebook in 2011 and 2012. Instagram was written entirely in React. According to the JavaScript analytics service Libscore, React is currently being used on the homepages and other web pages of Netflix, Imgur, Bleacher Report, Feedly, Airbnb, SeatGeek, HelloSign, and others.
Vue
Vue is a framework and ecosystem that covers most of the common features needed in front-end development. But the web is extremely diverse - the things we build on the web may vary drastically in form and scale. With that in mind, Vue is designed to be flexible and incrementally adoptable. Depending on your use case, Vue can be used in different ways:
- Enhancing static HTML without a build step
- Embedding as Web Components on any page
- Single-Page Application (SPA)
- Fullstack / Server-Side Rendering (SSR)
- Jamstack / Static Site Generation (SSG)
- Targeting desktop, mobile, WebGL, and even the terminal
Aurelia
Aurelia is an open-source UI JavaScript framework designed to create single-page applications (SPAs) that doesn't behave like a framework. It's been built from the ground up using modern tooling and ECMAScript 2016 with full support for TypeScript. Its architecture is a series of collaborating libraries and WebComponents woven together with plain modern JavaScript. Aurelia is designed to help you create applications for browsers, mobile devices, or the desktop.
Backbone
BackboneJS is a light weight JavaScript library that allows to develop and structure client side applications that run in a web browser. It offers MVC framework which abstracts data into models, DOM (Document Object Model) into views and bind these two using events.
Polymer
Polymer.js is an open source JavaScript library developed by Google. It is developed to allow reusing the HTML elements for building applications with components. Polymer.js provides the simplest way to create custom HTML elements because its library is built on top of web standards API.
- Polymer.js uses Google material design to develop hybrid mobile applications. So, it is fast and easy to develop mobile applications.
- Polymer.js facilitates you to create your own customised and reusable elements by using polyfills web components specification.
- It facilitates you to create reusable widgets.
- The custom elements of Polymer.js are distributed across the network and facilitates users to use these elements with the help of HTML Imports.
Meteor
Meteor is a full-stack JavaScript platform for developing modern web and mobile applications. Meteor includes a key set of technologies for building connected-client reactive applications, a build tool, and a curated set of packages from the Node.js and general JavaScript community.
- Meteor allows you to develop in one language, JavaScript, in all environments: application server, web browser, and mobile device.
- Meteor uses data on the wire, meaning the server sends data, not HTML, and the client renders it.
- Meteor embraces the ecosystem, bringing the best parts of the extremely active JavaScript community to you in a careful and considered way.
- Meteor provides full stack reactivity, allowing your UI to seamlessly reflect the true state of the world with minimal development effort.
Sencha EXT
Sencha Ext JS is the most comprehensive JavaScript framework for building data-intensive, cross-platform web and mobile applications for any modern device. Ext JS includes 140+ UI components, such as HTML5 calendar, grids, pivot grid, D3 adapter, trees, lists, forms, menus, toolbars, panels, windows, and much more which helps make it one of the best Javascript libraries. The robust data package included in Ext JS decouples the UI components from the data layer.
Knockout
Knockout is a JavaScript library that helps you to create rich, responsive display and editor user interfaces with a clean underlying data model. Any time you have sections of UI that update dynamically, KO can help you implement and maintain it more simply.
Elegant dependency tracking - automatically updates the right parts of your UI whenever your data model changes.
- Declarative bindings - a simple and obvious way to connect parts of your UI to your data model. You can construct a complex dynamic UIs easily using arbitrarily nested binding contexts.
- Trivially extensible - implement custom behaviors as new declarative bindings for easy reuse in just a few lines of code.
- Pure JavaScript library - works with any server or client-side technology
- Can be added on top of your existing web application without requiring major architectural changes
- Compact - around 13kb after gzipping
- Works on any mainstream browser (IE 6+, Firefox 2+, Chrome, Safari, Edge, others)
- Comprehensive suite of specifications (developed BDD-style) means its correct functioning can easily be verified on new browsers and platforms
RIOT
RIOT is another JS framework. It combines HTML, CSS and of course, JS. It allows you to create components that can be used more than once. It is a very small size/lightweight Web Component based UI library to develop web-applications. It combines the benefits of React.JS and Polymer with very concise implementation and simple constructs to learn and use.
Ember
Ember.js is a free JavaScript client-side framework used to design web apps, and it is open source.
It is a component-service framework that focuses on a layer-by-layer application development experience using precise components while maintaining a light layer on top of JavaScript.
Ember also includes a lot of backward and forward compatibilities, which makes it easier for businesses to keep up with the latest Ember versions and community-driven practices.
The verdict
The front-runners, decided by the big players out there, have to be React and Vue.
Which will it be for HealthMetrics? Stay tuned.