Will the Real .NET 3.0 Please Stand Up?
If .NET 3.0 slipped under your radar, you're not alone.
I spend a lot of time talking to people about Microsoft .NET 3.0. More often than not, the reaction I get is "we don't use unreleased software." When I point out that Microsoft .NET 3.0 was released more than six months ago, they are often quite surprised.
But the confusion is totally understandable. Microsoft .NET 3.0 shipped purely as a framework add-on. There were no major tools released at the same time. Compared to most Microsoft software releases, 3.0 was quietly slipped out the door in the dead of night.
Never mind that Windows Presentation Foundation (WPF) transforms UI development for Windows and the Web. Or that Windows Communication Foundation (WCF) unifies the confusing mass of competing network communication technologies. Or that Windows Workflow Foundation (WF) is becoming the core workflow engine for Sharepoint, Biztalk, and other applications. The product teams that built Microsoft .NET 3.0 tried to create a fanfare and some excitement, but they really didn't succeed.
What's amazing to me is that ASP.NET AJAX was a similar type of release. Again, no major tools were released at the same time, but somehow just the use of the term "AJAX" was enough to create high levels of enthusiasm. Sessions on this topic at conferences like VS Live! overflowed their rooms into the hallways! And yet the long-term impact of ASP.NET AJAX will be far smaller than the impact of Microsoft .NET 3.0.
I suppose that technologies like WCF and WF, which provide back-end "plumbing" capabilities, aren't as naturally sexy as rich UI technologies. And while WPF is a richer UI technology than any previous option, the lack of tools support makes it hard to get too excited.
However, Microsoft .NET 3.5 is coming near the end of this year, and it does ship with a major tools release: Visual Studio 2008. To the majority of people, this is the release of Microsoft .NET 3.0! Finally, technologies like WPF, WCF, and WF will be available for use in their organizations.
And perhaps that's OK. Even if you ignore the lack of development tools for Microsoft .NET 3.0, the framework itself has some rough edges and missing features that version 3.5 will start to address.
WPF is gaining some important performance enhancements and related bug fixes. The data binding in WPF is already impressive, but .NET 3.5 adds support for XLINQ and more powerful validation features. Several WPF controls are enhanced, including the RichTextBox. In short, .NET 3.5 demonstrates Microsoft's commitment to mature WPF rapidly, making it a serious option to consider instead of Windows Forms or AJAX for building rich user interfaces.
Visual Studio 2008 includes basic designer support for WPF. While I believe that you'll still need to use Expression Blend to make your UI look good, the designer in Visual Studio is powerful enough to provide a decent developer experience when building the code behind your forms, or for building basic business applications where fancy graphics aren't as critical.
WCF gains better peer-to-peer (P2P) support, and perhaps most importantly, can be used in partial trust scenarios such as in XBAP applications. There's also new support for RSS and ATOM syndication, as well as features to help with REST-style development. Visual Studio 2008 includes integrated support for building and consuming WCF services, including some nice features around the use of strongly typed data (strongly typed DataSet objects or custom objects) for client/server scenarios.
Microsoft .NET 3.5 might be "all about LINQ (language integrated query)," but in my mind the more important issue is that the rapidly maturing capabilities of .NET 3.0 will finally be recognized as being available to most organizations. Microsoft .NET 3.5 is the real Microsoft .NET 3.0.
Rockford Lhotka is the author of several books, including the Expert VB and C# 2005 Business Objects books and related CSLA .NET framework. He is a Microsoft Regional Director, MVP and INETA speaker. Rockford is the Principal Technology Evangelist for Magenic, a Microsoft Gold Certified Partner.