Roadmap for Microsoft ASP.NET and Web Tools 2012.2

This section lays out a roadmap for the Microsoft ASP.NET and Web Tools 2012.2. 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.

We just shipped Visual Studio 2012, .NET 4.5, MVC 4, Web API and Web Pages 2. We are working on our next release and we are working 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:

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. SignalR is a self-contained library installed via NuGet that is targeting a 1.0 RTW as part
of the Fall Update. 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 Web API.

To get more information, check the
SignalR site. There you can find source code and other information, file bugs, give feedback and even contribute.

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 and be able to move them to Azure Cloud using the same Windows authentication. This allows 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.

Web API

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.

To get more information, check the
ASP.NET MVC, Web API and Web Pages site. There you can find source code and other information, file bugs, give feedback and even contribute.

MVC

New functionality is provided by new templates that enable scenarios for building ASP.NET applications that feature Azure, Single Page Applications, real time updates using SignalR and Facebook integration. We are planning to focus on new runtime functionality
after the fall update.

Template work includes

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.

Facebook – 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 RTM versions of Mobile templates contained caching bugs. The caching problem has been fixed in this version.

Web Form Friendly URLs

The Web Forms project templates will be updated with a new NuGet package that removes the .ASPX extension on pages, supports mobile versions of Master Pages and Web Forms, and enables clean URLs with data values being passed as part of the URL (for example
www.example.org/products/1).

To get more information check the
ASP.NET Friendly URLs site. There you can find out more information, file bugs and give feedback.

Web Optimization

The Web optimization framework was first released with Visual Studio 2012 and provides optimization features such as bundling and minifying JavaScript and CSS at runtime. The next release will include the following new optimization features:

Support for custom virtual path providers

CDN fallback expressions

Templates for link and script tags rendered by the helper methods

Build time support for bundling and minification

NuGet

In addition to the regular rhythm of bug fixes, and other incremental improvements, the following feature additions are planned for NuGet:

Hierarchical support for NuGet.config files: This enables you to place one or more nuget.config files anywhere up the directory tree from your project or solution folder and have your projects settings be the composition of the settings in those different
files.

Custom packages folder location: based on a setting in NuGet.config, you will be able to have packages installed into any folder of your choosing. Combined with hierarchical NuGet.config file support, this will make it easy to create a shared packages folder
for multiple projects and solution.

Support for portable libraries and Windows Phone 8 projects which gives you the ability to target more types of projects. Additionally, we’re cleaning up the target monikers to make it simpler to identify the platform that you’re targeting.

Improved Visual Studio experience: We’ve been working to improve search on the nuget.org Web site for a few iterations, but we’ll soon be bringing all of those search improvements to both the NuGet package manager dialog and the Visual Studio
quick search dialog.

Support for C++ projects: We are planning to add native support to NuGet’s list of target project types. This will include the ability to support different processor architectures, build modes, and other configuration pivots that are common
when developing native libraries.

To get more information, check the NuGet site. There you can find source code and other information, file bugs, give feedback and even contribute.

ASP.NET Membership System

With the release of VS 2012 we added support for OAuth and OpenID to our project templates and existing membership system. Moving forward we are looking at creating a more modern abstraction than the existing membership providers. These would provide first
class support for modern methods of authentication (such as OpenAuth/OpenID), as well as local username and password. It would also include support for the developer to easily change the underlying storage mechanism to SQL Server, Azure Table or any other
store of choice. It will also be unit testable. Furthermore, shims will be provided to make it easy for applications using the existing membership providers to take advantage of the new system as well.

Conclusion

As always we invite you to provide feedback and ideas for future development. As we said before, plans can change and 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.

This Site

This CodePlex project gives you access to the code for prior releases that the Microsoft ASP.NET team worked on. In addition you can find overall information on this site. The project gives you a look at the design and lets you have a voice in it. You
can send us feedback for all ASP.NET releases on the site through the
ASP.NET forums on the ASP.NET Web site.

This project also contains a variety of useful samples for ASP.NET technologies to help get you up and running fast. You can find more samples, videos and tutorials listed on the
ASP.NET Web site.

MVC 3: ASP.NET MVC 3 and prior version code and information. See
new project site for the latest version. MVC enables you to build model-view-controller (MVC) applications by using ASP.NET.

AJAX: The ASP.NET Ajax Library includes the Ajax Control Toolkit and enables you to build database-driven web applications that execute entirely in the web browser.

Dynamic Language Support: The ASP.NET Dynamic-Language Runtime (DLR) is a framework for using .NET Framework-based dynamic languages. The
project includes samples for creating ASP.NET Web pages by using dynamic languages such as IronPython and IronRuby.

Runtime: This area contains previews of future API's and features for the ASP.NET runtime.

Web Pages 1: ASP.NET Web Pages 1 code and information. See
new project site for the latest version. ASP.NET Web Pages with Razor Syntax is a simple web framework that helps you quickly build applications with ASP.NET.

You can download the source code and compile it on your own computer. If you find any bugs or other issues, please use the
issue tracker or the
forums to notify us.