I put this in contrast to React where it's a completely new concept.
I put this in contrast to React where it's a completely new concept.
It beats angular, because it is both more polished and simpler.
It beats React, at least in short term, because it is both simpler and you don't have to learn new concepts.
People betting on react are hoping that after they internalize those new concepts, it would make it simpler/more maintainable for them in the long run.
At least for me, that's one of the biggest reasons why I feel like I understand react better than angular. It's a little verbose at times, but it does make it pretty easy to follow.
And it looks like Vue.js is a two-way data binding framework? I won't write it off without trying it, but that's a point against it for me.
In this way Vue or more specifically two-way data binding struck me as a step back.
Or am I misrepresenting Vue?
React has an unfamiliar syntax and the cognitive load to "get it" while not huge, was going to take time.
Angular seemed fine but a little verbose and a new version was coming out that diverged from Angular 1 in a way that caused more than a few headaches, apparently.
With Vue.js I read through the excellently presented guide and started building my app, instantly.
I view building an app (or app based business) as lego. Join all the pieces together and yay, you have a product. Vue's component based approach matches that perfectly.
Then you look at the small number of open issues on Github, the large number of Vue.js components available (https://github.com/vuejs/awesome-vue), the well-thought-out error messages, documentation and chrome dev extension.
That adds up to a refreshingly pain-free dev experience. As I've mentioned here before, it's so simple it feels like cheating.
Maybe because I have a background in functional programming, it only took me an hour or two to get React itself. The basic concept is dead simple declarative programming: declare a React component some state, and it renders it. The lifecycle adds a bit more to understand, but most of us have dealt with lifecycles somewhere, whether in WordPress, Android, etc. And then there's local component `state`. But that's it.
However, what's commonly accepted as the React ecosystem (meaning webpack, babel, flux/redux, eslint, sometimes flow etc.) takes a lot longer to understand. And can be quite (perhaps overly) complex.