Cover

Why I Moved to Vue.js from Angular 2

February 12, 2017
No Comments.

I know I’m going to upset some people, but hang in and read the whole article…really. In updating my blog recently, one of the changes I wanted to make was to update my use of the JavaScript framework I used for the contact page.

When I built this blog, I wanted to get comfortable with Angular 2. I shoehorned Angular 2 into the contact page as an excuse to use it. Never a good decision.

My goal with replacing Angular 2 was to remove a lot of the complexity. Getting Angular 2 up and running requires a lot of moving parts. By removing Angular 2 I was able to eliminate a lot of pieces of the build. These pieces were making my builds on Azure App Services brittle so it had to go.

As far as I am concerned, Angular 2 is meant for what the community insists on calling Single Page Applications. Basically, Angular 2 is great when you are working with large, monolithic, client-side applications. But that’s not what a contact page is.

I’ve been looking for a smaller framework for when I want have ‘islands of functionality’ in typical Internet facing web sites. I’d played with a number of them, but finally found Vue.js and my small tests of it seemed promising. So I decided to take the plunge.

By combining Vue.js and a couple of other Vue-based packages I was able to implement the contact page pretty simply. You can see what I did by checking it out in GitHub if you’re interested:

https://github.com/shawnwildermuth/wilderblog

This isn’t a condemnation of Angular 2 as a SPA framework, but simply a better match for interactive individual pages in a web project.

I’ve girded myself for the reaction, feel free to respond…