Visual Studio 2008 SP1 Ships

By KENT SHARKEY on 8/13/2008 3:48:30 PM

By now, I'm sure you've heard that Service Pack 1 is out for Visual Studio 2008 and the .NET Framework 3.5. The arrival of SP1 for a development tool is often a sign that it is the moment that it is safe to start working with the product; so if you've been holding off, it's time to take another look at 2008.

As with any service pack, the majority of the fixes clean up leftover bugs and problems with the application. This service pack includes a great number of fixes to both the core framework, and Visual Studio. Two of the areas that I know that have received a lot of attention are WCF (Windows Communication Foundation) and WPF (Windows Presentation Foundation). Performance of these two technologies has obviously been a major issue with the product teams. They now speak of 5-10x improvements in WCF communication, and 40% startup time improvements for WPF applications. Startup time is often a major sticking point with users, so getting some speedup there is definitely useful. Patrick Smacchia has done a great analysis using the NDepend tool. Based on his findings, it looks like over 6,000 methods were changed (along with other changes). This support page describes many of the fixes that have been included.

This service pack is a little different though. In addition to the usual collection of bug fixes, it includes a few new features. (Yes, Microsoft people I spoke with remember the promise to never include new features in service packs again. However, that was all the way back in 1997. Last century!) Microsoft is using the release of this service pack to integrate a number of features that previously were available as separate downloads. This means that those downloads are now 'blessed', with full support and a path forward (at least until the next shiny thing comes along, anyway). Generally, these new tools are targeted at Web and data developers, but there is some nice news for desktop developers as well. Some of these new features are described below.

  • Entity FrameworkEntity Framework
    This framework provides object-relational mapping (ORM) support. It allows you to define a conceptual model of your data, then map it to the underlying database(s). ORMs are useful – especially in larger systems – to reduce the dependancies on the database, and to shield the business layer developers from having to change their classes whenever the database is changed (for optimization as one example). I'll be looking at this framework and comparing to nHibernate and Subsonic (my current favourite ORM) over the next little while. It should be noted that the Entity Framework works well with LINQ, for those who prefer that coding style.
  • ADO.NET Data Services
    One of the terms you will hear frequently lately with many of the Web 2.0 sites is APP, or the Atom Publishing Protocol. This has rapidly become a fairly standard model for communicating with a Web site using a REST interface. That is, rather than expose a number of Web services from your Web site, you recognize the standard HTTP verbs and 'sensible URLs' to carry out standard CRUD functionality. Need to view a list of customers? Do a GET on the URL /Customers. Need to update a customer? Do a POST to /Customers(5). ADO.NET Data Services provides an easy way of adding this functionality using the standard APP model. Behind the scenes, it uses Windows Communication Foundation (WCF) to do the work, so adding this API to your site is remarkably painless.
  • ASP.NET Dynamic DataASP.NET Dynamic Data
    Now that you have this fancy data access method, you still need to create a site around it. This is where ASP.NET Dynamic Data steps in. This provides a set of templates and code to generate a number of the scaffolding pages. You know, all those pages that you need to update your tables, but don't really want to write for the 50th time. You can select just what tables are scaffolded, and the end result is a fairly handsome (see Figure) set of pages for maintaining your database tables. This is especially useful for administrative tables, where a simple grid-form model of maintaining the data is acceptable.
  • .NET Framework Client Profile
    .NET has been growing, we can all see that. In addition, a number of server-side technologies have been integrated into it (Windows Workflow Foundation as one example) that you just don't need on every machine. Enter the Client Profile. This is a single 26MB download that strips out all of the server-side functionality, and is ideal for those clients who will just need to run WPF/Windows Forms applications.
  • JavaScript debugging
    As JavaScript rises in importance – either on its own, or as part of a framework just as ASP.NET AJAX, prototype or jQuery – Web developers find they need to edit it more and more often. Having the Intellisense provided by Visual Studio makes this a much more bearable experience.

There is more – much more – in this service pack, but the main message the release is: if you've been waiting, VS2008 is worth the upgrade.

Resources

Application Development
Let Apptius save you time and money by adding functionality to your existing programs.
Microsoft Outlook
Apptius offers professional development services for custom Microsoft Outlook solutions
Microsoft Outlook Logo