Roadmap for ASP.NET Fall 2012 Update

This section lays out a roadmap for the ASP.NET and Visual Studio Web Tools Fall 2012 update. 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.
  • 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.

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 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.
  • 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.

For 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.

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

MVC | AJAX | Dynamic Data |WebForms |Dynamic Language Support |ASP.NET QA |Runtime |WebPages

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 Data: ASP.NET Dynamic Data enables you to quickly build a functional data-driven application, based on LINQ-to-SQL or ADO.NET Entity Framework data models.

WebForms: The ASP.NET Web Forms framework enables rapid development of Web applications.

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.

ASP.NET QA: Testing related releases and sample code from the ASP.NET Quality Assurance team.

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.

Notes

  1. Visit our new project site to find out how you can contribute to the latest ASP.NET projects and releases.
  2. We cannot include any source code that you send us in this project (through comments, patches, or items in the Issue Tracker). However, we do welcome all feedback.
  3. Unless otherwise stated, the source code and binary files in this project should be considered early alpha builds and as such are intended for experimentation only.

Last edited Oct 16, 2012 at 4:34 PM by rsatter, version 130