This article originally appeared on Dotted Squirrel.
Since Facebook changed React’s BSD licensing to MIT, the library appears to be exploding in every corner of the global development market. However, what a lot of entrepreneurs and startups don’t realize until later down the line is that React isn’t a complete front-end system — it’s just one library, one building block of many to help quickly scale a small application into a larger, compartmentalized, and component-based system.
The React vs Angular debate
Angular, however, is a collection of libraries that work together as a cohesive unit.
There are things that Angular does well that React omits, while other theoretical implementations of the latter is much better executed. Developers can be biased towards what they know best and, as a result, refuse to look into other paradigms that may be better-suited for the situation, though this kind of thinking is most common among those at the junior and intermediate levels.
We need to talk about Vue
Data from Google Trends. Red = Angular. Blue = React. Yellow = Vue.
Vue is the newest kid on the block and is gently creeping up in popularity, turning React into the popular middle child of the trio. While the community is much smaller than Angular and React, it is gaining in popularity due to it being lightweight and not as complicated as Angular while offering more than React’s core functionalities.
The creator of Vue actually has a background in AngularJS, which is much more aligned with the principles of React than the current version and methodologies of the Angular we know.
Ease of adoption and developer advocacy
React is easy to pick up and transform into a fully fleshed out application that is native mobile app conversion-friendly and is popular in the newbie developers circle.
Angular requires a bit more heavy lifting and overhead learning to get started, borrowing concepts and ideologies from Java, a predominantly back-end technology that dominates Google’s code infrastructure. Facebook, on the other hand, is PHP-based, and as a result, it injects a good measure of component framework from the language into React.
It’s not hard to spend an entire day comparing React and Angular. The main point is that both have good developer advocacy with strong community backing. Startups, however, are leaning more towards React because they want the lowest form of overhead possible. Their survival depends on how quick they can go to market and pivot to demands and trends.
But what a lot of startups tend to miss is that with easier barrier to entry, the lower the potential quality. As more and more developers become self-taught and community-driven, certain topics such as programming paradigms and clean code get lost in the sea of beginners. That’s not to say that Angular developers are any better — but there is a certain enforced structure that Angular brings that React does not have.
Vue lives in its own little space and for now exists as an alternative in the React vs Angular debate.
What’s Netflix using?
It turns out Netflix is using React — among a host of other back-end and infrastructure technologies. If we actually look into the big picture of an entire application’s ecosystem, front-end technologies only make up a small portion of what is used.
PayPal uses Angular, as shown in the tell-tale signs of ng here and there in the rendered HTML.
Screen capture from PayPal’s HTML.
Both Netflix and PayPal are equally gigantic in their own right and both are completely unrelated to Angular and React the way Google and Facebook are. Both have chosen React and Angular, respectively, as solutions for their front-ends. One could argue legacy code plays a factor, but rest assured that both companies have more than enough money to hire an excess of developers to deal with their code base in the manner they want it to be dealt with.
On a side note, GitLab uses Vue and has been since 2016.
It’s all about the solution, not the tools
As the debate continues on what which framework or library is better than the other, no one seems to be asking the question — which is the best solution for what we’re trying to achieve?
If it’s speed of development on a tight budget, then React is probably your best bet. If you want something meatier and much more robust due to the learning curve required, then Angular is the choice. Want the best of both worlds? Vue advocates will certainly put their hands up for this category.
Angular is not dying in popularity. Rather, the attention has just been diverted. While React might be eating up more of the development ecosystem and demand pie, Angular is still going steady despite React’s rising fame.
Angular — Red. React — Blue. Google trends for worldwide search results for Angular and React over a five year period.
It is also worth noting that Angular had to semi rebuild their community from scratch after its transformation from AngularJS. While they had a ready audience, everyone had to relearn everything when Angular 2 came out.
If we look at it this way, Angular as we know it today is actually younger than React by a good three years. The original Angular doesn’t really count because of how different it is from Angular 2+.
Whatever framework or library you end up with, you’re going to come into contact with transferable paradigms that makes it easier to pick up another framework or library. The key is to learn your first framework well and go beyond the proverbial ToDo list app.
Learn to be a developer that is well-versed in programming paradigm and don’t get too hung up or attached to any one thing. Dig deep into architecture structures, designing and developing components, understanding how data flows through the application, and state management — among other things.
Being able to recognize and transfer these skills is what separates those who get stuck in the junior and intermediate levels from the real seniors.
Triplebyte helps engineers find great jobs by assessing their abilities, not by relying on the prestige of their resume credentials. Take our 30 minute multiple-choice coding quiz to connect with your next big opportunity and join our community of 200,000+ engineers.