This document provides a general overview of how the features of the next version of ASP.NET MVC 3 are filled. We will constantly update this article as each new release of the test version of ASP.NET MVC 3 is released.
ASP.NET MVC 3
Now, after the final release of ASP.NET MVC 2 is released, it's time to plan the next release of ASP.NET MVC 3. This document will be updated with additional information as we move forward in the planning process. ')
Below is a list of some of the high priority areas we want to focus on:
productivity - ASP.NET MVC 3 should offer application developers more opportunities to be productive when building web applications:
Tasked based helpers — these helper methods will focus on the task that often confronts the developer when developing web applications, for example, adding CAPTCHA to a site or using tables with pagination and data sorting;
improvements in validation — support for as many validation attributes as possible, such as those provided in ASP.NET 4 and others, such as the email validation attribute;
View Engine Options - we are experimenting with the new, elegant presentation engine syntax, and we are also working to make the implementation of third-party engines in projects like Spark simpler;
command line utilities - since we added a number of tools to Visual Studio for working with ASP.NET MVC, we want to offer alternative tools with the same functionality for the command line.
Ajax - modern applications use Ajax to create rich functionality for their users. ASP.NET MVC 3 should make building such applications more simple:
more Ajax helper methods - new Ajax helper methods will allow you to use helper libraries, such as jQuery UI to provide widgets such as: calendar, date picker, autocomplete, etc .;
Multiple Partial Updates — the current Ajax helper methods, such as Ajax.BeginForm and Ajax.ActionLink, allow you to update only one element per page after receiving a piece of markup with a response to a request. Support for updating multiple parts of a page will allow Ajax methods to receive multiple pieces of markup in response to a request and update multiple parts of a page at a time;
Client Templates Support - Client-side templates allow you to format and display single data or a set of data elements using an HTML fragment. ASP.NET MVC 3 allows you to connect client-side templates to JSON data that is returned when invoking action methods.
architecture - ASP.NET MVC 3 will contain architectural improvements that will allow developers to get new advantages, for example, improved extensibility, which will allow to customize the framework for themselves:
dependency injection at all levels - we are considering the possibility of proposing the use of dependency injection during the instantiation of the framework components. This will allow developers to intercept events like: create models during model binding, action filters, etc .;
MEF Controller Factory - MEF is a new library in .NET designed for building incremental-expandable applications that expand without the need for custom modification. Using MEF inside the factory of default controllers will allow out-of-box extensibility scenarios, while retaining the ability to use third-party DI frameworks;
scaffolding in applications - scaffolding allows you to quickly add scripts to applications for Creating, Reading, Updating and Deleting data based on models, which is a quick start point for receiving data in the application during development.
performance - as usual, we are looking for ways to make ASP.NET MVC 3 very fast:
Improved caching support - allows you to cache the results of calls to RenderAction. In addition, we are considering the possibility of implementing the “donut caching” caching type ( donut caching - everything except some part of the page is cached - approx. Transl. ) And “ donut hole caching ” ( donut hole caching - only some part of the page is cached). - approx. Transl. );
more control over the session - support for session states, as well as enabling or disabling session state for individual actions or entire controllers.
Runtime
ASP.NET MVC 3 will get a dependency on the ASP.NET 4 runtime environment and will come with templates for Visual Studio 2010.