As local market trends begin to skew towards React, it’s easy to question the future of demand for Angular. It’s a one or the other kind of game and makes you wonder which once you should pick up, especially when you’re just entering the fray.
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 is just one library, one building block of many to help quickly scale a small application into larger, compartmentalized and component based system.
The React vs Angular debate
Facebook is often used as the prime example of its success. But React is only a tiny drop in the multitude of technologies the tech giant employs. It is after all, just a JavaScript UI library.
Angular, however, is a collection of libraries that work together a cohesive unit.
There are things that Angular do well that React omits, while other theoretical implementations of the latter is much better executed. Developers will always 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 — or perhaps this kind of thinking is often regulated to those who sits at the junior and intermediate levels.
Despite React’s rise in popular, Angular still continues to have strong support from an equally, if not larger, tech giant known as Google. Conferences and developer advocates are equally strong for both JavaScript based front end methodologies. However, we may have another rising underdog that sits in between Angular and React in terms of offerings.
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, not as complicated as Angular but offers 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 Angular we know.
Ease of adoption and developer avocation
React is undisputedly 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 backend technology that dominates Google’s code infrastructure. Facebook, however, is PHP based and as a result, injects a good measure of component framework from the language.
It’s not hard to spend an entire day comparing React and Angular, the main point is that both have good developer avocation 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 exists to solve the React vs Angular debate for those who don’t want to be part of the controversially biased towards a developer’s first encounter with the front end topic.
What’s Netflix using?
It turns out Netflix is using React — among a host of other backend 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 proportion 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 a solution for their front ends.
One could argue legacy code and whatever else, but 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 using it since 2016.
It’s all about the solution, not the tools
As the debate rages 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 5 year period.
It is also worthy to note that Angular had to semi rebuild their community from scratch after it’s 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 3 years. The original Angular doesn’t really count because of how different it is from Angular 2+.
Final wordsIf you are a new developer trying to figure out what to learn — don’t overthink it too much. At the end of the day it’s all just JavaScript so it might be better to actually learn how that works first before jumping into the ‘fun’ stuff and make things happen.
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, web 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.