Which framework should you choose?
Written by Milos Aksentijevic 16 October 2018

JavaScript framework is popular among developers for such benefits like efficiency, safety, and cost. The variety of frameworks for each development platform is huge. It’s impossible to describe all of them and there is no need for it. Let’s narrow down our choice. As almost every company tends to have a website or at least a landing page, it would be good to review the most popular JavaScript frameworks.

For front-end developers, it’s increasingly challenging to make up their minds about which JavaScript application framework to choose, especially when they need to build a single-page application.

To simplify this choice of a JS framework for client-side development, we should reduce our options to several top solutions. For client-side development, our list of JavaScript frameworks includes React, Angular (Angular 2 or higher) and Vue.

Not every JavaScript-based “framework” we’ve just mentioned is an actual framework. But we can throw in several libraries to the pack and make those not-quite-frameworks feel like actual ones. We’re talking about React and Vue, which are both JS libraries for the view layer; and Backbone, which also only partially implements the Model-View-Controller (MVC) architecture. For the purposes of this overview, however, we’ll use the term “framework” loosely to refer to all five of these JavaScript solutions.

An up-to-date JavaScript framework must comply with several requirements.

  • First, modern frontend JavaScript frameworks must respect the Web Components specification. In modern client-side development, we should build custom HTML elements, and it’s great that all the frameworks we’re reviewing support Web Components.
  • Second, a solid JavaScript framework should have its own ecosystem. Ready solutions aim at solving various problems of client-side development such as routing, managing app state, and communicating with the backend to name a few.
  • Angular, React and Vue all adhere to the latest JavaScript ES6+ specification; also each of them has their own ecosystems. Now, we can jump into the reviews of these top JS frameworks.

Angular2+

3 Framework

  • Benefits
    The biggest strength of Angular 2+ is its popularity. It could be argued that having the name Google associated with it has an impact on organizations considering it. There is a strong market for developers. It is also one of the few frameworks compared in this series that has an official set of rich components for building user interfaces.
  • Cons
    We feel the Angular framework focuses on creating user interfaces in a single page application and does not address the larger concerns of a building a web application. This can lead to difficulties while maintaining projects if conventions are not established early. At a practical level, there is a lot of magic that occurs to provide run-time behavior that is not part of the core framework-provided technologies. This diminishes the value of TypeScript to the end-developer.
  • Why choose Angular?
    If you need to source skills in a framework at scale, where the skills are generally easily portable, or you need to train teams on a framework and have a level of confidence they will be productive in short order, you might consider Angular 2+. If your web applications translate well into a model view pattern, then you might also consider Angular 2+. If you are happy with the Google Material UX pattern, then Material for Angular is a quick, easy, and robust way to follow that pattern.

React + Redux

2 Framework

  • Benefits
    The biggest strengths of React and Redux are their relative simplicity and focus. Taking the mantra of doing one thing and do it well it is hard to find fault that both libraries achieve very effectively what they set out to do.
  • Cons
    The biggest weakness of both React and Redux are not what they are, but what they are not. To build a feature-rich web application, you need many other features and once you get away from the core of React, Redux and a couple of other libraries, you will find a hugely fragmented community, with countless solutions and patterns which may or may not be easy to integrate together.
  • Why choose React?
    If you are in a situation where you need less hand-holding and are looking more for good libraries than a comprehensive framework, then React + Redux might be right. You do need to be honest about the abilities of your team and organization, not only during your initial development but throughout long-term application maintenance.

VueJS

1 Framework

  • Benefits
    The ability to incrementally adopt Vue.js is likely the biggest strength. Vue has a concise and rational architecture which makes it straightforward to understand and easy to build upon.
  • Cons
    The desire to pivot between model view application and state container type applications can be confusing. It feels like there is a desire to remain relevant without fully embracing one application pattern over another. It feels to us that, at a minimum, it is confusing to those looking to Vue.js for a complete solution and could lead to inconsistent application patterns that are difficult to maintain.
  • Why choose Vue?
    If you have a legacy web application that needs a more robust and contained application layer, then Vue.js might be a good fit for you to adopt. It has clear patterns and even with inexperienced teams, there is a right way and a wrong way. While there are not any out of the box Vue UX frameworks, there are extensive sets of coherent frameworks built on Vue.js that might work for your project.

 

A framework is nothing more than an embodiment of some patterns, integration of some technologies, and source code to help make our web applications easier to build and maintain. Challenge yourself or your team to take a holistic look at a framework, but first, start with a list of what is important to you and your organization, especially those things that transcend technical features.

Although we’ve mentioned only tree web frameworks, professional developers should have an open mind as there’s no best JavaScript framework. There are many other examples of JavaScript frameworks and they are enough for building client-side apps.

All the best,

Milos Aksentijevic Front-end developer @ Quantox

BACK
Tags: , , , , , , ,

LEAVE A COMMENT

JOIN THE MAILING LIST