Thursday, July 12, 2007

What's new in .NET 3.5 and Visual Studio 2008

Update July 25th: Huge signs that beta 2 will arrive THIS week.

Update July 16th: There are some 'signs' that beta 2 will arrive really soon

Most of the community information on Visual Studio 2008 has been focussing on the Language INtegrated Query (LINQ) features of C# 3.0, but in fact, there's a lot more in stock for us. I've compiled a list of links that elaborate a bit more on all the other features Visual Studio 2008 will bring us at the official launch in Los Angeles on February 27th 2008. Since official launches typically occur a month or so before the RTM version shipped, it may well be possible that the RTM will ship around Christmas, but who will know... Anyway, many of the links originate from Daniel Moth's blog, since he has been posting a lot of really interesting stuff recently.

  • First, check out this article and this post to find out how .NET Framework 3.5 relates to 3.0 and 2.0 from a compatibility standpoint, and how they relate to the Visual Studio versions. 
  • Then you'll be happy to know that Visual Studio 2008 will completely replace Visual Studio 2005. It's new multi-targetting features allow developing .NET 2.0 and 3.0 applications without the risk of introducing .NET 3.5 or C# 3.0 dependencies.
  • Finally! Javascript intellisense for both ASP.NET AJAX libraries as well as your own script libraries. Some additional examples can be found here.
  • WCF has been extended to add support for JSON web services that are compatible with ASP.NET AJAX, support for exposing services as RSS feeds, and support for new protocol versions (OASIS WS-AtomicTransaction 1.1, WS-ReliableMessaging 1.1, WS-SecureConversion 1.1. Expose Workflows as WCF services).  
  • The WPF designer has been enhanced and integrated into the IDE, WPF performance has been improvement in general, and support for SilverLight is part of it as well.
  • Support for nested master pages.
  • The ASP.NET webforms designer has been redesigned, including support for split views, faster design/source switching, enhanced support for stylesheet, and support for AJAX.
  • DLINQ (LINQ to SQL) should not be forgotten of course. 
  • XLINQ (LINQ to XML) may potentially make the XmlDocument and XmlReader classes obsolete.
  • Closely related to LINQ is the new Entity Framework, which is, from my point of view, a major competitor of the awasome NHibernate object-relational mapper. 
  • Although not integrated in Visual Studio 2008, Microsoft's Patterns & Practices team expects to ship the next generation of the Service Factory at the same time. There are already some great alpha drops available (which work great in a production environment).
  • Peer-to-peer classes that allow you to build applications that use technologies like People-Near-Me or instant messaging systems.
  • Client Application Services that allow you to use the same authentication and profile services available in ASP.NET AJAX in a Windows application.
  • Strong Active Directory support.
  • A new set of classes that can help you to add add-in support to yoru applications. 
  • Code Name Astoria is a set of classes for exposing very lightweight XML or JSON based data services over HTTP. It is specifically targetted at rich client technologies such as ASP.NET AJAX and Silverlight.
  • If you already know the Smart Client Software Factory, you will recognize many of the concepts and patterns used in Code Name Acropolis. It provides a flexible architecture for building Windows applications using Windows Presentation Foundation. The first CTP bits are already available.

If you want to read a great article that explains the troubles and challenges of a Pakeflages-kind of site using ASP.NET 2.0 AJAX, the AJAX Control Toolkit, Windows Workflow Foundation, and DLINQ, read this.