Microsoft’s .NET Framework has been a great success over the years. It is one development platform and framework which has been happily accepted by all, Customers, Engineers, Investors, and Business people. Its language interoperability across several programming languages by the use of several available libraries makes it a technologist recommendation hotspot.
Launched in late 1990’s by the name Next Generation Windows Services (NGWS), finally was released as a Beta version of .NET 1.0 in late 2000. Over the years .NET framework has been revised and bundled with a set of advanced features and functionalities, to allow the applications that can be created using the framework to match the end user requirements.
The basic design features of .NET framework include the following:
1. Interoperability
The .NET Framework provides means to access functionality implemented in programs that execute outside the .NET environment like Access to COM components, etc.
2. Common Language Runtime Engine
All .NET programs execute under the supervision of the CLR, guaranteeing certain properties and behaviors in the areas of memory management, security, and exception handling.
3. Language Independence
The .NET Framework supports the exchange of types and object instances between libraries and applications written using any conforming .NET language.
4. Base Class Library
A library of functionalities available to all languages using the .NET Framework, it provides the classes that encapsulate a number of common functions, like file reading and writing, graphic rendering, database interaction, XML document manipulation, and so on.
5. Simplified Deployment
The .NET Framework includes design features and tools which help manage the installation of computer software.
6. Security
The design is meant to address some of the vulnerabilities, such as buffer overflows, which have been exploited by malicious software.
7. Portability
Microsoft never implemented the full framework on any system except Microsoft Windows. However, it is possible for third parties to create compatible implementations of the framework and its languages on other platforms.
Following is a snapshot of the evolution and growth of the .NET framework.
The Basic architecture of .NET framework started from the Common Language Runtime, allowing developers to use all different development languages to be used to work together and create a common software application. The Base class libraries, Winforms, ASP.Net Development and ADO.Net were the components which evolved along with the growth of .NET framework from version 1.0 to 1.5 and then .NET 2.0.
.NET 3.0 introduced the features and support to create more user interactive applications and extend the reach of implementing a single software code base to be used for multiple real life scenarios. While the development started getting a little complex, the user experience and customer satisfaction took a growth with introductions of WPF, WCF, WF and Card Space.
.NET 3.0 was still a little unstable and had to face challenges with the multiple growing needs to the developers and the customers; access to database was still using the same 2.0 framework, causing the evolution of .NET 3.5 framework which introduced LINQ and ADO.NET Entity framework for the developer.
.NET 4.0 and 4.5 has been majorly focused on improvements and additions of various libraries and controls that have been available, with introduction to parallel computing, asynchronous file operations, Metro Style Apps, Portable Class libraries, improved garbage collector and HTML 5 support libraries and so on.
