ASP.NET MVC 2 RTM ed un po’ di MVC 3 :)
Finalmente è stata rilasciata la versione definitiva di ASP.NET MVC 2. Il download è disponibile qui e soltanto per Visual Studio 2008 (di fatto Visual Studio 2010 integrerà già in sé la versione 2 di ASP.NET MVC).
Ovviamente non ci sono novità di rilievo in quanto la RC2 era già features complete. Ciò su cui si è sicuramente lavorato sono le performances, la stabilità ed un po’ di bugfixinig.
Ovviamente è appena stata rilasciata la versione 2 e già si parla della versione 3, infatti a questo indirizzo potete trovare la roadmap della prossima release, che riporto qui di seguito:
Now that ASP.NET MVC 2 is released, it's time to start planning for ASP.NET MVC 3. This roadmap will be updated with more information as we get further in our planning process.
Here is a list of some of the high-level areas of focus we're looking at.
- Productivity - ASP.NET MVC 3 should provide ways to make application developers more productive when building web applications.
- Tasked based helpers - These helpers focus on tasks that commonly come up when building web applications such as adding a CAPTCHA to a site or providing a sortable, pageable grid of data.
- Validation Improvements - Support for more validation attributes such as the new ones introduced in ASP.NET 4 as well as possibly a few new ones such as an email validation attribute.
- View Engine Options - We're experimenting with a new streamlined view engine syntax as well as making it easier to pull in community view engines such as Spark into a project.
- Command line tools - As we add new tooling for ASP.NET MVC to Visual Studio, we will look at providing command line alternatives for the same functionality
- Ajax - Modern applications make use of Ajax to provide a rich experience for their users. ASP.NET MVC 3 should make building such applications much easier.
- More Ajax helpers - New Ajax helpers may leverage libraries such as jQuery UI to provide widgets such as a calendar date picker, autocomplete, etc.
- Multiple Partial Updates - The existing Ajax helpers, such as Ajax.BeginForm and Ajax.ActionLink, only update one element in the page when receiving a partial view from an action method. Support for multiple partial updates would allow the Ajax helpers to receive multiple partial views and update multiple sections of the page with those views.
- Client Templates Support - Client templates enable you to format and display a single data item or set of data items by using a fragment of HTML. ASP.NET MVC 3 may provide the ability to connect client templates easily with an action method which returns and receives JSON data.
- Architecture - ASP.NET MVC 3 should contain architectural improvements which provide benefits such as improved extensibility that enables developers to more easily bend the framework to their will.
- Dependency Injection at all levels - We're looking at opening up more seams for applying the dependency injection when instantiating components of the framework. This would allow developers to hook into the creation of models during model binding, action filters, etc.
- MEF Controller Factory - MEF is a new library in .NET for building applications that can be incrementally extended without requiring modification. Enabling MEF by default within the default controller factory would allow for extensibility scenarios out of the box, while still allowing for 3rd party dependency injection frameworks to be used as alternatives to MEF.
- Application scaffolding - Scaffolding allows for quickly implementing simple Create, Read, Update, Delete pages against a model which provide a nice starting point for quickly getting data into an application during development.
- Performance - As always, we're looking at ways to make ASP.NET MVC 3 blazingly fast.
- Improved Caching Support - Enable caching of an child action when called via the RenderAction method. Also looking at donut caching and donut hole caching.
- More Control Over Session - Support for granular session state as well as turning session state on and off on a per action/controller basis.