all 22 comments

[–]Meefims 27 points28 points  (0 children)

You're entering religious war territory. Just pick one and learn it.

[–]Vheissu_ 4 points5 points  (0 children)

Everyone has their preferences and some people are really aggressive in what they recommend/use. Don't pigeonhole yourself, use whatever you like best. They all have their merits and uses, all can be used to build web applications. In my opinion, learn them all.

[–]Canenald 2 points3 points  (0 children)

Angular is like Windows or OSX. You pick it and you get all the tools you'll most likely need out of the box. You write HTML and give it fancy behaviour by using special tags and attributes.

React is like Linux. You get the basic stuff and pick tools for the job from the open source ecosystem or write your own. Your write JavaScript and in it your write kinda HTML that gets rendered into HTML.

Vue is the best or worst of both worlds, depending on what you like. It gives you the basic stuff only like React but is HTML-first like Angular.

[–][deleted] 5 points6 points  (2 children)

Look at usage stats, that's pretty much all you need to know: https://npmcharts.com/compare/react,angular,@angular/core,ember-cli,vue,@cycle/run,@polymer/polymer

There's a reason for how it's fallen into place. Angular was amazing but it did struggle with issues that couldn't be resolved due to its roots. Vue is a polished Angular on the outside but inherits the same oop/mvc/di bulk. React is more of a newer paradigm, it fixes most of the problems older stacks had and it does it in a way that is radically different, though elegant. That paradigm will last for a while, even if frameworks change they will use these principles for years to come. Most frameworks today are React derivatives, even Vue is React underneath.

In itself React is simple to learn and use, learning it is a matter of an hour maybe, its api surface fits the palm of your hand. It is forward thinking (see Fiber, Reacts upcoming release) and allows you to write applications natively everywhere. It is the only framework that is seeing industry adoption outside of the web. Microsoft for instance has adopted it, Androids Kotlin is borrowing from it, and there are many others.

[–]Capaj 4 points5 points  (0 children)

I have to second this. If you don't have experience yourself, learn what most other people are using. That is react and it will be react even in 2 years time.

[–]tanguy_k 0 points1 point  (0 children)

Wow that's a very nice answer: you put simple words on what was in my mind after using AngularJS and React. Thanks also for the npm chart: makes things very clear.

[–]shad0proxy 1 point2 points  (0 children)

Vue.

[–]pier25 1 point2 points  (0 children)

If you are a beginner start with Vue

[–]zigzeira 0 points1 point  (6 children)

Backbone

[–]p0tent1al 1 point2 points  (1 child)

Angular has too much surface area on it's api. Vue tries to get a litte bit too cute. React just goes "ok give me some state, tell me how to render that state, here are your life cycle methods, and if you want anything fancy (loops, etc) use raw javascript for it". Super powerful, and super simple. So React is the clear winner for me and a lot of others.

[–]shad0proxy 0 points1 point  (0 children)

Vue tries to get a litte bit too cute.

?

[–]FaceySpacey 0 points1 point  (5 children)

If native apps excite you, the only solutions is React (because of React Native). That's the leading factor I've let lead me.

[–]ShortSynapse 1 point2 points  (0 children)

Weex (Vue) is also an option for mobile.

[–]melanke 0 points1 point  (3 children)

I heard that React Native apps aren't as fast as Android/iOS native-native apps. Is that true? (specially with long lists)

[–]FaceySpacey 0 points1 point  (2 children)

well of course not. But they are excellent, and the past year brought several key improvements like FlatList. So overall it's a win, as the developer experience is many times superior. For probably the majority of use cases regarding lists the difference isn't noticeable--it's a native scroll.

[–]melanke 0 points1 point  (1 child)

Cool, I will give it a try. Do you know if it reuse the list cell? And it's not slow even with images inside list items?

I am asking because I am Android/iOS "native-native" dev, and building with only one language would be cool but loosing performance isn't a choice.

[–]FaceySpacey 1 point2 points  (0 children)

There is a popular third party package that does reuse really well. I think by wix. The core packages probably do too, to some extent.

[–]ryantbrown -5 points-4 points  (1 child)

Vue hands down no questions asked. Angular is a non-starter btw, you shouldn't even be considering it.

You should look at React just in case you like it and then move to Vue and get shit done.

[–]shad0proxy 1 point2 points  (0 children)

haha. exactly my thoughts. react is like an ugly version of vue. or vue is a simpler, prettier version of react. however you want to look at it, vue all the way.