What's new in asp.net mvc 4

17
What’s new in ASP.NET MVC 4 Simone Chiaretta Architect, Council of the EU http://codeclimber.net.nz Twitter: @simonech

description

Overview of the new features available on ASP.NET MVC 4 Developer Preview

Transcript of What's new in asp.net mvc 4

Page 1: What's new in asp.net mvc 4

What’s new in ASP.NET MVC 4

Simone ChiarettaArchitect, Council of the EUhttp://codeclimber.net.nzTwitter: @simonech

Page 2: What's new in asp.net mvc 4

Who am I?

► Simone Chiaretta► Microsoft MVP ASP.NET► ASP Insider► Blogger – http://codeclimber.net.nz ► Moved to Belgium► Contributor to various OpenSource projects

► Runner/Climber/Triathlete

Disclaimer:"The views expressed are purely those of the speaker and may not in any circumstances be regarded as stating an official position of the Council"

Page 3: What's new in asp.net mvc 4

ASP.NET MVC 4 Goals

► Enhance development and deployment► Bring together all MS Web Stack► Better HTML5 / Mobile support► Cloud ready

Page 4: What's new in asp.net mvc 4

ASP.NET MVC 4

► New and refreshed Project Template► Enhanced support for mobile sites► Recipes for custom code generation► Improved support for async controllers► Cloud-ready

Page 5: What's new in asp.net mvc 4

ASP.NET MVC 4 – Developer Preview

► Released September 2011 @ Build► Both for .NET 4 and .NET 4.5 preview► Downloadable with Web Platform Installer 4

Page 6: What's new in asp.net mvc 4

New Project Template

► New look closer to ASP.NET website► HTML5 by default► Responsive Design (via media queries)► Uses jQueryUI for the login► Includes KnockOutJS

Page 7: What's new in asp.net mvc 4

Support for Mobile Sites

► New Mobile Project Template for mobile-only sites

► Display modes– Views/index.cshtml– Views/index.mobile.cshtml

► Inclusion of jQuery Mobile► View Switcher and Browser Overriding

Page 8: What's new in asp.net mvc 4

Recipes

► Custom code-generation plugins► Downloadable via NuGet► Still a bit undocumented► Heavily rely on VS Extensibility

Page 9: What's new in asp.net mvc 4

Recipes How-To

► Class library► Reference Microsoft.VisualStudio.Mvc.Extensibility.1.0.dll

► Implement IRecipe or IFolderRecipe► Build your own custom UI Dialog► Package and deploy with NuGet

Or

Install Package AspNetMvc4.RecipeSdk

Page 10: What's new in asp.net mvc 4

Task based Async Controllers

► Single Method Async Contollers► No more manual handling of requests► Returns Task<ActionResult>

MVC3public void SyncAllAsync(){

AsyncManager.OutstandingOperations.Increment();StuffService stuff = new StuffService();stuff.StuffCompleted += (sender, e) =>

{ AsyncManager.Parameters["model"] = e.Result; AsyncManager.OutstandingOperations.Decrement();

};stuff.DoStuffAsync("Some other stuff");

}

public ActionResult SyncAllCompleted(SyncViewModel model){

return View(model);}

MVC4

public Task<ActionResult> SyncAllAsync(){

StuffService stuff = new StuffService();return stuff.DoStuffAsync()

.ContinueWith(t => {return View(t.Result)});

}

MVC4 + C#5 (or Async CTP)

public async Task<ActionResult> SyncAllAsync(){

StuffService stuff = new StuffService();return View(await stuff.DoStuffAsync());

}

Page 11: What's new in asp.net mvc 4

Looking at the future

► Better integration with other “products”– Web Pages 2– ASP.NET 4.5– Web API

Page 12: What's new in asp.net mvc 4

Minification & Bundling

View<script src=“/Scripts/js”></scripts>

Global.asaxBundleTable.Bundles.EnableDefaultBundles();

Page 13: What's new in asp.net mvc 4

WCF WebAPI Preview 6

► Uses WCF syntax for web API► Returns JSON or XML► Extensible

Page 14: What's new in asp.net mvc 4

Summary

► MVC4 introduced new mobile features, better aync, enhanced tooling

► Current release is a Developer Preview from BUILD (4 months ago)

► Beta coming in the next few months

► Final release in sync with next release of Visual Studio vNext (Dev11)

Page 15: What's new in asp.net mvc 4

References

► MVC 4 Main Page and Dev Previewhttp://www.asp.net/mvc/mvc4

► Release Noteshttp://www.asp.net/whitepapers/mvc4-release-notes

► Roadmaphttp://aspnet.codeplex.com/wikipage?title=ASP.NET%20MVC%204%20RoadMap

► Phil Haack’s Mobility Talk, BUILD Sep 2011http://channel9.msdn.com/events/BUILD/BUILD2011/TOOL-803T

► Create an MVC4 Recipehttp://haacked.com/archive/2011/09/22/writing-a-recipe-for-asp-net-mvc-4-developer-preview.aspx

► The evolution of Async controllers in ASP.NET MVChttp://codeclimber.net.nz/archive/2012/01/09/evolution-of-async-controller-asp-net-mvc.aspx

Page 16: What's new in asp.net mvc 4

Contacts – Simone Chiaretta

► Blog: http://codeclimber.net.nz/► Twitter: @simonech

16

Page 17: What's new in asp.net mvc 4

© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.