Written by T. Michael Testi
Visual Studio 2008: Professional Edition is the latest incarnation of the integrated development environment (IDE) from Microsoft Corporation. It can be used to develop console and GUI applications as well as Windows Forms Applications, web sites, web applications and web services for all platforms supported by Microsoft Windows, .NET Framework (compact as well), Microsoft Silverlight, and Windows Mobile. It includes a code editor, an integrated debugger, and other built in tools for professional software development.
Visual Studio 2008 comes in several editions which target certain core users.
• Visual Studio Express Edition are a series of free lightweight IDEs that stripped down versions that target specific languages with one each for VB, C++, C#, and web development. They contain a small set of the tools compared to the other systems and are geared for students and hobbyists.
• Visual Studio Standard Edition provides and integrated IDE for all supported products; it supports XML and XSLT editing and creates deployment packages that only use ClickOnce. It has no integration with Microsoft SQL Server, can only consume Add-ins for extensibility, and has no mobile development support.
• Visual Studio Professional Edition has all of the features of Standard Edition and adds SQL server integration, mobile development, remote debugging, and adds macro's and packages to Add-ins for extensibility.
• Visual Studio Team System Edition adds to the Professional Edition features team collaboration functionality items such as metrics and reporting tools. There are five versions of the team systems; Architecture, Database, Development, Test, and Team Suite; the later includes the prior four Team Editions functionality.
The version that I evaluated is Visual Studio 2008: Professional Edition which is probably the one that is most used in small to mid-sized professional development environments. It contains all of the tools needed to create professional applications for both the desktop and the web.
Visual Studio 2008 was released to MSDN subscribers on November 19 2007 and generally released in early 2008. The focus of this version of Visual Studio is on development of Windows Vista, 2007 Office systems, and Web applications. It also brings a new language feature: LINQ, new versions of the C# and VB languages, a Windows Presentation Foundation visual designer, as well as improvements to the .NET Framework.
The goal of this release was to reduce the complexity of building, managing, and deploying all types of applications and by such giving developers more time to focus on solving development challenges. By supporting several languages it will allow programmers of all backgrounds to rapidly create superior end-user experiences.
So what is new in Visual Studio 2008?
• .NET Framework 3.5 – builds on the .NET Framework 3.0 with enhancements to feature areas such as the base class library, Windows Workflow Foundation (WF), Windows Communications Foundation (WCF), Windows Presentation Foundation (WPF), and Windows Cardspace, as well as LINQ, ASP.NET AJAX, and other improvements.
• LINQ Support – also known as Language Integrated Query will allow developers to query data sources like ADO.NET, SQL, and XML. Included are three LINQ implementations: LINQ to SQL which allows users to write queries to retrieve and manipulate data from a SQL Server, LINQ to XML which provides a new way to construct and write and read XML data in the .NET language of choice, and LINQ to Datasets which makes it easier and faster to query data cached in a dataset object. LINQ generally out performs SqlDataAdaptor and reasonably close to SqlDataReader. Considering the additional benefits of LINQ, this is great news.
• Targeted .NET Frameworks – now allows you to target the .NET Framework that you want. In Prior incarnations of Visual Studio, you could only target the released version. VS 2002 only worked with .NET 1.0, VS 2003 only worked with .NET 1.1 and VS 2005 only worked with .NET 2.0. Now you have a choice. You can select between 2.0, 3.0 and 3.5. This means when you update your existing application to work with VS 2008, you can stay with the .NET 2.0 Framework and so your clients won't have to upgrade their system. If at some point later you want to update to .NET 3.5 select it on the properties page. Unfortunately, because of significant CLR engine changes, you cannot go back to .NET 1.x.
• Integrated Testing – now has integrated testing facilities into Visual Studio 2008 as opposed to having them as an add-on. In the professional version you can create and run two types of tests. First there is unit testing, to check if a specific method of production code works, for regression, or smoke testing. Then there is ordered testing that allows you to run tests in a specific order.
• Window Presentation Foundation (WPF) – is aimed at helping developers create attractive and effective user interfaces. Most software developers are more effective with technology than design. In the past the developer would have to integrate some combination of Windows Forms, GDI+, Direct3D, and other technologies together to create an interface. WPF attempts to handle most of that for you. Not that you won't have to still use other technologies, but rather by providing a broad range of functionality into a single technology, WPF can make creating a modern user interface significantly easier.
• Windows Communications Foundation (WCF) – is the next generation programming platform and runtime system for building, configuring, and deploying network-distributed services. In the past you have had ASP.NET Web Services (ASMX), Web Service Enhancements (WSE), Microsoft Message Queue (MSMQ), Enterprise Services/COM+, and .NET Remoting. You also had to make a choice of which one to use. With WCF you no longer are limited to one technology or one programming model.
• Window Presentation Foundation (WPF) – is the programming model, engine, and tools for quickly building workflow enabled applications on Windows. It contains support for both system workflow as well as human workflow within a wide variety of scenarios such as line of business workflow, interface workflow,
• Visual Designers – comes with an XAML based designer, Visual Studio Tools for Office designer which supports the development of InfoPath, Visio, and PowerPoint, as well as Word, Excel and Outlook, WPF Designer to help with WYSIWYG design of UI, a LINQ to SQL Designer, an updated XLM Schema designer (shipping separately)
• Office Based Solutions – are available in VS 2008 Professional edition. You can use these to build Microsoft Office-based solutions that are reliable, scaleable, and easier to maintain. By using WPF, WCF, and LINQ and Visual Studio Tools for Office (VSTO) you can build a wide range of customer solutions. These new technologies make it easy to build solutions that were difficult, or impossible in prior versions.
• Enhanced Collaborations – between designers and developers make it much easier to create more compelling user experiences. Designers can use Microsoft Expression Web to design a User Interface (UI) and then turn it over to the developers with faith that the subsequent developed business logic code will result with UI design remaining intact.
• Improved Mobile Development – within both the Professional and Team systems makes it even easier to extend desktop applications to mobile base devices. Along with .NET Framework 3.5, there are enhanced mobile Windows Forms controls that make it easy to modify and optimize mobile applications' screens to support the mobile devices' smaller displays.
• Silverlight Support – is included via a Silverlight SDK and Silverlight Tools for VS08. This is a rich internet application technology that includes a subset of WPF.
• Nested ASP.NET master page support at design time
• Rich CSS editing and layout support within the WYSIWYG designer
• Split View Designer for having both source and designer visible at the same time
OK, as with any release of a new version of Visual Studio, there are two questions that need to be answered. First, is this early release ready for prime time, and second is it really worth the upgrade? I have been running Visual Studio 2008: Professional Edition for a few weeks now and I have not experienced any problems that could not be traced back to my own fault. In doing some web research, I did find a hot fix that is posted on the MSDN blog that is a performance fix with regards to some sluggishness when working in Design View, but everything on this release appears to be pretty clean.
The next question on is this version worth the upgrade? My personal opinion is that it is most definitely worth the upgrade. I guess that if you are writing console apps in unmanaged C++ you can probably skip the upgrade, but if you are doing anything modern especially with regards to application or web development, you will be letting your competition get the upper hand if you don't upgrade.
So what are the downsides? The two that come to mind are the dropping of support for VBScript and Classic ASP. This means that there will be neither Intelesense help nor highlighting for either of these types of code. This will be a significant problem for those shops that still support these platforms. According to Microsoft, they recommend running Visual Studio 2005 along side of 2008. Now this is not an all is lost proposition. As of this writing word has it that Microsoft is considering restoring this functionality in a service release, but those who are still maintaining older sites will want to keep their existing tools. The other is the lack of support for .NET Framework 1.X. That would have been the cherry on the sundae, but not a deal breaker since no prior version had the multi-framework support.
Bottom line, if you are a Microsoft shop, I would most definitely upgrade and begin all new development using Visual Studio 2008 to take advantage of the new technologies. Once you are comfortable using Visual Studio 2008 I see no reason not to upgrade your existing projects. My experience has been that the upgrade is rather painless with relatively few actual code changes.
For those who are maintaining older versions of Visual Studio, I would seriously consider making the move to Visual Studio 2008. Even for those who thought that Visual Studio 2005 was a bit problematic, I would suggest that they take a good long look at 2008.
My impression is that Visual Studio 2008: Professional Edition; and probably all of the editions, are very, very solid. It is a strong upgrade; perhaps the most decisive upgrade in a long time. I believe that, with very few exceptions, users of prior versions will find a significant feature to justify an upgrade. If you have never used Visual Studio, now is a great time to check it out. I highly recommend Visual Studio 2008: Professional Edition!