Beyond 2008

One of the nice side effects of a new release for Visual Studio is the flattening of the stack of additional installs you need in order to work with the latest technologies. For example, by installing VS2008, you remove the need to install the following immediately:

  • VS2005 Service Pack 1

  • VS2005 Service Pack 1 Update for Vista Compatibility Pack

  • ASP.NET 2.0 AJAX Extensions 1.0

  • .NET Framework v3.0 Controls for Visual Studio

  • .NET Framework v3.5

What VS2008 doesn’t provide, of course, are the technology stacks that are still in development, some of which are very relevant to web development.

The Silverlight Stack

Initially touted as Microsoft’s rival to Adobe’s Flash Player, Silverlight’s cross-platform .NET runtime looks set to be much, much more than that. Its early-adopter demonstration applications from the BBC and Major League Baseball hint at the idea of full applications streamed through this browser plug-in from data centers, as well as enabling media streaming and XBAP applications. Silverlight also includes support for the dynamic stack.


For more about Silverlight, see Programming Silverlight 2 by Jesse Liberty and Tim Heuer (O’Reilly), available in 2009.

The Dynamic Languages Stack

At MIX07 in Las Vegas, Microsoft announced a new Dynamic Language Runtime (DLR) which is to bolt onto the core .NET runtime and provide support for dynamic languages such as Ruby and Python. The .NET runtime has always been targeted at “static” languages where types and methods are defined at compile time rather than at runtime. The DLR will include a shared dynamic type system, standard hosting model, and support to make it easy to generate fast dynamic code.

The Data Futures Stack

One of the poster children for dynamic languages is Ruby on Rails (RoR). This dynamically generates classes against a database and web pages that use those classes to enable the creation, use, alteration, and deletion of the data the database contains. It’s a fantastic tool for prototyping a data-driven web application very rapidly, and the ActiveRecord wrapping pattern at the heart of RoR has been adapted into C# by several open source projects (Castle and SubSonic, to name but two).

It’s also a good example of the object-relational mapping (ORM) layer, in which the properties and methods of an object map to the fields in and queries over a database table. The LINQ and ADO.NET teams are currently working on two ORM layers. LINQ to SQL (discussed in Chapter 10) is part of the .NET Framework 3.5 and is aimed at the situation in which there is a 1:1 relationship between classes and database tables. An “enterprise-level” ORM layer known as the ADO.NET Entity Framework which is aimed at situations with a 1:n relationship between classes and database tables is included with Service Pack 1 of .NET 3.5 and VS2008.

Also in the data-based future are two other Microsoft projects, codenamed Astoria and Jasper. Astoria, now officially christened ADO.NET Data Services, offers a new approach to accessing data over the Web through web services. It is also included with Service Pack 1 of .NET 3.5 and VS2008. Jasper, still known only as Jasper, is Microsoft’s interpretation of RoR using the ADO.NET Entity Framework as the ORM glue to produce rapid web application prototypes based on a database.


These three stacks aren’t mutually exclusive. The Data Futures stack, for instance, uses the dynamic stack as the basis for Jasper, whereas Silverlight and Dynamic Data controls feature in the ASP.NET 3.5 Extensions download. The point is that you may well end up with all three on your machine rather than just one.

Get Programming ASP.NET 3.5, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.