
Angular vs. React - prostoalex
https://hackernoon.com/angular-vs-react-the-deal-breaker-7d76c04496bc
======
kbuechl
One huge AngularJS draw back that wasn't mentioned is the new plan for a major
version every 6 months. Given how messy the production release candidates were
and how much was changed every release, I do not believe the industry has much
confidence left in Google's promise to not make many breaking changes every
release. Even if they were to do that many large companies would be hard
pressed to find the labor to handle those few changes every few months.

I also believe there is a rift starting in the industry between fp and oo and
typescript loses the sudo-fp features of JavaScript.

Tl;Dr: google lost our trust. Op likes react way more after years in angular.

~~~
reboog711
I read they are just changing their versioning structure; sort of like Chrome
and Firefox do.

So, the major version number update will really be a 'minor' update that is
not expected to break backwards compatibility.

------
ergo14
A nice article but neither. The future of the web are webcomponents.

So today react/vue - after all they are component frameworks, but tommorow
Polymer/Angular2 (or other native web component library) which already has
most of its polyfills supported natively in browsers.

ING Banking, USAToday(gannet), Youtube, Salesforce, Slack, General Electric,
Electronic Arts, Coca Cola, and Google obviously - are all going web standards
route - so they use web components.

In the end it will the the fastest solution and the smallest as the core of it
is part of w3c standards. Even chrome UI is powered by polymer.

[https://www.webcomponents.org/](https://www.webcomponents.org/) has over 500
elements to pick from - its really great to build on top of that.

~~~
microcolonel
Which part of the chrome UI? I think you mean the builtin pages. I really
don't look forward to the rewrite of the chrome://extensions builtin page, all
of the evaluations have been very disappointing. Even the decent pages like
the chrome://history page have regressed in some ways. For example, the line
item three-dot menus don't even have hover states!

~~~
ergo14
I mean things like chrome developer tools or download page. Polymer itself is
developed by Chrome Team btw.

------
themgt
My gut says that React is perhaps the best choice if you're building your app
as fully SPA and gonna go all-in on it. However I think the percent of overall
web development this is appropriate for is perhaps 1-5% at mostly large
companies and startups (hence its overrepresentation in mindshare). And I've
seen a fair share of abortive "startups" with a mess of 20-40K Ember/React LOC
that could just as well have been traditional 500 LOC Rails/Phoenix app;
burning through their last $$ trying to build based on buzzwords rather than
focusing on deliverables/UX.

Whereas Vue is like the best of React/Angular 1.x, done right for the vast
long tail of smaller projects that are still mostly traditional
request/response, but need a bit of data-bind/XHR/websocket syncing JS into
the DOM. Vue is extremely easy to drop into an existing project and use where
needed, get's out of the way otherwise, and lets you have HTML/Slim/Haml still
easily comprehensible/editable to your average front end designer.

I'd toss in Rivets.js too, although Vue has perhaps mostly obsoleted it, it's
still sometimes handy for the most lightweight data-binding situations, which
again I would argue are far more common problems for your average webdev than
"spend 6-7 figures building a full SPA"

------
je42
> angular comes with ionic 2 and nativescript, but neither of those mobile
> frameworks allow angular to reach the performance of react native.

Wonder where this comes from ?

Ionic 2. Clearly. since it is webview. but nativescript doesn't make any
sense.

Nativescript performance should be in the range of react native if not higher.

~~~
MONSTROSITY
My team was assigned to test react native and native script. We found react
native is able to meet our requirements. Building the same application in
nativescript however, we stopped within 2 weeks. A simple application with 2
pages takes 5s to load on android. The CLI tool is buggy and there is no debug
information provided at all if something goes wrong. There is no community
support either so if anything goes wrong, praying is your best approach. Also
due to the super poor community support, a ton of UI requirements couldn't be
accomplished.

Overall I wouldn't recommend nativescript. It is 2 years away from where react
native is currently.

If you cannot accept reacts patent issue, I recommend you look at xamarin or
Cordova. Avoid nativescript, it's a complete waste of time at this moment

~~~
je42
when did you evaluate ? recently ?

~~~
MONSTROSITY
2 weeks ago. we contacted teleric and they have acknowledged that 2s app
launch time is within parameters. we have since stopped development with
nativescript.

react native is able to launch a much more complex application within 180ms
btw

------
cholantesh
All the positive reaction to this makes me wonder if I'm reading the same
article as the other commenters in here. Quite a few of the claims seem pretty
baseless. For instance, what data supports the assertion that Angular
dominates the Asian job market? Where has the React team made the claim that
their framework is more testable than vue, and why does the author accept
those claims? I would love to see some credible evidence in the mix...

------
saintfiends
> Vue being just behind react, it is a good choice however it lacks a list of
> best scaling practices, resulting in a lot of spaghetti code.

Is there any example of this? specially the spaghetti code part.

------
otto_ortega
The big question is: Which one should one choose if the main goal is to have a
single code base to work across as many platforms as possible?

As an example, I'm on the verge of starting the development of a SASS
application that I would like to make available on the browser but also as a
"native" app on Android and iOS.

~~~
mercer
Assuming the browser version is a must-have, you could give Cordova a shot
(and Ionic on top of that if you're okay with Angular 2 and TypeScript. I'm
not, so for me it's Cordova + React).

If 'looking native' is important, you might have to add platform-specific
styling, as well as a few misc. little things here and there (momentum
scrolling, disallowing text selection where it doesn't make sense, etc.).

My experience has been that with relatively little work you can have an app
that runs on web, iOS, Android and possibly other mobile devices. In my case
these were relatively simple apps UI-wise though, so not a lot of animation
and relatively basic interactions (tap, swipe).

The downsides are that making it appear fully native is probably a bunch of
work (and perhaps not 100% possible), as well as the fact that you have all
the drawbacks of running a mobile-browser-in-a-wrapper (battery duration?
limited usage of native stuff? anyone else got some downsides to mention?).

But once you have time or money, you could then move to React-native and still
reuse some of your browser-app code, API, etc., or of course you could then go
the full mile and build separate native apps one at a time.

------
ealtynpara
I wrote own research here: [https://www.cleveroad.com/blog/react-vs-angular-
ultimate-per...](https://www.cleveroad.com/blog/react-vs-angular-ultimate-
performance-research-2017)

------
timrichard
I'd agree that Angular is the hardest to learn, very opinionated, and
strongarms the developer into MVC, separation of concerns, modularity and
Dependency Injection. Which is why it's the one I choose to work with. I'm a
freelancer, so in the business of inheriting code.

------
jbhatab
Angular is the most scalable? Hmmm. Interesting conclusion. I felt like react
or vue would win that one.

Still a cool and very opinionated article.

~~~
angry_napkin
It was an interesting read, but I've not had great luck scaling large apps in
ng 1.5. State management gets out of control very quickly.

Can it be done? Absolutely! Did it stop me from switching from React + Redux?

Nope!

~~~
je42
Angular + Redux is also possible. ;)

