This document lays out a roadmap for ASP.NET MVC, ASP.NET Web API, and ASP.NET Web Pages. This is a planning document, not a specification of what is to come. We hope to implement most or all of the features listed here, but there are no guarantees. Plans can change. You can help change them! Please visit the ASP.NET UserVoice site to provide feedback on our plans so that we have a better picture of what you want to see in the next release.

ASP.NET is a set of technology components for building web sites and services whether hosted locally or in the cloud. Developers can use the components to build sites and services they need to support their application. ASP.NET MVC, Web API and Web Pages are components built within the larger context of ASP.NET.

We just shipped Visual Studio 2012, .NET 4.5, MVC 4, Web API and Web Pages 2. We are working on our next release which we are targeting to have a preview available at the Build conference and an RTM before the end of year. The following items are what we are tentatively targeting for this next release:

Web API

This is a major area of focus for the new functionality. Web API will be extended to enable richer OData functionality, expand support for Windows Store Apps and enable simple tracing and monitoring. In addition, the template will be updated to use the new functionality.

  • OData -  Rich OData query support will be brought back using the new OData URI parser. Developers will be able to control OData query semantics. OData endpoints can be implemented over any data source using the new OData formatter, metadata controller, and modeling capabilities.
  • Windows Store Support-  Client side support for Windows Store Apps will be expanded. In addition to HttpClient class there will be support for using Web API formatters.
  • Diagnostics and Logging -  Developers and administrators need the ability to monitor and diagnose issues with Web API based services. The next release will contain simple tracing and help features. Web API give developers and administrators visibility into web APIs including simple tracing and support for integrated logging using System.Diagnostics, ETW, NLog and Log4Net. Additionally, Web API help page generation will make it easy to generate rich, web-based documentation for your web APIs including the resource URIs, the allowed HTTP methods, expected parameters, and sample message payloads.
  • Help Page - The Web API template will be updated to enable automatic help page generation, tracing and OData support. In addition, SignalR template will be available to quickly build web APIs using the new real-time framework.

MVC

No new functionality will be added to the runtime components. Instead the area of focus will be enabling a richer set of templates for building various types of web applications developers need in addition to updating the current templates.

Template work includes

  • SignalR – SignalR is a new member of the ASP.NET family that facilitates adding real-time functionality to web applications using WebSockets and other down-level transports.  This will include item templates for adding SignalR connections and hubs to an ASP.NET application as well as a full project template that integrates with ASP.NET MVC and ASP.NET.
  • Single Page Application (SPA) Template and Tooling - we are working on the next generation version of support for writing rich interactive applications also known as Single Page Applications, SPA. In this release we are building an MVC-based template that uses Knockout.js and Web API controllers to show many of the best practices for building such an application. This will include tooling updates for Visual Studio that make client side development easier with support for LESS, CoffeeScript, syntax highlighting for Knockout.js, HandleBars, Mustache, Paste JSON as Classes, and more. For information on our design goals check this PowerPoint deckNote: Earlier this year the Beta version of Visual Studio 2012 included a template that was designed for building “single page applications” using Upshot.js and a special Web API-based DataController that provided support for insert, update, and delete operations using the unit of work pattern with transaction support. We are not currently continuing work on that template or Upshot.js. We want to first focus on improving the development experience with existing popular JavaScript libraries and in future versions we will revisit this decision and see if additional libraries are needed to round out the SPA experience.
  • Windows Azure Active Directory - We want to make it very simple for developers to take applications inside their organization that use Active Directory for security to be able to be  moved to the Azure Cloud and still use the same Windows authentication, allowing application to be moved to Azure without significant changes. This will involve new tooling in Visual Studio that allows you to enable Azure Active Directory authentication in a few simple steps
  • Facebook – a new project template for making Facebook applications using ASP.NET. Developers will be able to go to the Facebook Developer Center and get an app. Then apply the app keys inside the template, define which Facebook user fields your app requires and the template will handle authentication, app permissions, keep user data up to date and provide easy access to the C# Facebook SDK.
  • MVC Mobile Templates - the mobile templates contain a few bugs that cause the template to cache too aggressively in some cases, and not cache enough in other cases. We plan to address these issues.

As always we invite you to provide feedback and ideas for future development. Plans can change. You can help change them! Please visit the ASP.NET UserVoice site to provide feedback on our plans so that we have a better picture of what you want to see in the next release.

Last edited Oct 5, 2012 at 10:30 PM by rsatter, version 36

Comments

