Should I learn react.js first or vue.js first?

Which is easy to learn?What is the difference between vue.js and react.js?What about angular.js?
You already invited:

Dylan

Upvotes from: Nigel James AOD Tyler

Personal opinion :
 
Angular Pros: 
1. Can be scaled to large teams 
2. If you have a large team, and you are adding new members who are not super-experienced, it is less likely that their mistakes will cause catastrophic failure 
3. Templates are separate - this means you can have your design team create the HTML and CSS and you can add your JS bits 4. Since all major dependencies are courtesy of the Angular team, low risk of dependency hell 
 
Angular Cons: 
1. Typescript makes things verbose, you typically would need more man hours to create the same functionality in angular than you would in React or Vue 
2. Angular 1 to 2 major API breakages 
3. Google uses Angular, but it is not used in their flagship products like Mail (eating your own cooking typically produces pragmatic decision making) 
4. Angular JS team is seen as insular (and rightly so). Could break the APIs once again causing more grief 
 
React Pros:
 1. Componentization is a major plus, the fact that Angular
 2 moved in this direction is telling 
2. FB actually uses it to power their flagship product 
3. Multi-device. Angular, while it has Cordova, is nowhere near as versatile as React 
 
React Cons: 
1. FB's dithering over licenses - this could cause other large companies to avoid using React - in case FB does an Oracle 
2. JSX makes it difficult to separate responsibility between developer and designer 
3. Lack of opinion on app structure can hurt if your devs are not used to designing and maintaining large scale front-end apps. You need to have developers who are Facebook level smart 
4. NPM hell 
 
Vue Pros: 
1. Templates are separate 
2. Has components 
3. No Typescript as compulsory 
4. No major licensing issues 
 
Vue Cons: 
1. Still young - there is a distinct chance as the framework matures unpopular choices may have to be made 
2. No FB/Google scale users - largely a volunteer army. Could go the way of backbone and stop being super-actively maintained. Risk is especially triue for Vue packages

James - developer

Upvotes from: AOD Tyler

Vue! Without any doubts. I dropped learning Angular in the middle of your course - angular is awful. Planned to take a look at your ionic + angular course, maybe then I will like angular again. And React.. I don't know, after I found Vue, I understand - it's my love =) 
 
Vue is awesome!

Tyler

Upvotes from: NOAH

These thoughts as pretty much the same as I've been thinking the last few months. I've seen the Vue.js tutorials but never watch them as I've yet to see a job in the UK asking for that skill. I've been a front end dev for 18 years but never used a JS framework of any kind. I started studying Angular last September and I got confident enough to apply for jobs using Angular. But, my lack of commercial experience using Angular stopped me getting them. The commercial experience I needed, I couldn't get because I didn't have any ;-) In January, I then decided to study ReactJS instead as it can be incorporated into existing projects much easier and I thought it would be easier to get work. The overall process of component build seemed more complicated to me using ReactJS than Angular and I wasn't as comfortable using React. And there doesn't seem to be as many ReactJS roles as Angular (or AngularJS) in the UK at present. I recently had an interview for a UI/UX role using Angular so went back to my Angular projects I hadn't touched for over 4 months to refresh my skills. It seemed like I hadn't been away from Visual Studio/Webpack at all and I fixed a bug instantly that I'd been stuck with before Xmas! Two days later at the interview, I passed the Angular coding test but didn't get the role as I didn't brush up on some of my Agile work projects and other skills I have. I've been focussing too much on Angular! But for me, Angular is tops!

Nigel

Upvotes from:

i actually it depends on country you are living in. In The Netherland 90% of the people are running on 4G connection. Websites like Airbnb and Netflix are also using React, and I never heard anyone complaining about speed of those websites. 4G network is growing, so framewok with 48kb wont be a big deal at all. Maybe Riot.js is good for countries with lower rate of 4G usage, but still,what advantage will Riotjs have if most of the people will access 4g network? I don't see any good reasons to use it in the future. 4g is a future, 5G is comming soon.

 

George - back-end

