I'm a new ASP.NET MVC programmer. I've done asp.net webforms extensively and I used the Ajax Control Toolkit and update panels to provide a smoother user experience. What paradigms should I be considering from a user experience standpoint in asp.net mvc 4? I've noticed a few approaches ranging from simply injecting partial views through jQuery all the way to single page applications. There seems to be some Ajax baked into ASP.NET MVC 4 as well. What are the preferred approaches for line of business applications? Where would you point a new MVC developer to for creating responsive UIs? What are the tradeoffs of the various approaches?
closed as not constructive by Jim G., Glenn Nelson, Walter, ElYusubov, Tim Post♦ Feb 12 at 3:24
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.
MVC 4 has a lot of really cool ideas "baked in" like jQuery comes standard and Knockout.js is in there too. There are also a lot of cool examples out there Nerd Dinner, for example is probably the most basic but complete example for learning. There's definitely some brain warping required to get into MVC though, forget about Page Event Life Cycles, and "code behind" although there is a "view bag" which gives some "variable" persistence across page POST's, but IMHO you should get familiar with "View Models" before you start shoving everything into the bag.
If you already dont do a lot of "Code Behind" coding and use libraries, then it will be much easier to get up to speed. Generally you dont want to put a lot of logic into the controllers, but that's somewhat debatable.
Another benefit is the testability of the various facets. Just about everything can be unit tested. Routes and Views included, which is pretty darn nice.
A good book that i was recommended, which so far has proven a good resource is Pro ASP.NET MVC 4. It has a lot of good ideas in there and is a good Reference (i havent attempted to "read" it (yet) ).
Anyhow, I would definitely recommend getting into MVC. I have found it to be a nice experience and some of those things which drove me crazy in webforms are gone.. and i dont miss them.
I wouldn't associate MVC with user experience (UX) at all. MVC is simply a framework to structure and deliver your application to the user. How they use it is irrelevant to the framework used to write it. You can use ajax or jquery or any other slick UI/UX tools at your disposal.