So let’s take a look at the pros and cons. To do that, we first need to go back in time.
Not surprisingly, you’ll see Angular being used in Google products such as Gmail, as well as in Microsoft Office, and by companies like Nike, Upwork, HBO and Samsung. It’s also popular among banks and finance-related companies, including Deutsche Bank, Santander, PayPal and Forbes; and airlines, like JetBlue and Delta Air Lines.
What is React?
As a product of the company now known as Meta, it’s the favored toolset for their family of applications and platforms, including Facebook, WhatsApp and Instagram. It’s also the toolset of choice for major companies including Slack, Netflix, Uber, Airbnb, Yahoo! and The New York Times.
Here’s the part about React that our clients are usually the most interested in: React comes in two flavors: base React and React Native. React Native is more for mobile – it’s geared toward quick-loading, platform-agnostic mobile apps and reusable components. However, Native lacks many of the advantages of the more established “vanilla” React (often referred to as Reactjs), notably in terms of security. For example. Native has fewer solutions for sensitive data storage, has a leaky abstraction layer and makes it relatively easy for hackers to decipher an app’s core logic (which is stored in a Bundle file that the developers have to remember not to leave exposed).
What is Vue?
Vue.js, commonly just called “Vue,” is the baby of the bunch. Released in 2014, it has quickly gained a fiercely loyal following. The brainchild of a former Google employee, it was designed to take the best part of Angular.js to create a “lightweight,” open-source framework for single-page applications and user interfaces. It also allows developers to relatively easily extend HTML. Alibaba, Nintendo, Adobe, GitLab, Stack Overflow, Apple, BMW, Trivago and Netflix all use Vue to some extent. Even Google and Facebook use Vue along with the frameworks they developed themselves. Vue’s biggest community of users is in China.
At Plan A Technologies, we have experts in all three frameworks, and if you’ve already made your decision, we’re happy to use it. But if your team hasn’t made a decision yet, here are some of the things we think about when selecting one of these frameworks for an individual project.
The pros of Angular
Angular is a module-based system built on what’s called model-view-controller (MVC) architecture, which allows clear separation between the user interface and the client-side app logic. It was designed to be easy for a new developer to pick up where the original developer left off, making component management more transparent and specific code easier to find.
The cons of Angular
On the other hand, Angular isn’t as stellar when it comes to search engine optimization: search engines have a tougher time crawling Angular-based sites for those all-important SEO keywords. And though current iterations of Angular are often seen as a vast improvement on AngularJS, it’s still a highly verbose framework that our developers sometimes argue leads to overly complex code.
The pros of React
React Native’s mobile focus means that creating mobile-only apps in React Native is a lot easier than creating separate native apps for iOS and Android — which means less time and money spent on development. Because of React’s popularity, developers may often discover a lot of the work has already been done for them, in the form of extensive third-party plug-in libraries, complete pre-existing frameworks, solved bug fixes and tutorials.
React also has a reputation for having very stable updates, meaning that our developers tend to encounter fewer app-breaking changes whenever the new version is pushed out. The Virtual DOM system also makes it easy to improve speed and performance by allowing re-rendering of app changes part by part, instead of the less efficient method of re-rendering the whole thing. React lets developers create reusable components to lift out and place elsewhere in the application — programmers can even use several smaller components in tandem to do the work of big, complex UI.
The cons of React
The pros of Vue
The cons of Vue
Vue’s focus on making it easy to solve a coding issue from several different angles has a potential downside. The same application written by two different developers will often look completely different — indeed, one engineer’s code may appear messy to another. And because Vue has a notably smaller user base than Angular or React, there aren’t as many third-party solutions or plug-ins to rely upon. At Plan A, we counteract this by keeping our devs in tight communication with each other at all times.
They’re all great tools. We can (and do!) make each approach work for many different clients. But if you’re starting a project from scratch, and need to create an enterprise-level application that’s going to need to scale up substantially and may go through several generations of developers, we often suggest using Angular.
Or, if you’re looking to make a new mobile-only app, we might tell you that React Native will be very attractive to you. (Reactjs, however, will likely be the way to go if you want the richest library of third-party code to draw from.)
Vue is a good option for newer developers who want to get up and running quickly, or when performance (especially speed) is your priority.
And, as always, if you want to dive deeper into your options, the Plan A Technologies team is always here to offer assistance.