Top 10 Upcoming Microsoft Releases That Developers Should be Excited About

1. Visual Studio 2010

It all starts with the IDE. While the tool has been built to provide a development environment for the new .NET 4.0 framework, there are several other features that make Visual Studio 2010 something to look forward to:

Microsoft has cleaned up the user interface a bit, which will be the most obvious change when you first run VS 2010. For the first time, Visual Studio is now a full-fledged WPF application.

The new welcome screen in Visual Studio 2010

There are several enhancements to better support new languages such as F# and parallel programming.

Most exciting to many developers will be the full IntelliSense support for JavaScript (finally!)

A new visual editor for XAML-based Silverlight applications has been added. It’s no longer necessary to use Microsoft Blend to do front-end visual design, which is a big win for Silverlight developers.

Several tools have been either added or enriched: new built-in modeling capabilities, better testing options, and some really nice improvements to TFS.

I’ve had the beta version installed for a while now, and I would have used it more had it not blue-screened my computer a few times. Regardless, the best development IDE out there has added a number of nice additions to keep it ahead of the game.

2. .NET 4.0/C# 4.0

There is a laundry list of new features in the upcoming .NET Framework 4.0 and C# 4.0 (VB.NET has new features as well, but mostly they either mimic C# enhancements or add abilities that were already in C#). The .NET Framework has numerous additions, which are detailed throughout this list.

C# adds several new abilities that I’m sure a lot of developers can’t wait to start using, namely:

The new identity offerings from Microsoft present a means for ASP.NET developers to jump into the world of claims-based security and federated authentication. While the approach isn’t new, the tools to make all of this relatively seamless in ASP.NET are a significant advancement for enterprises. See my previous posting about some of the advantages that come along with this shift in security thinking.

4. Windows Azure Platform

The Cloud – we’ve been hearing about it in articles, TV commercials, and just about everywhere. Microsoft will be doing the hard sell on their cloud-based services platform in the coming months with the release of Azure.

What does it mean to developers? Well, for one it’s part of the ongoing move to Internet-based services. As architects plan out their systems, it may not be a matter of installing a new SQL Server or setting up an Active Directory server. Instead, the company may opt to host their systems on the Azure platform, which will present its own set of challenges dealing with latency, network concerns, and system interoperability. [Insert your own rain cloud analogy here.]

5. ASP.NET MVC 2

No, MVC doesn’t stand for Microsoft Voluminous Code, although some web forms developers may feel that way after they first get into ASP.NET MVC. Since MVC ditches server controls, some long-time ASP.NET programmers may see MVC as adding a lot of work and extra code. While this fear is somewhat unjustified, the next version of MVC hopes to ease the transition to MVC with some nice improvements.

6. Entity Framework 4.0

With the ADO.NET Entity Framework, Microsoft stepped up to bat in the ORM (Object Relational Mapping) marketplace, and according to many people, swung and missed. With NHibernate, .netTiers, and their own LINQ to SQL already out there as better ORM options, Microsoft’s first version of the Entity Framework left a lot to be desired.

Thankfully, Microsoft has taken the hint and the next version of the Entity Framework fills in a lot of gaps. For one, you can now easily customize the code generated by the tool using T4 templates.

Another complaint was the ability to deal with disconnected entity objects in an n-tier architecture. Since the Entity Framework relies on the state of an object to determine whether a record should be updated, deleted, or inserted; dealing with stateless entity objects passed over a WCF service was a bit of a chore. Microsoft corrects this with “self-tracking” entities that will set their own state on the client side.

7. WCF 4, WF 4, and Windows Server “Dublin”

Yes, another European city codename for Microsoft. With the .NET 4.0 framework, Microsoft has made significant improvements to Windows Communication Foundation (WCF) and Windows Worflow Foundation (WF). “Dublin” meanwhile is a set of enhancements to Windows Server and IIS that provides a standard host for WCF and WF applications.

One of the biggest headaches with WCF is configuration. The range of web.config or app.config settings that need to be specified for WCF negates the ease with which the rest of a WCF service can be developed. With .NET 4.0, WCF now has a default endpoint configuration so you don’t actually need to configure anything if you don’t need to. In addition, WCF now supports a more simplified REST interface. This was available before with the WCF REST Starter Kit, but the new version of WCF makes this a lot easier.

On the Workflow side of things, Microsoft has greatly improved the visual designer for WF in Visual Studio while also completely revamping the programming model to be more robust. They’ve also made enhancements to the interaction between WCF and WF, which brings both of these technologies more in line with each other.

8. F#

Like many developers out there, I got my first taste of functional programming in college with LISP, and that was enough to scare me away forever. Recently however, there’s been a resurgence in functional programming interest, stemming partly from the introduction of LINQ in .NET and leading to the development of F#. What started out as a research project within Microsoft is now the fully-realized F# language that will be available with Visual Studio 2010.

Here is a quick sample program in F#:

(* Sample Windows Forms Program *)

(* We need to open the Windows Forms library *)
open System.Windows.Forms

(* Create a window and set a few properties *)
let form = new Form(Visible=true, TopMost=true, Text="Welcome to F#")

9. ASP.NET AJAX v4.0

If you do web development these days, odds are that you’re designing much better user interfaces than were written 5 years ago before the advent of AJAX and rich JavaScript libraries like jQuery. Within ASP.NET web forms, the ability to do asynchronous operations gets more complicated when you’re dealing with ViewState and generated HTML elements. To remedy this, Microsoft introduced ASP.NET AJAX in 2007.

The previous versions of ASP.NET AJAX used the UpdatePanel control to define a region of “AJAX-enabled” content that could be replaced using asynchronous updates. The data sent back and forth in these calls was a large block of ViewState and HTML content, which is clearly inefficient. With v4.0, ASP.NET AJAX introduces client-side templating, which provides an easier and simpler method of displaying dynamic data. Take a look at this overview to get an idea of how this all works and how this brings pure AJAX and JSON data interaction into ASP.NET AJAX.

10. .NET RIA Services

Microsoft .NET RIA (Rich Internet Application) Services simplifies the traditional n-tier application pattern by bringing together the ASP.NET and Silverlight platforms. The RIA Services provides a pattern to write application logic that runs on the mid-tier and controls access to data for queries, changes and custom operations. It also provides end-to-end support for common tasks such as datavalidation, authentication and roles by integrating with Silverlight components on the client and ASP.NET on the mid-tier.

Put simply, .NET RIA bridges the gap between Silverlight and data access by providing a middle tier layer for defining business and application logic.

I am especially excited about Visual Studio 2010. I am looking forward to this release, and I bet there’s plenty of surprises waiting in store! I’ve actually covered a lot of this on my web 2.0 blog in my latest article on http://www.insidethewebb.com/