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…
|Using Visual Studio Code for ASP.NET Core Projects (new)|
|Implementing and Securing an API with ASP.NET Core (new)|
|Building a Web App with ASP.NET Core, MVC6, EF Core and AngularJS|
|Building a Web App with ASP.NET5, MVC6, EF7, and AngularJS (Retired)|
|Best Practices in ASP.NET: Entities, Validation, and View Models|
|Front-End Web Development Quick Start|
|Lessons from Real World .NET Code Reviews|
|Node.js for .NET Developers|
|Application Name||WilderBlog||Environment Name||Production|
|Application Ver||22.214.171.124||Runtime Framework||.NETCoreApp,Version=v1.1|
|App Path||D:\home\site\wwwroot||Runtime Version||.NET Core 4.6.25211.01|
|Operating System||Microsoft Windows 6.2.9200||Runtime Arch||X86|