.NET Cheat Sheet
The skinny on 1.1, 2.0, 3.0 and 3.5.
The .NET Framework is five years old, and yet there's great confusion over the many releases that have reached the market and the specific versions of Visual Studio that work with them.
And if that weren't enough, dev managers must account for development style. Are you a rapid application shop, utilizing mostly datasets and building standalone applications? Or are you more of an enterprise development shop, building domain models, custom frameworks and integrating applications? Let's look at where each version of .NET fits in.
Microsoft ended support for the original .NET 1.0 in July, so our focus begins with the four-year-old .NET 1.1 and its aging Visual Studio 2003 development environment. Honestly, it's simply time for dev shops to move off .NET 1.1. The productivity improvements in Visual Studio 2005 alone warrant moving to .NET 2.0.
Visual Studio 2005 is the current development environment for .NET 2.0. The improvements in Visual Studio include: Code Snippets, enhancements to the Web page and HTML designers, an overall improvement in IDE experience, as well as new compilers for Visual Basic 8 and C# 2.0. .NET 2.0 offers 64-bit support, generics and generic collections, partial classes and overall performance improvements. For ASP.NET 2.0, support was added for Master Pages, Themes, XHTML 1.1, along with new Data Source Controls, improved Profile Management, and a new compilation and deployment model. For Smart Client (WinForms) development, Microsoft added ClickOnce deployment, Control Layout improvements and new controls. In short, .NET 2.0 is a must-have for both rapid application and enterprise shops.
.NET 3.0 is a .0 release in name only. It uses the same .NET 2.0 CLR, and adds four new frameworks (also known as foundations) to the .NET 2.0 Base Class Libraries:
Windows Communication Foundation (WCF) combines two previously separate remote-invocation stacks, .NET Remoting and Web Services, giving one common remoting stack. If you're building applications that need to communicate with other applications, you should look into WCF.
Windows Workflow Foundation (WF) is a standard programming model for building workflows. WF is more than just document workflow processing; it's at home with things like order processing or help-desk applications. WF is probably the one area of .NET 3.0 that has as much value to a rapid application shop as it does to an enterprise shop.
Windows Presentation Foundation (WPF) is the next-generation presentation subsystem for Windows, bringing the power of vector graphics and multimedia support to Windows applications. It's very much a 1.0 product, and currently lacks good UI development tools. WPF might be the future of Smart Client applications, but at the moment, unless your application needs next-generation UI support, WPF is probably not something your development shop needs over the next year or so.
Windows CardSpace is all about digital identities. If your development shop is responsible for online services (Web sites or Web services) and authentication is a trouble area for you, CardSpace is something you may want to check out.
.NET 3.0 is the first version of the framework that doesn't require dev shops to move to a new version of Visual Studio to support it. To get designer support for .NET 3.0 in Visual Studio 2005, there are two separate Visual Studio extensions to install: Visual Studio 2005 extensions for .NET Framework 3.0 (WCF and WPF), and Visual Studio 2005 extensions for .NET Framework 3.0 (WF). On the surface, .NET 3.0 is pitched squarely at the enterprise development shop.
Language Integrated Query (LINQ) is at the core of .NET 3.5. LINQ adds general-purpose query facilities to the .NET Framework that apply to all sources of information. .NET 3.5 and its development environment, Visual Studio 2008, will ship with Query providers for .NET Objects (LINQ to Objects), SQL Server (LINQ to SQL) and XML (LINQ to XML). LINQ and LINQ to SQL will be must-have technologies for rapid application development shops.
Enterprise development shops will find the new languages features that were added to .NET will be extremely useful in building domain models and custom frameworks. LINQ to XML is a brand new XML object model that dramatically drops the XML learning curve to hours instead of weeks, especially with the next XML language features in Visual Basic 9.
Visual Studio 2008 and .NET 3.5 are due to release to manufacturing before the end of 2007, with a release event in Los Angeles on Feb. 27, 2008. Because of the productivity improvements and its multi-targeting support, there will be little reason to delay in migrating to Visual Studio 2008.
Don Demsak is an independent .NET consultant based out of New Jersey. He also writes the "Don XML's Grok This" blog at http://donxml.com.