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…

Ready to Learn Vue with ASP.NET Core?

My new Wilder Minds' course is available as an Early Access for only $79. It will be released on a weekly basis. The first module is now available:

Enroll Today

Application Name WilderBlog Environment Name Production
Application Ver Runtime Framework .NETCoreApp,Version=v2.0
App Path D:\home\site\wwwroot\ Runtime Version .NET Core 4.6.26212.01
Operating System Microsoft Windows 10.0.14393 Runtime Arch X86