0845 757 3888 · info@xpertise.co.uk

Technology, training, learning and development blogs

Visual Studio 2008 and .NET Framework 3.X. Something for everyone ?

Since October 2007, I have been delivering readiness training on behalf of Microsoft to their partners around Europe. There has been a broad mix of attendee with a variety of skills but it is fair to say that overall, the majority were ASP.NET developers using C# as their programming language. That said, there were plenty of Desktop and ‘backroom’ developers too, not to mention those who preferred VB.Net to C#.

 

After eight months, I thought I would reflect on the content and how aspects of it were received. It was hoped that most of the audience was already familiar with .NET 3.0. Specifically, Windows Communication Foundation (WCF), Windows Workflow Foundation (WF) and Windows Presentation Foundation (WPF). As it turned out, very few of each group had actually had any experience of these technologies yet. As a result, the content of many modules changed from, for example, “What’s new in WPF 3.5“ to “What is WPF and how has it changed in 3.5“.

So, what’s new?

Broadly speaking, the content fell into three categories:

 

  • Fundamentals: Framework and Language Enhancements
  • Visual Studio templates and features
  • Enhancements to .NET 3.0

 

Fundamentals: Framework and Language Enhancements

Both C# and VB.Net have been given a makeover. They have a number useful enhancements such as Object Initializers, Collection Initializers, Local Variable Type Inference and Auto Implemented Properties. The new features offer greater productivity if not performance. However, features such as Expression trees and Partial Methods are indeed powerful as well as being a key requirement for LINQ (see below).

Many enhancements are common to both languages although there was no requirement for that. In fact some features are unique to one or the other language. For example, VB.NET offers XML Expressions. In other words, you are able to simply type a fragment of XML directly into your code and have it recognised in the same way a string or float would.

One much heralded (and well received) addition to the Framework is LINQ (Language Integrated Query). LINQ comes in several flavours including Linq to Objects, Linq to XML, Linq to SQL and Linq to Entities. They provide a consistent powerful model that can be used to query data in your code. The query language is actually integrated into the language(s) and so full intellisense is available.

There have been plenty of other additions to the framework itself. Some small, with classes such as TimeZoneInfo added. Others large, such as the Managed Add-in Framework (MAF). MAF provides a new way to create components that can be added to host applications and should be of great interest to Client application developers.

 

Visual Studio templates and features

Visual Studio has a great deal of improvements. There are many new project templates such as WPF Application and Sequential Workflow Service Library. More about Workflow later.

AJAX has been available as a download and enhancement to Visual Studio for some time, however it is now integral to ASP.NET.

For the ASP.NET developers the HTML design window is now much improved with good synchronisation between design and code views. Perhaps the most popular tool is the CSS designer. This has come directly from Microsoft Expression Web.

One feature that many will be familiar with is Unit Testing. Unit testing isn’t new so why mention it ? Well with Visual Studio 2005, you needed to buy Enterprise edition in order to get it. Now every edition has it. Very welcome !

 

 

Enhancements to .NET 3.0

As with AJAX, Visual Studio 2005 was able to take advantage of .Net 3.0 features such as WCF by way of extensions that could be freely downloaded and installed. Now, the likes of WCF are integral to Visual Studio and many templates are now available such as WCF Service Library.

As for the libraries themselves, they have had a number of classes added. For example, Workflow now has two new activities: Receive Activity and Send Activity. They have been added to make it easier to integrate WF and WCF. It has been a common practice for developers to try and host workflows within WCF services. It has now got a lot easier to do.

WPF has had many enhancements including better performance with data binding, support for WCF services and more controls such as UIElement3D.

WCF has seen many changes too including Durable Services, Web Programming Model, Syndication and ASP.NET AJAX Integration

 

Anything else ?

Well yes actually. Beyond those topics already mentioned, there have been plenty of changes to do with Mobile Applications, VSTO and ALM. None of these topics were included in the events that we delivered, however my colleague Adrian Jakeman talks about ALM in his blog here.

 

Training ?

Should you require training in these areas, we now offer this three day course. In the near future, Microsoft Official Curriculum courses will be available. I shall discuss these courses and accreditation paths in a future posting.