Why I Moved to Vue.js from Angular 2

Image result for vuejs logoI 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:


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…

Shawn Wildermuth
Author, Teacher, and Coach

My Courses

Wilder Minds Training
Vue.js by Example (New Lower Price)
Bootstrap 4 by Example (New Lower Price)
Intro to Font Awesome 5 (Free Course)
Building an API with ASP.NET Core (New Course)
Building a Web App with ASP.NET Core, MVC6, EF Core, Bootstrap and Angular (updated for 2.2)
Less: Getting Started (New)
Using Visual Studio Code for ASP.NET Core Projects
Implementing ASP.NET Web API

Application Name WilderBlog Environment Name Production
Application Ver v4.0.30319 Runtime Framework x86
App Path D:\home\site\wwwroot\ Runtime Version .NET Core 4.6.27817.01
Operating System Microsoft Windows 10.0.14393 Runtime Arch X86