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.
- Tracing – Developers and administrators need the ability to monitor and diagnose issues with Web API based services. Web API gives developers and administrators visibility into web APIs including simple tracing and support for integrated logging using System.Diagnostics, ETW, NLog and Log4Net.
- Help Page – Web API help page generation will make it easy to generate rich, web-based documentation for your web APIs including the resource URIs, allowed HTTP verbs, expected parameters, and sample message payloads.
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 deck. Note: 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 Windows Azure 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.