Angular, VueJs, and React: How Does Tech Framework Affect Your Business?
Ultrahaus Advisory & Product Studio
Transforming ideas into impactful solutions with human-centric software for real-world business success.
When starting a project or pushing forward with an old one, your team faces a hard decision: what framework should we use?
There are many ways to approach this decision, and looking at every angle and discussing with your team is important to make the best decision. Deciding what framework to move forward with should come naturally once you fully understand the frameworks.
Angular, VueJs, and React are the most widely-used front-end frameworks, so we will use them to illustrate each topic. Here, the idea is not to compare the cited frameworks but to show a structured model that you can apply to any other technology comparison and get a better understanding before making a decision.
If you are a Project Manager, Product Owner, or any other role not involved directly with engineering, this article should help you talk to your team by learning more about the complementary aspects of technology.
What Is A Front-end Framework, and Why Is It Important?
First, when analyzing the better choice of anything, we need to understand the meaning, context, and concept of what we are discussing. When talking about some aspects of technology- like building software, the concepts (in general) are less extensive and have distinct meanings.
So, which front-end framework is best? The answer can seem obvious, but the question can be more complicated in reality. The three most used frameworks position themselves differently to the market, so any comparison between them is dependent on the context.
When building software, you don’t need to start from scratch. Frameworks are software created by and for developers, consisting of a set of tools to resolve common issues that your team will undoubtedly face.
The key here is that the framework be widely used and tested and, in general, have a vast community that will improve it and fix any security concerns. When using frameworks, you don’t need to reinvent the wheel.
Because frameworks exist to solve common problems, we can apply their patterns through a reliable and high standard. Each framework will resolve any issues in its own approach, but it’s up to the team to analyze each one.
Background and Use Examples
Getting some background understanding on the technologies on the table can give you interesting information that the documentation or the code couldn't give you.
In general, the date of release, who released it, and who supports its continuous development will give you an idea of how mature it is.
You don't want a non-mature technology on your production-ready project stack at the risk of it becoming a nightmare. Let's go through the frameworks, and you'll see how widely used they are but for different purposes.
Angular, The Complete Framework
Angular is the oldest one and positions itself as the modern web developer's platform. It was released in 2010 as AngularJs but was rewritten entirely in 2016 (and also removing the "Js" from the name).?
It's built on TypeScript and includes a complete set of tools to build applications for web, mobile web, native mobile, and native desktop. It's also super-powered by Google.
It's also used by big companies like Nike, Lego, Weather.com, and Paypal. Since Angular is the most complete framework and the one that opinions more on the software architecture, it is recommended for enterprise-class big projects.
VueJS, The Progressive Framework
Vue (pronounced as view) was created by a former Google employee in 2014. It positions itself as a progressive framework, defending the idea that it can be progressively adopted as you need.?
You can use Vue to enhance your static HTML, without a build step, or embedding as Web Components on any specific page, or even more as a full single-page application framework to manage your entire application.?
In other words, it progressively adapts to your project. Although there's no big company backing the project, the community is vibrant, and the adoption is ramping up.
Vue.js has big companies like 9Gag, GitLab, Baidu, and Alibaba Group. Vue.js is great if you want to start a small project that will grow calmly due to its flexibility and simplicity.
React, The UI Library
Released by Meta in 2013, it's positioned as a JavaScript library for building user interfaces. Meta uses it for many of its products, including Instagram, WhatsApp, and Facebook.
Other companies like Airbnb, Netflix, and Microsoft also use it for some projects. React is the good choice for startups, or developers learning about UI frameworks, and projects with tight deadlines.
License
When using open-source software, it’s important to go through its license- which can be confusing to understand all the acronyms that are involved.
There are licenses considered permissive like MIT, ISC, and Apache 2.0, and other copyleft licenses like APSL and GPL.
In my opinion, you should use the permissive licenses, like MIT. You can see a quick summary of what each license is and its requirements here.
领英推荐
The three frameworks we’re looking at in this article use the MIT license, which provides limited restrictions on reuse, even in proprietary software. Make sure you know all the implications when using those frameworks.
Here is a quick summary of the MIT license in plain English terms. Note that not following the legal obligations in your project can cause a serious legal issue later.
Which One Is The Easiest To Learn?
Often, the teams have members with different skill-sets. When you decide to incorporate a new technology, the learning curve from that may directly affect the project’s success.
Imagine that in the middle of the project, the demand for a specific skill is increased and your existing team needs some help. You may need to onboard some new members to the team. You might then face a challenge to accommodate the new members while keeping the original deadlines.
How can you mitigate the risk of those new members facing a steep learning curve to get started on the project? Let’s walk through the three frameworks.
React is the more objective framework in this comparison. It's a library to help you with the user interface. You can set up things and play in about one hour following the Getting Started documentation. Due to its objectiveness, it is pretty easy to learn. Of course, there are other libraries in the React ecosystem that are commonly used, and because of those, you will need more effort to make all those parts work together.
VueJs is the easiest to learn, in my opinion, compared to React and Angular. Although it can be a little more complex to set up, it's more intuitive and straightforward to use because of its syntax. Vue is a more complete framework than React, so you have a more cohesive ecosystem with several tools already integrated. In React, you must install third-party libraries for the same Vue tools.
Angular is the most complete by far, with an extensive ecosystem and tools that favor it for enterprise-class projects. Because of that, it depends largely on your project’s architecture and can give you a steeper learning curve. Despite that, it can be your choice if your team is good with Typescript.
Which Framework Is Most Popular?
Analyzing which framework is more popular will give you an idea of the preferences of other professionals. It's crucial to examine this point with the other factors, as a specific technology might be more trendy, which can create bias.
Popular technologies can motivate the team to use them, and the greater the acceptance of this technology, the faster it will be integrated into the project.
For example, to check the popularity of the technologies that we are analyzing, we can use the repository website where they are made available.
Above is the Github’s Starts graph (the number of people that added each framework to their favorite list), and accordingly to Github’s “Used by” badge (the number of repositories depending on each framework) we have:
Indicating that React is by far the most popular framework. For usage growth, Angular has grown by 15% the number of weekly downloads in the last year, while Vue has grown by 37% and React by 53%.?
Performance
In general, no matter how complex your project is, performance is vital. It directly affects the user's perception to judge if your software is good or not.
As they say, time is money, and as humans, we are masters in generalizing things. We have the ability to make judgments based on just one factor, like performance. So, do not waste your users' time.
Sometimes it can be hard to evaluate the performance of things, and depending on which type of tech you are comparing, this becomes even tougher.
You can ask your team to run performance tests, or you can make use of various online tools that provide you with this type of report. For example, Perf Track provides performance reports of thousands of production websites that use popular Javascript libraries like React, Vue, and Angular. Although you cannot use only this data to compare performance against each other, you can have a better view of how those technologies are performing on average.?
The Future
The IT industry changes fast. You might hear about new technology created or that existing technology is receiving a major upgrade in the media. However, the same usually cannot be said for unmaintained or depreciated technology.?
Although it's impossible to predict the future, it's important to keep in mind. Make a choice based on parameters that might give you some good indicators about the health of those projects. The popularity, as we discussed previously, and usage growth might give you an idea of the technology's longevity.
Key Takeaways
You can make your decision on what framework should be used by looking at:
In life, we can't have all we want. The silver bullet doesn't exist. You will hardly ever use the same tool for every project, unless you always do the same kind of project. This guide should aid you in making the right choice of framework for your business.