I’ve been working with ASP.Net MVC for the past couple of years. I've got really used to develop using this pattern. Regarding the front-end, so far JQuery has been more than enough for what I need.
However, as time goes by, I’m hearing more and more that AngularJS is the way to go, and that JQuery is becoming ‘a little’ obsolete.
That’s why I’ve been studying some options to integrate AngularJS on my current project. There are some important facts to take into account:
Angular makes more sense for SPAs (Single Page Application) than it does for non-SPAs;
Angular is a Framework, JQuery is a library;
On the ASP.Net MVC paradigm, we usually send to the client plain HTML. In Angular projects, the data is usually sent to the client via JSON;
Angular and Razor don’t go well with each other. Razor is an abstraction to help programmers render complex (and sometimes not so complex) HTML. With angular, the view will not be created on the server-side, it will rather be created on the client-side from a model transmitted by JSON (ex.);
Angular goes hand in glove with Web API (or any other web-service), while JQuery goes hand in glove with ASP.Net MVC controllers;
Conclusion: Correct me if I’m wrong, but it seems that the server-side of the majority of applications using Angular are composed of nothing but web-services.
My question is: Should webservices be used to create entire websites? Apparently, that’s exactly what’s happening with the new wave of angular-based applications.