Visual Studio 2008 - Review

Visual Studio 2008 - Review

Visual feast for developers

Bottomline: Visual Studio 2008 offers a tasty smorgasbord of programming options.

Price: £974 + VAT - VS 2008 Professional Edition with MSDN Professional subscription; Team System with MSDN Premium subscription £8,882 + VAT

Manufacturer: Microsoft

The latest release of Microsoft’s chief developer platform, Visual Studio 2008 (VS 2008), adds significant functionality, allowing software developers to write, test and deploy a wide range of Windows applications.

Officially available since February, there are two different families of VS 2008. The first is designed for teams of programmers and is divided into five editions: Team System Architecture, Database, Development, Test and Team Suite. These five editions can be installed standalone, while a comprehensive edition – VS Team System 2008 Team Suite – combines them all.

The other family targets standalone programmers and comes in Standard and Professional Editions. Mindful of freely available Linux tools that have driven up the number of applications appearing for Linux platforms, Microsoft has also released four freely downloadable Express Editions of VS 2008 – Visual Web Developer, Visual Basic, Visual C# and Visual C++.

Our tests looked chiefly at VS 2008 Professional, but we also checked out some features of VS 2008 Team System, running the Professional edition on a Dell Precision M50 workstation, and the Team System edition on a system running Windows Server 2003 Enterprise Edition.

After installing VS 2008 Professional, developers should immediately notice a revamped, cleaner user interface and toolbars. They will also notice the absence on the main menu of the Community dropdown and the addition of a new Test dropdown. The Community option has been integrated into the Help dropdown, as an MSDN Forums option.

The first time VS 2008 ran, a screen offered to import any earlier environment settings from previous versions of Visual Studio. We opted to import settings from Visual Studio 2005 to VS 2008, including fonts and colours, the window layout and the file paths to commonly used add-in components. For developers running the Team System Edition of VS 2008, not all settings will transfer to the VS 2008 Professional edition as the team version has features not found in Professional.

When creating a new project, developers can import files from earlier versions of Visual Studio or create a native VS 2008 project. Developers can choose to target three different .Net Frameworks, depending on which system they are writing applications for. The .Net Framework contains pre-written code libraries for developers in a wide range of areas, for accessing databases or writing web applications, for example. Vista uses .Net Framework 3.0 while Windows Server 2008 and Visual Studio 2008 both have version 3.5.

Multimedia applications

In VS 2008, the Windows Presentation Foundation (WPF) of Vista now gets proper support, which lets programmers write better multimedia applications. We found programming visually rich applications no difficult task, and there is a split-window allowing programmers to view the Extensible Application Markup Language (XAML) code WPF uses, allowing them to edit while the changes are reflected in the GUI above. However, programmers will need to collaborate more closely with graphic designers and multimedia professionals to really get the best out of the technology.

Interactive and web applications will also work across most popular browsers now that ASP.Net Asynchronous Java and XML (Ajax) applications can be written. Web protocol support for building Windows Communication Foundation services – such as Ajax, JavaScript Object Notation (JSON), Representational State Transfer (Rest), Really Simple Syndication (RSS) and Advanced Tool for Option Modeling (Atom) – has also been added to .Net Framework 3.5, with full tool support for WCF also being included in VS 2008, along with support for the new workflow-enabled services technology.

Also new in .Net Framework 3.5 is Language Integrated Query (Linq), which gives programmers access to different data types through Linq-enabled programming languages. Using Linq, programmers can now write code to query SQL databases, for example. Linq supports access to the following data types: Objects, which could be considered the default option; the three data types contained in ADO.NET – Datasets, Entities and SQL; and finally XML data.

As an exercise, we wrote code in C# to read in an XML data file containing the activation keys for software accessible through IT Week’s MSDN TechNet account, printed out a list of those keys associated with the requisite software package, and then wrote these values to a SQL Server database. The power of Linq is that it obviates the need to use SQL queries to access SQL databases, or XQuerys to access XML, or complex code to access other data types.

One drawback is that the only SQL database currently supported is SQL Server, but community developers or third-party vendors may well provide Linq access
to other databases such as MySQL in future.

One omission developers will notice is the absence of the J# language, mainly due to its declining use by developers. Users still needing to use J# will have to use the standalone J# package or continue using the earlier Visual Studio 2005 suite.
Support for J# will continue through to 2015 as per Microsoft’s product lifecycle strategy.

Developers wishing to target smart devices and Office 2003 or 2007 applications will need to purchase either the Professional or Team System editions of VS 2008, since the Express and Standard Editions do not support such code development.

Windows Mobile 5.0 support

A new feature in VS 2008 targets Office applications such as Excel, InfoPath, SharePoint and Word. Although Visual Studio 2005 supported Smartphone 2003 and Pocket PC 2003 devices, VS 2008 adds support for Windows Mobile 5.0 Pocket PC and Windows Mobile 5.0 Smartphone devices.

We found it easy to create a Smartdevice application targeting the Windows Mobile 5.0 Pocket PC SDK and using the .Net Compact Framework, although coders also need to install ActiveSync to deploy the application to the device. We were also able to download Windows Mobile 6 SDKs from Microsoft’s Mobile Developer Centre that are not available natively in VS 2008 Professional.

Another new feature in VS 2008 Professional is the Test feature, which allows programmers to check that their code exhibits expected behaviour. In the Team System Edition, there is also the extra Analyze feature. This contains options to run code analysis, and also has a Profiler, which is very useful for checking if there are any performance bottlenecks in specific program areas. We would like to see the profiling tool made available in the VS 2008 Professional Edition for the benefit of smaller organisations that cannot afford the relatively costly Team System Edition of VS 2008.

Two other VS Team System features are the Team Foundation Server (TFS) and the Load Test Agent. TFS is the back-office server piece of Team System, responsible for giving programming teams control over source code, project management, reporting features and collection of test data. There is also a client – Team Explorer – for programmers who need to access the data.

In conclusion, VS 2008 looks like a must-have for Windows developers, although the Team System version is costly and probably only relevant to large programming teams. Throughout our evaluation we encountered no crashes, although given the size of the suite it is difficult to comprehensively test during the time allowed, and there have already been problems reported some Microsoft forums.