Angular v/s React
Moeid Saleem K.
Hands-on CTO | 13+ Years Exp | Develop, Audit & Scale | AI & Web3 Engineer | RAG & fine tuning LLMs | Building next-gen AI Voice Calling Agent
Angular and React, being powerful JavaScript tools primarily used for client-side development have changed the market for good. After working with both technologies extensively I have summed up what I have learned and major differences between the ecosystem of Angular & React.
Please note that we are not just comparing a framework with a framework as most of the people would say React is just a library and that it is like comparing apple with an orange, For any inconvenience, We will be comparing the whole ecosystem that Angular and React have built so far in-depth covering almost all the aspect which is the ideal for which scenario.
This is a personal comparison and doesn't have anything to do with official statements. I would recommend choosing the weapon based upon the scenario.
My experience of Angular and React
After working with Angular 2+ since its birth back it was just under development in 2015 & probably launched in 2016, I was the very first of those developers to adopt Angular 2+ with it being the totally a different thing than AngularJS 1.x.
This is the point back in 2016 is where the React Boom started happening and led it to the point where it is now. React and AngularJS were in the market along with solutions like backbone.js, ember.js & complete stack solution like MeteorJS, while AngularJS outshining the rest. This was the era of client-side frameworks where AngularJS was leading the market by being major choice of developers for client-side. During this period, React community was very small but growing steadily.
"The Powerful Angular "
Angular 2+ Announcement - The launch of Angular 2+ was one of the most controversial leap in the developer community. The Angular Team is to blame for not clearly stating the facts about Angular 2 roadmap properly.
Back in the days when I thought that I am near to being a pro-AngularJS 1.x developer, thinking that I finally got a hold of it & was making good money out if but then came the Angular 2 announcement & suddenly rumours started spreading its way that AngularJS is set to be sinked in the future which turned out to be true & its successor Angular is totally different in terms of syntax brought many debates within the community.
As it was announced that the AngularJS is going to be deprecated in coming years and Angular 2+ is a totally different shit and nobody knew what the heck typescript was at that time. The syntax, MVC, the concept was totally different as it was not actually a new update to already running Angular JS1.x which we normally just put the CDN script in the index.html and we were ready to go. Angular was totally different from what we already have in the market as we were used to adding the go-to script, writing JavaScript loosely & getting shit done.
Angular was using TypeScript 2 during that time and it had very strict policies for defining Types which we needed to follow and have many errors and bugs.
Another Mistake? ng 4? ng 5? - Another important mistake made by the angular team instead of explaining the community the semantic version concept more clearly, they said that every 6 months new Angular version would be released and to this day the community is totally confused on every launch of Angular, a new guy doesn't understand what to learn whether its Angular 2 or 4 or 6!!
Where is Angular 3? Well! The angular-router was not in sync with the new versioning strategy of Angular & they thought why not skip it thus creating a strange gap in between & more complicated in understanding the versioning in Angular.
The Angular leap was very controversial but without a doubt, Angular was a very powerful framework packed with all the necessary tools needed to create complex applications however the development pattern it included likes pipes, components, etc were just some of the few standards that you needed to follow in Angular to achieve some tasks. However, I would definitely state that the team Angular failed to represent the whole concept & features of Angular to community properly & due to floating opinions out there by the people who used Angular while it was in beta had negative reviews and they are not to blame, It was very buggy at the time & Angular team consistently failed to represent Angular to the Community.
The AngularJS was sinking & Angular seems a very faraway dream, Then came ReactJS to the rescue, more similar to AngularJS than Angular itself. Developers found this opportunity as the last resort & jumped into React before AngularJS drowns completely. One after another great developer started moving towards React not because of the features that react with-holded but merely a survival instinct & react being more closer to AngularJS made them decide.
I on the other hand, made a hard choice and decided to trust the new version of Angular - a faraway dream and even though it was in beta I thought of exploring it more in-depth. Turned out, once I got the hang of it, It was actually a very powerful framework packed with awesome tools & a powerful CLI.
Ionic 2+ was providing a hybrid mobile app development solution powered by Angular itself & it was highly improved in version Ionic version 3 which came out with the newer version of Angular thus becoming #01 choice for web platform development.
On the other part of the universe, ReactJS community had grown from nothing to huge and facebook developers were yet to launch the most powerful hybrid app development technology yet. Battle for supremacy was on between Google & Facebook!
The React Native to spice up - Finally, Facebook launched the React Native for developing apps for Android / iOS platform which was using ReactJS. As ReactJS community was growing massively day by day, React Native was the final blow and no doubt was worth it. The launch of React Native opened new corridors for developers from mobile & web background and the best part was the performance that React Native offered.
The angular community needed something to compete with the all-powerful React Native, something that can provide the same performance. The need was heard & then came Telerik by Progress to the rescue with NativeScript - True-Hybrid Platform, though it was launched back in 2015 and had already adopted Angular. Now for those who never have worked with NativeScript, The best part of NativeScript is that its truly a Native cross Platform by which I meant is that you don't need to code anything for Android or iOS, unlike React Native for which you need to do updates on your Android / iOS project separately.
Now fast forward to 2019, React is the boom & living in the middle east, companies are going crazy and shifting to ReactJS without properly understanding what and why or even if its necessary while, on the other hand, Angular 8 was launched with Ivy compiler ( major update ).
The Real Difference
- ReactJS gives you Freedom while Angular gives you the standards & principles.
- React let you define your own standard & follow any design pattern that you desire, Angular gives you the basic set of standards that you can extend under the Angular principles.
- Performance / Speed - There is a huge misconception & floating rumours that React is faster than Angular but the truth to be told in 2019 is that Angular new bundling system Ivy ensures small bundle size and increased performance as compared to React.
- The development with Angular is much more organized, structured & rapid development while for React you will need to define lots of things, import many packages from the opensource world making the development slow at the start, however, once you have defined your boilerplate with React, you are good to go on speed track.
- Community Support - No Doubt that currently React community outshines the Angular Community by a large margin.
- Stability - Angular with every released becomes more and more stable, better & improved due to the constant change under the hood. React also has been getting a lot of updates but the React leaps are very minor compared to Angular updates. With every release, Angular becomes more and more stable.
- Backwards-Compatability - Both Frameworks are compatible with all its previous version. Angular is a different framework than AngularJS & start of project Angular is from version 2+ which is also compatible.
- Development - Many people think that developing web apps with react is faster but on ground reality, Angular development is far rapid with its powerful CLI & in the hand of an expert, Angular is like the hammer of THOR! P.S React is planning to launch its CLI too but like vue.js, sometimes offering so many options is the not the best approach.
- Angular is focused on providing a standardize development grounds while React focuses on giving more controls to developers.
- Whatever React offers, Angular also provide you with that but what Angular offers React doesn't provide you. To some having complete freedom and open source maintainence is goods, they buy t
- The mobile development that both offers are for React is React Native, leading cross-platform technology following the concept of 1 Language different Platform while on the other hand, Angular has the following rule 1 language All Platform with a true cross-platform application development offered by NativeScript. However, now those guys are supporting Vue.js and native JS also for development.
I will be updating this article for the React portion.
Hammad Arshad it might help you
Software Engineer | Full Stack Developer| Next | React | Angular | Wix | Node | Firebase | Tailwind Css | MongoDB | MYSQL | Material UI | Cordova | Jira | Ant Design
5 年M.Moeid Saleem Khan?you are always biased towards angular .
Full Stack developer | React | Next Js | Javascript | Typescript | Redux | Javascript-ES6 | Python | Django
5 年Used both can relate to your post and it's one of the best comparisons out there so ?? for that but I think you were a little biased towards angular
Senior Product Designer | Crafting Delightful User Experiences | FinTech | Hospitality | Digital Twins
5 年React.
CEO at Locastic, Co-Founder at BlockSplit
5 年Just use best tool for the job. Framework wars are nonsense