ASP.Net MVC vs. HTML + KnockoutJS + WebAPI
The MVC / Razor code is become very low by progressing continuously with the Knockout project .
The basic stuff life whether to provide a logged in / logged out panel in a layout page, role related decisions as to what should be accessible, etc. try to achieve the security and implement sufficient guard code on the server when the user tries to do something so that the user can reach most of that in Knockout, but this will end in big bloat, catering for all part of the view.
It is based on the application but for most web apps there’s a fairly common sense division between what should be determined at server provide time and what should be done on the client.
If nothing else, you may want links etc in the views to be indexed by search engines. During pass down, tell the “latest 10 products” in JSON and render them with hyperlinks in a Knockout template, Lose out on that is the end .
After doing development , The more features is come from the observables and the real time DOM updates. This makes a rich interface in client side applications quicker to make , and easier to maintain . However,This is a time taking and tough to implement than working with straight Razor pages.
So Knockout JS is good for some applications where many data driven UI updates require to happen “ajaxically“, but sometimes over kill for others.