Test Center review: Visual Studio 2008 SP1 is icing, and more cake

Going far beyond bug fixes, Service Pack 1 to Visual Studio 2008 and .Net Framework 3.5 adds many important new features

Microsoft Visual Studio 2008 (VS08) Service Pack 1 (SP1) took eight months to arrive. Considering the capabilities that have been added, eight months might not seem so long. In some ways, SP1 feels like the completion of what Visual Studio 2008 was supposed to be. It’s certainly not just the collection of bug fixes that you’d expect from the term “service pack.”

As I said in my original review of Visual Studio 2008 in January, VS08 is the premier IDE for developing applications with the Microsoft .Net Framework and at least a contender for the best Windows-hosted C/C++ IDE. As I went on to quibble, the product as released in December lacked the much-anticipated ADO.Net Entity Framework and LINQ to Entities, and broke some JavaScript and VBScript functionality from previous versions.

It’s about the data
SP1 finally includes the ADO.Net Entity Framework (EF), the Entity Data Model (EDM), and LINQ to Entities. EDM is a full-blown language-independent, database-independent entity-relationship model. It is supported by an Entity SQL language and is especially useful for data-centric line-of-business applications. LINQ to Entities integrates queries against Entities into C# and Visual Basic, which may obviate the need to learn the subtleties of Entity SQL for many programmers.

Note that Entity SQL is significantly different from the Transact-SQL query language used in Microsoft SQL Server. Speaking of SQL Server, SP1 adds full support for SQL Server 2008 to Visual Studio 2008, hot on the heels of the release of SQL Server 2008.

Better scripting
I’m happy to say that the VS08 HTML editor is no longer broken for Classic ASP. The HTML editor is still not smart enough to resolve server-side includes, however.

You’ll find vastly improved IntelliSense and code formatting for JavaScript in SP1, even for third-party libraries, at least if you structure your files the way VS08 expects. If you mess up the structure enough to confuse the JavaScript parser, the worst that now happens is that the VS08 IntelliSense and code formatting won’t work; syntax coloring usually continues to work, and the editor stays out of your way instead of trying to “help” you with misguided changes.

On the Web
The major new Web features of SP1 are ASP.Net Dynamic Data and URL Routing. Both seem to have been influenced by the popularity of Ruby on Rails, in that they support the Model-View-Controller pattern and quick generation of Web pages from database schemas.

Dynamic Data lets you build a basic data-driven Web application very quickly, based on a data model, in much the same spirit as building a Rails scaffold application. It also improves the way the data-bound controls work, adding validation and templates. The MSDN walk-through of creating a new dynamic data Web site using scaffolding includes two ways of creating the data model: one using LINQ to SQL, and the other using the Entity Framework. Check the Dynamic Data in Action section of the official ASP.Net page for a series of video tutorials.

URL Routing lets you create routing tables for your ASP.Net Web sites. This is a feature that was originally developed for the ASP.Net MVC Framework, which is still in preview; it was useful enough by itself that it was split off and released with SP1. The MVC Framework looks roughly like what you’d expect if you saw a proposal whose one-line sell was “ASP.Net meets Rails.”

What does URL routing actually do for you? Instead of having to use HTTP POST or query syntax to get to a data-dependent page, or having to do URL rewriting, you can use an ordinary-looking URL and have it translated by a routing table, which is more consistent with RESTful design and with the way search engines work – and more like Rails.

Speaking of REST support, the new Windows Communication Foundation (WCF) Web Programming Model adds support for REST, AJAX, and JSON services, and both ATOM and RSS feeds, to WCF’s already strong support for XML Web services, the WS-* stack, and an efficient but proprietary binary protocol. Who says Microsoft is out of touch with Web 2.0 and SOA?

On the desktop
I have had several issues with Windows Forms client applications in the past: First, they wouldn’t run from network shares because of security issues. Second, their installation footprint was quite large on computers that didn’t already have the .Net Framework installed. Third, they were slow to start. All of these problems have been fixed nicely in SP1, and several new Windows Forms controls have been added, the ones that used to be in the downloadable Visual Basic Power Packs – only they aren’t restricted to use from Visual Basic. In addition, Windows Presentation Foundation (WPF) design and debugging have been significantly improved.

If you’re a C# programmer, you’ll be happy about the improved flagging of potential errors (see screen image). That’s the sort of help that Visual Basic programmers have come to expect from the editor; now C# has it as well.

Visual Basic programmers have one new toy that C# programmers can't claim; it’s called XML to Schema (see screen image), and it’s a way to automatically infer an XML schema from the XML file. C# programmers still have to load the XSD and XML files manually.

Time-consuming, but worth it
I haven’t found any downside to installing VS08 SP1, other than the time; it took me several hours to download and install it over a relatively good broadband connection: if I had to do it again, I’d kick it off just before I went home for the day. Note that the updated MSDN documentation requires a separate download and installation. Once installed, the SP1 changes are, in my experience, all good. Unless you have add-ons or SDKs that still require Visual Studio 2005 (the .Net Micro Framework comes to mind), I don’t see any reason for a Microsoft shop not to completely switch over to Visual Studio 2008 SP1.

InfoWorld Scorecard
Value (10.0%)
Documentation (15.0%)
Capability (30.0%)
Ease of development (30.0%)
Performance (15.0%)
Overall Score (100%)
Microsoft Visual Studio 2008 SP1 9.0 9.0 10.0 9.0 9.0 9.3

Copyright © 2008 IDG Communications, Inc.