Friday, April 1, 2011

Dotnet versions and Application porting

Recently Microsoft released the latest version of their Dotnet framework i.e. DotNet 4.0. Microsoft has always done constant improvement with their Dotnet versions, shown below



I do not see version 4.0 as a package full of new features but I see it more towards making improvements in performance and stressing on doing more parallel processing and multi tasking. Release of version 3.0 was outstanding with new features like WPF, WCF and WF, later with version 3.5 they made version 3.0 features more stable and robust. I do not want to bifurcate my discussion into 3.0, 3.5 or 4.0 but I would like to talk what all we got since 2.0 till 4.0 as a whole.


Recently I migrated one of my application from Dotnet version 2.0 to Dotnet 4.0. Me and my team were so excited for this, as now we will be using all latest features, making it more secure, user friendly, faster and more scalable solution for our client. Visual Studio has made our life much easier and migration is no more a nightmare for developers. VS will take care of most of the things and Dotnet provides high level of backward compatibility.


Out of many enhancements, the very first things I wanted to offer my client was WCF and dump the conventional Web services. I knew WCF is more suitable for my client. They wanted to have following features but were restricted due to technology/platform limitation

• Support for both TCP and HTTP

• Customizable services to their different clients – now possible with different end points

• No need to build application if there is any enhancement – now just provide a new end point

• Same service with different contracts for different types of Clients/Users


I enhanced my application with many more features which Microsoft has offered with Dotnet 3.0 onwards e.g.

• Dynamic lookup

• Named and Optional parameters

• Anonymous Method Support

• Co-variance and Contra-variance

• Dynamic Import

• Omitting Ref Parameters

• Compiling without Primary Interop Assemblies

• Implicit Line Continuation

• In-Process Side-by-Side execution - enables an application to load and activate multiple versions of the common language runtime (CLR) in the same process.

• Garbage collection - .NET 4.0 provides background garbage collection.

• ADO.Net entity framework features


While doing development also me and my team experienced many improvements and new features which makes life easier for both developers as well as client, to name a few

• Performance and Diagnostics - .NET Framework 4.0 provides improvements in startup time, working set sizes, and faster performance for multithreaded applications.

• Profiling – In .NET 4.0, you can attach profilers to a running process at any point, perform the requested profiling tasks, and then detach.

• Exception handling - The .NET Framework 4.0 class library contains the new System.Runtime.ExceptionServices namespace, and adds the ability to handle corrupted state exceptions.

• Reflection - The .NET Framework 4.0 provides the capability to monitor the performance of your application domains.

• Improvement in Microsoft AJAX Library – Script loader, JQuery integration, Client data access etc.

No comments:

Post a Comment