First of all, the official documentation for Vue.js is standout and super read-friendly. There are also official example projects to demonstrate some of the properties. Whether or not you consult other resources, I’d recommend reading through the official documentation:
Vue.js 2.0 Guide
Vuex (state management framework)
Vue Router (routing framework)
That out of the way, I’ll say I like tutorial videos to lead me through, and I actually had a hard time at first because 2.0 JUST came out and most of the tutorials out there are 1.0. Surface-level, it’s not a huge adjustment, but under the hood, they’re pretty different, different enough that consulting the comments section for updates is more trouble than it’s worth going through it in the first place, IMO.
So far, I’ve only read the official documentation, which is very helpful (but maybe easier for me since I learned React previously). For other resources:
- This walk-through tutorial looks good: https://github.com/jayway/vue-js-workshop
- Since Udemy is having a sweet sale and now there are some Vue 2.0 tutorials, I jumped on this one: https://www.udemy.com/vuejs-2-the-complete-guide It should take one from intro-level Vue to single-page apps using Vuex for state management. I’m currently just in the intro-level parts, reviewing. So far it seems good and thorough. My progress is a little slow since I took the job working with Vue, and I’m learning other stuff at work.
React or Vue?
This is a bit of a tough one to answer. I think it depends on a lot of factors including your learning style and your market. I’m inclined to say go with Vue for a couple of reasons.
- Angular and now React more so are king in the US because they are “backed” by Google and Facebook respectively. That said, Vue is already popular in Asia (especially China, where I am) and other non-US markets, and it’s gaining a lot of momentum everywhere (top 10 growth in stars on Github). This is partly a simple issue of publicity/PR.
- Vue outperforms Angular and React on pretty much all benchmarks, and it’s much simpler to pick up. This leads me to my next reason for suggesting learning Vue:
- The creator’s next project is working with Alibaba on their project Weex, which will bring native app capabilities to Vue like React Native does for React.
Coming to Vue from React almost felt like cheating because it’s so easy to get what you want and understand how to set it up. There’s a bit more “magic,” for making commonly-needed things happen, but it’s all rather straightforward and explained clearly in the docs. So to compare the “progressive” experience of Vue, where you can scale up as you need, React you have to start out in “advanced” mode: everything is broken into components, you need to use Webpack to bundle things, run a local server to load your site to see it. There are a huge number of the supporting libraries/frameworks for all your needs, but they are all community-provided and not always maintained. React also has a lot more “boilerplate”… That is a lot more code to set up each component before you actually write the code that it needs. That said, I did learn a lot by learning React.
So, I would say, if you like to scale up a step at a time, Vue is definitely the way to go, and might make a nice bridge to eventually learning React if needed, especially if you’re in the US market (but keep an eye on blogging/twitter/job boards…there might be shifting winds). If, however, you like jumping in the deep end first, React might be the way to go, especially if you’re in the US.