Upvotes from:

I had learned Vue and certainly suggest others to go with vue. Because not only it has an easy learning curve, but it also packed with rich features. Let's go for Vue.js

Tomas

Upvotes from:

VueJS is great! Documentation is so easy to understand compared to React and Angular, documentation has a big role to the developer actually.

Tony

Upvotes from:

Angular provides/enforces more structure so to a beginner who isn't a trained software engineer, there's less to think about. You know you access data in services, you modify DOM in directives, you write logic in controllers, etc... In Vue you're free to structure your own data access layer, your mappers, etc... and while that gives you more power, someone who hasn't done a large scale project can easily get started on the wrong path and produce some pretty messy code. That said, I'm using Vue for my own projects, stay away from React and I use Angular if someone wants me to and they're paying me to do it.

ken

Upvotes from:

React and Vue brings more freedom in your code than Angular. That's why in large teams it seems to be better to use Angular, because it forces your team to write code in more strict, standard and one style way. I think this is very important advantage of Angular, of which few speak. I'm behind React and Angular :)

Bob

Upvotes from:

a lot of people just need to learn javascript stop looking for simplicity from frameworks and learn how to code javascript. It's that simple... react has everything you need...

AOD

Upvotes from:

I believe it's quite unfair to compare a framework like Angular to an MVP library like React and say "react doesn't brings all the feature Angular brings". This is by nature. React is the children of the modular ecosystem where you bring pieces you want together. And if you're lazy there's quite a lot of generator like Create-React-App or Yeoman. You can get started within minutes, and if you prefex Redux over MobX well go for it. On the other side Angular is in itself a lot of choice made for the users. But you cannot objectively compare the too in this manner. Would you compare a car and a wheel ?

Luke

Upvotes from:

first i worked with angularjs, then i learned anguular 2, then i tried react, honestly i prefer react, you can manage your data easily with redux, and create great reusable components, with angular i felt that i'm restricted and should follow what the angular rules.

Artem

Upvotes from:

React is undoubtedly the best. First off, it works perfectly with webpack and npm. Bringing in any package is incredibly simple in React. For example, there is a compiler that lets you write normal HTML tags if you want it, so your point about that is completely invalid. JSX is a template, not javascript. You cannot write javascript in the template. However, you can write all the custom functionality you need in that template directly above the return render without referencing a bunch of obscure directives. You have logic and templates living side by side, which makes it incredibly straightforward about what is doing what. Add in that each component is infinitely modular and you can dependency inject without any complex set up, and then you will understand how beautiful React is. Angular is 90% idiosyncratic, poorly documented templates with spotty logic. Angular scopes are needlessly complicated. Yeah, you get a lot of built in templating functionality, but good luck with making it work in the exact way you want to. The most important part of React is the data stores and dispatchers. You control when and to where your data is sent. Angular data flows are completely abstract, and you have little control over where or when your data moves. Vue also has data-binded magic that obfuscates where data is flowing. Trying to send data from a dependency injected component back to the main data store in React is a breeze while you are fighting scope all day in Angular. Plus, anyone can immediately step into React and feel right at home because everything looks and feels like Javascript. I never want to look at another ng-repeat or custom directive again. Angular is a language designed by autistic idiots. React will win. Vue will have a little niche for people who aren't serious about SPAs.

NOAH

Upvotes from:

In my case, I'm a fan of React. The community is really big and there is plenty of companies that are looking for React.js developers. I'm using Laravel in our company and mixing it with static cms. I do even use Backbone (application is too big to switch to react) and we just render react with backbone router, also I'm on the opposite way, I love the way react.js syntax works. I also think that learning ES6 is a must. I do agree about things like a router, it's pretty annoying to use some NPM react router without knowing how long it will be up to date... For me react is showing how powerful javascript can be. It's true, you need to know how to design your react application. Beginners can get most problems with setting up the project and structuring it. Vue.js is nice(Have not tried it, I will soon) but still it's created by one guy in the first case so he decides everything.

If you wanna answer this question please Login or Register