artificer Oct 5, 2013 at 5:11 PM 
I consider Database.Open (Webmatrix.Data) and ASP.NET Web Pages 2 to be a simple and elegant way to teach newcomers about database access before getting into more complex ways of building a DAL.

I hope MS keeps supporting it.

amitraisharma Jul 23, 2013 at 4:06 PM 
Please extend MVC to support fluent API for validations.

Yustme Jun 26, 2013 at 10:58 PM 
Hi,

I'd like to see better support for localization. Especially for enums.

Rujaun May 5, 2013 at 7:26 PM 
Thanks for all the hard work! I'm really glad that you guys are trying to simplify the use of DropDownLists, Its a real pain in the ass to make it work, and not allot of helpful tutorials and info on it. And very smart move to integrate twitter bootstrap!

This is why I love to be a .net developer =)

RichardGarside Apr 19, 2013 at 3:05 PM 
I'd like to see better and easier localisation support. Something like what's used in Orchard.

jfattic Mar 25, 2013 at 9:32 PM 
Those of you wanting full OData support today can get it with much less code using WCF Data Services.

nikolawannabe Mar 25, 2013 at 7:03 PM 
"Web API with Security" Man, wish I would have known this 30 days ago, when we started building OAuth support for our WebAPI. Still, good to hear!

klabran Mar 25, 2013 at 6:27 PM 
I like what I'm seeing. A thought on using Bootstrap in the templates. I love it but some may desire another framework and/or none at all depending on the project's need, size, team, etc.... Flexibility in this situation might be best. Could you offer a bootstrap and non template version. Perhaps you can make it part of the project creation dialog like unit tests are? That would save on project type pollution while still allowing for extensions for another to add in framework Y....

leriksen71 Feb 28, 2013 at 2:01 PM 
Nice direction guys. The new ODATA work looks promising. Any possibility for some kind of discovery service and client/proxy generation in the future now that most of the foundation is laid?

lafi Feb 24, 2013 at 3:09 PM 
Now is february, 24th, 2013. Could you please give us an update on your roadmap and future plans?

dlaub Dec 18, 2012 at 6:37 PM 
The PowerPoint deck for the SPA Template talks about a December release - but it is already mid-December and I've seen no blog posts, etc. indicating when this template will really be available - can anybody comment on this? Thanks

VictorWoo Nov 8, 2012 at 2:21 AM 
There is a set of js libraries that suitable for ASP.NET SPA. Such as:
knockout.js VS backbone.js
sammy.js VS nav/history.js
...
I think they cost much time to study.
Before release the next generation of asp.net (SPA), will you please brief us on which libraries will be chosen in the next release? So we can prepare ahead of schedule. That could be great help.
Thanks.

corydeppen Oct 9, 2012 at 11:37 PM 
Was support for Sass intentionally excluded, or will it be included alongside support for LESS?

msusur Oct 9, 2012 at 5:53 AM 
output cache support for webapi is a real need. will you add this support?

scothu Oct 4, 2012 at 4:56 PM 
joshuadavidlee, moving forward we plan to focus on existing client side libraries and enabling the authors of those to support them in our templates. As a result we do not plan to update Upshot.js. Upshot.js will remain I the source repository for people that want to use that code base.

joshuadavidlee Oct 4, 2012 at 3:15 PM 
Earlier this year the Beta version of Visual Studio 2012 included a template that was designed for building “single page applications” using a new library called Upshot.js and a special Web API-based DataController that provided support for insert, update, and delete operations using the unit of work pattern with transaction support.
-------------------------------------------------------------------------------------------------------

And is this the plan in the future? You will continue to develop upshot js and the new data controller?
This will be the guidance going forward?

jeffyjones Aug 25, 2012 at 4:18 AM 
Probably a good time to update this now that you've had RTW. I see bugs assigned to "vNext" and "OOB" but those aren't very meaningful.

camelinckx Jun 28, 2012 at 6:39 PM 
Hi, great stuff & progress!
Is there a timeframe for MVC 4 to be fully released, what is your advice if starting a new project with a dev cycle of 6 months, go MVC 3 or MVC 4 RC?

cime3d May 25, 2012 at 11:00 PM 
Please add $count and $inlinecount to OData!

breynolds73 May 4, 2012 at 4:10 PM 
Would like to see output caching work with the web api

Geminiman Apr 9, 2012 at 5:15 PM 
Please add $select to your OData implementation! It's critical for any scalable app to be able to support this with Web API.

venjiang Mar 31, 2012 at 2:52 PM 
Great!