An overview of UI frameworks for web development
The impact of web development has been huge over the years. Due to the high portability and the growing demand in e-commerce, the need for quicker and easier tools is more evident than ever.
The creation of jQuery was a big step forward in web development, it was designed to simplify DOM manipulation, CSS animations, asynchronous calls (AJAX) and some other powerful tools, but the real beauty of jQuery was that this library was created to be “cross browser”. So now developers were able to save time when dealing with browser compatibility and CSS styling. This library was released in 2006 and up to this point, we still see it being used widely around the world.
The need to be pretty
Being able to develop faster was good, I know, but a large part of the web development time was spent on “making it pretty”. This led to the creation of the so called UI Frameworks. Tools that created an easy access to personalized elements that will help the developer to create rich UI layouts while keeping a close eye on the background functionality and even working with data binding to help with the N-Tier architecture.
The popularity and use of UI frameworks has grown over the years, leading to an increasing repertoire of options that may confuse many developers, leaving you thinking “what is the best framework to learn?” or “which framework will land me a better job?”. The truth is, any UI framework will suffice, most of them are based on the same principles and they don’t require too much of your time to learn the basics, and it will be your next client/employer who may make the decision to use one or the other. It all depends on your skill to adapt and implement your goals.
Next is a list of some of the most known open-source frameworks and a brief description aimed to give you a high-level understanding of their features.
Angular JS / Angular
This is one of the most popular frameworks, mainly maintained by Google, this framework is aimed at single page applications. By December 31st 2021, Google will drop support for the first version of this framework (AngularJS), so it is recommended to work with V2 named just Angular. Angular was designed to work on the front-end part of MVC architectures as well as MVVM due to its two-way data binding capabilities.
This is another popular framework maintained by Facebook oriented to be used for single page applications and mobile applications (due to Facebook’s nature). React is focused on state management for the Document Object Model (DOM) and it does not provide routing and some other client-side functionality.
Unlike the previous, this framework is not maintained by big corporations and communities, but over the year it has gained more attention from all kinds of developers. Vue JS core is aimed to the view layer only in a component-based architecture, but currently there are other supporting libraries such as Nuxt.js that will provide the complex functionality like routing, state management and tooling.
Much like the other frameworks, backbone is oriented to create UI components, maintain the data in models and work with client-side functionality and focus on single page applications. To achieve full N-Tier functionality, backbone relies on RESTful JSON and Underscore.JS, but as most UI frameworks, they are focused on the view side.