When starting a new project the same question always arises: What framework to use? In this document, 3 different frameworks have been selected. Thanks to their characteristics and popularity, can be a great choice
We chose Angular, React, and Vue since they have a great popularity index, fanbase, tools, and support, which differentiates them from the rest of the frameworks oriented towards front end development.
Through Google Trends we can see a popularity index led by Angular, followed by React and thirdly by Vue for the beginning of 2019.
According to a survey Stack Overflow conducted in 2018, which collected responses from more than 50,000 developers, Angular and React are the second and third most popular frameworks, respectively.
Understanding each framework
I want to provide an overview of each of these frameworks, plus some of their advantages and disadvantages, based on my experience with them.
It is a library created by Facebook for front end development. One of the key elements of this technology is that everything is a component, which helps when you want to create user interfaces (as this excellent GitBook explains, it is important to start thinking “in components”).
This serves both for the development of applications of a single page (Single Page Applications -SPA-) and for the development of mobile applications.
Advantages of React:
- React offers lightweight and easy component creation
- It is a very popular bookstore with a large number of followers and widely used by startups
- In turn, there are a large number of third-party extensions created by the community, which offers easy implementation of solutions
- Thanks to its focus on creating user interfaces, third-party extensions must surely be included in order to generate suitable solutions and, although these are many, their high availability can be tedious when choosing which of them to use.
It is a framework platform created by Google for the creation of single-page applications.
- It is an opinionated language: in the face of different problems there is “the angular way” of doing things, which provides a set of rules and good practices to follow to solve different problems
- It focuses on the creation of applications so it is very popular in organizations
- Large files and poor performance compared to Vue and React
- Angular claims to be component-based, but is actually made up of modules
It is a framework aimed at creating user interfaces that are very easy to integrate with existing libraries and projects.
- Provides the shortest learning curve of all, making it the easiest to use for developers just starting out with front end development
- It is not as inclusive as Angular but has more content “out of the box” than React, which makes it a very popular option for those just starting out.
- You can use your knowledge of HTML and CSS since it works through templates
- It is known for its good documentation
- It’s scalable, so it’s useful for both small and large applications (which is really why Alibaba uses it).
- Simplicity: its codebase is easy to maintain
- Useful for animations and interactive websites
- Vue is a new language, so it does not have a large community
- It may happen that it is impossible to find a solution to a certain problem
- Fewer extensions than React
When selecting a framework, any of the three turns out to be a very good selection. In this measure, it is necessary to identify which one will best suit the development team and the project requirements.
Despite this, its main problem is the need and selection of extensions; Thanks to its great freedom it can cause a great variety of problems since the choice of a solution is not always the most efficient
Vue is a library that grows in popularity by the day, but it is still relatively new, which can mean that solutions to different problems cannot be found. This can cause problems since it has many “magic” solutions over which you do not have much control.