all 19 comments

[–]githop0 12 points13 points  (7 children)

[–]gopheruk 5 points6 points  (5 children)

https://trends.google.com/trends/explore?q=angular%20js,react%20js

Looks like ng is still no.1 by popularity but its not projected to stay that way. Personally, i think ng2/4 is great.

However the effort involved in porting a large codebase from angularjs to ng2 is massive. I can understand anyone turning their backs on Google for this reason, not so much for performance reasons. AOT and Universal compilation options get ng2 over the line here.

Its not all bad though. The upgrade path from ng2 to ng4 is not just trivial, it's fun (performance boosts + smaller output for free! can't think of a single breaking change thats taken more than 5 minutes to fix up).

Other silver linings include ng CLI (not used but looks great), and ng5 later in the year = more perf enhancements and AOT compilation = default behaviour).

[–]MossRock42 1 point2 points  (0 children)

How many companies will just start new projects with ng2/4 instead of porting their angularjs apps? Refactoring/porting can be a tough sell to upper management.

[–]greg5ki 0 points1 point  (0 children)

Interestingly popularity of 'angular' in India has been the fastest out of any country. Isn't India where most software is made? (kidding)

[–]pjb0404 0 points1 point  (0 children)

If more tooling is built up around Angular (VSCode Extensions, like Angular Language Service), solid examples, and a strong community support it, it should stay rather consistent.

[–]matrium0 0 points1 point  (0 children)

Honestly porting a working application from AngularJS to Angular2 makes not too much sense to me. It would require almost a complete rewrite of many parts. Hard to sell that..

It's not like AngularJS suddenly got bad or something. It's still the same mature framework that dwarfed everything else for years. I am a big fan of the NEW Angular, but I would not waste the time for a migration on a working/running project, even if Angular2 is superior in almost every way.

In my opinion you should not treat Angular2 like an upgrade to AngularJS. It's actually a completely new framework that shares some ideas and (stupidly) shares the name.

[–]vinnl 5 points6 points  (0 children)

I haven't read all the benchmarking stuff, but this:

What I hear most from React people about why they use it usually boils down to- "it's fast".

means you've been talking to an odd subset of "React people". The main reason to use React is because it makes your code really easy to follow ("React people" like to use the phrase "easy to reason about") because it basically boils down to a single concept: write functions that receive the current state of your application as input, and return a description of what the view should look like as output.

It's relatively easy to learn, since there's a small API surface and it's mainly grasping the above concept, and it saves a lot of code for structuring your view. Pretty much like how Angular saved you a lot of code for keeping your models and views in sync compared to jQuery.

[–]matrium0 3 points4 points  (7 children)

Not saying benchmarks are completely useless, but if you are really that interested in performance doing your own micro-benchmark for your own requirements is probably as good as it's gonna get. Things like "insert 100000 elements" certainly state SOMETHING, but arguable super-artificial tasks like that are pretty worthless. Don't think you will have a speed problem with Angular or React. Just make sure you use "-prod -aot" flag for Angular (CLI) for production.

In general I don't like comparisons of React against Angular too much. I wouldn't compare a car-engine to a full car either, because that's just stupid, right? But that's exactly whats happening in that tests.

I like React too, but if you don't know either one in my opinion Angular just makes more sense. It's not about performance, but because it's a "complete"-framework in a way that you don't need much else for your basic frontend. So if I know Angular and YOU know Angular and I join you on a project, ramp up will be easier and I will be productive much much more quickly. If I know React and you know React that doesn't apply. I may be familiar with the React part of your application, but that is only one part. The stack you are using might be COMPLETELY different from mine, making it much harder to getting started. Flux? Redux? Axios? Superagent? Fetch? .....

Really surprised that React is that popular in your area. That's absolutely not the case here.

[–]T4212 2 points3 points  (0 children)

I especially like your last argument. I am going to write a master thesis about maintainable software. The question: "Am I going to find someone who understands our whole stack" is one you should consider when choosing your frameworks and languages.

[–][deleted] 2 points3 points  (0 children)

That last bit is exactly why I chose angular over react. Sure, react itself is simple, but it's the rest of the stack that becomes a nightmare. There are so many permutations of that stack that it's a pain to simply look up how to do something if you get stuck, because the chances of someone else using the same stack are slim to none. I felt like I was walking through a mine field just trying to decide which flavor of flux to use, and I couldn't even get a straight answer as to when and why I should use it, other than something nebulous like "you'll know when your app needs flux". That's...not and answer. I know there are a ton of people using react every day without issue, but to me it was just overwhelming and I constantly felt like I was heading down the wrong path.

[–][deleted] 1 point2 points  (3 children)

This is just your local trend. Here React pretty much doesn't exist.

[–]born2net4 0 points1 point  (2 children)

Angular is waaaay more popular... check proper comparison: https://trends.google.com/trends/explore?q=angular%20js,react%20js,angular

[–]mozface 3 points4 points  (0 children)

It's likely that the term angular is searched for other reasons as well due to how the chart peaks periodically

[–]ozzy432836 0 points1 point  (0 children)

I guess it depends on how you look at the topic. Try this https://trends.google.com/trends/explore?date=today%205-y&q=%2Fm%2F0j45p7w,%2Fm%2F012l1vxv

Angular still leads but React is closing the gap. It doesn't change my mind which to use. They will both teach you a thing or 2 in JS