Skip to content

Comment on Vue 2.0 is here

Comments

Can anyone talk about their experience with Vue as opposed to Angular, Angular 2, and React/Redux? I am fan of Angular 1, but Angular 2 seems to actually just be an inferior version of React/Redux. At first glance Vue seems to be similar in spirit to Angular 1. Is that correct? Any first-hand experiences would be welcome.

Just recently migrated our main production application from Angular 1.x to Vue due to a massive rewrite of our core logic and some general messiness in the front-end. Extremely positive outcomes so far. It's an easy framework for our junior developers to pick up and the specificity of the framework allows us to pick and choose the libraries we're comfortable with.

While it shares some similarities with Angular 1 semantically, Vue.js is at its core extremely different. The framework is very light and entirely component based, meaning that the concept of DOM elements as directives and controllers goes away. It also does away with dirty checking so you can use Object.defineProperty to set up read-only array values, something that was causing us to run into infinite digest loops in Angular.

There are lots of other differences but in general, the transition from Angular 1 to Vue.js was relatively painless. There's a small learning curve when getting used to the data-binding through getters and setters but once it clicks it's smooth sailing. Hope this has been helpful.

Having worked with Angular and React before, moving to Vue was a breeze. The franework is very intuitive, the documentation is great and the community is very welcoming and supportive. Vue had the CLI tool before React came out with their counterpart (and I still find the Vue version superior). You also have an official Vue version of Redux, and the Vue Router that doesn't completely change every 2 weeks. API compatibility is also better than Angular 1 vs Angular 2. That said, I checked Vue 2.0 docs last week and they seemed a bit less intuitive as the 1.x version, but it may have been just a WIP.

I have worked on ember, backbone marionette and react. Vue JS really shines by its simplicity and speed while embracing all the concepts we expect from a modern js framework _ component based, flux style store management with vuex, reactive dom. Documentation is great and we built great stuff and enjoyed the journey so far.

I've been writing vue apps for internal use for about 1 year now at my company. I have not used Angular, but coming from Ember and React, It is by far the most productive framework I use. It is small and unopionated so I don't spend the massive amount of time I do fighting ember. I also don't have to constantly refactor it like the react code base (which has been through flux, redux, and now a new version of redux again, not to mention third party libraries only tracking the latest of alpha react projects) For simple apps, you write some immediately understandable code that gives you 80% of what you want, and the other 20% it gets out of the way and lets you do your thing. Only downside is the English-language community is very small compared to the other frameworks.

Would you recommend learning Vue over Ember for a front-end noobie? I've started with latter, but already see some things I don't like.

Absolutely. I would get comfortable with a build tool like web pack and then try and build a quick and dirty vue.js app. I like that much of the complexity is opt-in and you can grow into parts of the framework / write your own as your apps needs evolves, something I particularly had trouble with when using Ember. (It's very much their way or the highway for everything, and several features we wanted to implement, the answer was simply "don't do that") Having shipped Ember apps to millions of users and being with it since 1.0, I'd say it's an excellent community, but not the tool I'd reach for again.

Thank you, will shift my focus on Vue.

@iaml Have you followed this tutorial? http://www.yoember.com Totally free. It is quite easy to follow and you actually build a very complex application.

@szines Thanks for the tip, will definitely check it out! The problem I have with ember is probably caused by me being new to front-end field, and is not necessarily caused by ember itself, but the whole stack needed to develop for it. For example I prefer using MDL over Bootstrap and when I tried using it I discovered it wasn't quite straightforward, but hacky I would say, certainly not a simple "include this .css and this .js in your source code." I eventually switched over to Semantic UI for my pet project, it works quite well for now.

I use VueJs for a side project after trying Ember and not liking how opinionated I found it to be, after considering Angular as I had used A1 but all the mess around A2 kept me far away, and considering React/Redux but wanting something that handled everything (routing/data/templating) and was a little more solid. That brought me to VueJs and it felt like a breath of fresh air. When it came time to decide on a framework to use at work for a new project VueJs was a no-brainer from my standpoint and it looks like that's what we will be going forward with. I'm glad 2.0 came out before we really got started.

If you would like to write complex, big application, or you would like to join projects, where more developer are working on the same application, than there is no better option than an opinionated framework. Faster onboarding, you can implement complex features very quickly. Ember.js is the best in this league. It is true, if your plan is not so serious, other frameworks are good options as well.

At first glance Vue seems to be similar in spirit to Angular 1. Is that correct?

I don't understand why no-one wants to admit this so maybe I'm wrong but yes, I would say that's 100% true. Vue.js feels like a cleaner and slimmer version of Angular 1.

I wouldn't say it's inferior. There are some nice things about it (written entirely in TypeScript and uses RxJS and Observables) and it's more of an opinionated framework rather than just a set of libraries.

This may be a bit of bike shedding, but I have come to prefer JSX over just string templates. Angular 1 did things completely differently, so there it was fine, but no code highlighting because you are using a string literal seems bad.

Another bit that rubbed me the wrong way about A2 is all the uber-magical stuff going on and all the pitfalls it created. Trying to understand why you need to put an @Input() on targets but not sources and what the actual consequences of that are took me way longer than I care to admit.

It's written in Flow, not TS.

jrs95 is talking about Angular 2.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.