From Angular To Vue: Feeling Like A Beginner Again

Florimond Manca on October 25, 2018

Update (30 Oct, 2018): a few days after writing this post, I've already built a good understanding of Vue and its ecosystem. Thanks to everyone who... [Read Full]
markdown guide


A collegue here, my company started a project in Angular and one week after needed to change from Angular to Vue because "bussiness", I said: "I can do that" (Just 2 months in this company...)
I was really scared, I had 0 experience in Vue and just 1 year in Angular and thought it would be painful but...
Really was so easy to change from Angular to Vue, just one week later I had the project perfectly working.
And I think now I love much more Vue than Angular.

Really don't worry!


Very heartwarming to hear your story! I’m glad you could adapt so easily. Truly says something about Vue. Also you’re not the first one to say you’d never go back to Angular. ;-) Will I undergo the point of no return too? We’ll see! 🔥


The only thing I miss from angular are the Services to separate more the logic.

Get luck! 🔥

The service system is really just a design pattern, I think it’s easy to implement (without the dependency injection, though). I really like the logic separation it provides. :)

Yes, of course you can create a file that does the same as it is just a design pattern as you say. 😃


Is it me or is Flux/Redux just a meme in the client-side world. It's so full of orchestration and files and plumbing. Bleh!

I've been using mobx stores in all my clientside projects and people on the teams love it. It's very straight forward to use and require no plumbing.

Look into Mobx.


You don't even need that.

setState is probably enough for at least 80% of all applications.


Thanks for the insight! I’m honestly not 100% convinced by whether Vuex (or any state management library, for that matter) is necessary, but I’ll sure look into Mobx as a possible (more lightweight?) alternative.


Vuex is the by far the best implementation of Flux there is. Just simple to use. I use for even the most basic Vue app.


When I started with Vuex, it did seem like a lot of plumbing work, which I didn't like. After a bit of research, I found Nuxt.js. They advertise SSR, but have more things built in beyond SSR (which you aren't required to utilize when using Nuxt). They have a Vuex approach that greatly reduces the plumbing. Highly recommend looking into it.


Nuxt for the win! It's very seldom that I create a Vue app without nuxt. So many nice benefits.


Lastly — RxJS and event streaming. That's probably the thing I like the most in Angular. Observables make working with streams of events so pleasant and maintainable.

From what little I know of Angular, this is my favorite feature as well. Too bad Angular 2+ can't be added incrementally to projects. :(

Well, if you're really looking for challenge and a new way of thinking, try Elm. You won't be disappointed. :-)


Ah — I heard about Elm! I once looked at the source code of an Elm project and it gave me the chills 😂. Very different way of thinking indeed. That goes to my « To Explore » list ;) Thanks!


Yes, learning it will hurt your brain more than you're prepared for. 🙂 I too gave up after trying to understand its Type system, but it remains on my to-do list too. 🙃


There are a couple of plugins that can help you feel more "at home."

vue-rx can help you with a more comfortable integration between Rxjs and Vue.

vue-inject can provide you with a nice Depency Injection container thingy.

I haven't use these, because I think vue is good enough, but they look like nice helpers.


Thanks for the tips! I might look into those, but I’m also interested to see what I can do with « just Vue » first. Vue Inject might be something I’d need anyway though. :)


Tell you what I don't know why I would need Rxjs because in my 2 years with Vue I never felt to include something out of vue ecosystem. TBH I don't know what problems Rxjs solves.

In Angular, I haven’t found a better way to implement reactivity than RxJS. Vue has other features such as watchers and computed values, so it’s actually pretty unlikely I’m going to need it. 🤔


Recently also dipped my toes into Vue but it just couldn't drag me away from Angular, I really like Angulars opinionated nature. Not to say I don't see the value in Vue though. What I've settled on is learning both of them. Angular as my main framework, and Vue as my secondary.

Sometimes you have problems that need a whole toolbox (Angular)

And then there might just be small problems which need a screwdriver (Vue)

That's how I view them mentally, (not saying view is only as powerful as a screwdriver but you get my point)

And I went for Vue instead of React because it has more similarities to Angular, so it wouldn't mess with my mental model as much.


Nice read! I'm feeling a noob again going the other way from Vue to Angular


Good luck! It’s definitely a tough time but I’m convinced that it’s a necessary step in any learning process. :)
I’m interested though — what made you switch to Angular?


Its mainly work, I just got a job and they use Angular, while I've used Vue for most of my personal projects


I'm actually scare to use a framework that has many feature out of the box, 😅 i prefer the way of setup this and this, since vue has it i just use it.

When it comes to rxjs i use vue-rx, or just use rxjs without vue-rx because actualy you can bind everything in vue.

But yeah the one developer and another had their own workflow.

Enjoy your journey!


So maybe you'll waste a lot of time learning frameworks - and you could probably write a better, easier framework that fits your project in much less time than that ... :-)


Yes, and maybe even our own language and browser to go with it.


Pump the hate breaks, Ankush. Lets just think about this for a second.

What if we could be productive using the standard tools that the language provide us, and only use frameworks/libraries to enhance our productivity?

Pump the hate breaks, Ankush

Really?? I suppose sarcasm is not in your dictionary. In any case, can I advise you to stop going around and labeling things according to your first instinct?

What if we could be productive using the standard tools that the language provide us, and only use frameworks/libraries to enhance our productivity?

I don't see how you and I aren't saying the same things. Care to expand?

Really?? I suppose sarcasm is not in your dictionary. In any case, can I advise you to stop going around and labeling things according to your first instinct?

This is what I get for making a joke thats only funny to me.

So, apparently you're a totally chill and relaxed person. Cool.

I clearly can't read the tone of your comments, so lets just leave it at that.


I start learning Vue without any knowledge of any frontend framework.
I feel that Vue is pretty easy. I understand Vue in few days.

PS. Writing TypeScipt in Vue really make me happy. 😇


Glad to hear! I’m still wondering whether it’s a good idea to use TypeScript. The boilerplate with the decorators and all seems a bit heavy, on a second thought. What do you get from it? :-)


I learn from Vue TypeScript guide.

vue-class-component is pretty handy for creating class-style component.

And I found Vue Property Decorator that make my life easier. 😍

PS. vue-cli can be used to create TypeScript project easily.


Angular 2+ is a moloch, being integrated with TypeScript and RxJS can be nice if you need that kind of control over your data-flow, which comes handy if you build real-time applications. I'd still prefer Cycle.js over Angular if it's just for the TypeScript & Observables. It's much smaller and cleaner, but it has a much smaller eco-system.

Vue is modern stuff for old school devs, I think. It feels like Angular 1 or Ember, but without all the cruft of views, routes, and controllers.

I prefer React, because of its small API surface and minimal magic (a bit more than Cycle.js sadly), but its flexibility comes at the cost of the dev selecting the right third-party libraries.


I never heard about Cycle.js, I’ll take a look. The issue of the ecosystem and community is real, and for that matter it looks like the world of Vue has been growing as fast as ever recently. Thanks for your insights!

code of conduct - report abuse