Wednesday, 14 June 2017

What’s .NET and Why .NET

The world of computing till date has been chaotic. We had various languages struggling to interoperate with each other, developers undergoing huge learning curves to shift from one language to another or from one application type to another, non-standard ways of modeling applications and designing solutions and huge syntactic differences between languages. The list goes on....

Past years have seen some solace in the form of enterprise "glue" applications and standards like COM, which put-forth a binary standard of interoperability between application components. But in reality, this was not always true (VB COM found it very difficult to take on VC++ COM). Also, as applications increased in their reach, it was found that rather than re-inventing the wheel for a solution, it was better to take the "service" of another applications specialised for a piece of work.

Thus from a paradigm where applications replicated code to provide common services, we have moved to a paradigm where applications are built as "collaborative units" of components working together. This simple shift has led to the collapse of the current set of architectures and demanded a new programming model:
  • A model where applications can be built as reusable components and are shareable over the internet.
  • A model that encourages applications to be shared as a "service" (read web services).
  • A model that enables true "interoperability" wherein the language used is only a matter of choice, thus enabling organisations to take advantage of existing skill sets.
fig: Before .NET


fig: After .NET



Enter .NET

The .NET Framework is a new computing platform developed by Microsoft that simplifies application development in the highly distributed environment of the internet. .NET is much more than just a platform for developing for the internet, but it is intended for this purpose predominantly, because here, others methods have failed in the past.



Overview of the .NET Framework  

.NET is a cluster of several technologies that are designed to help developers build a variety of different types of applications.  Developers can use the .NET Framework to build Windows applications, Web applications, Console applications, etc.    The primary objectives of the .NET framework are 

 • To provide a consistent object-oriented environment across the range of applications.

 • To provide an environment that minimizes the versioning conflicts (“DLL Hell”) that has bedeviled Windows (COM) programmers, and to simplify the code distribution/installation process. 

 • To provide a portable environment, based on certified standards that can be hosted by any operating system.  Already, C# and a major part of the .NET runtime, the Common Language Infrastructure (CLI), have been standardized by the ECMA (European Computer Manufacturers Association).

 • To provide a managed environment in which code is easily verified for safe execution.  

To achieve these broad objectives, the .NET Framework designers separated the framework into two parts, namely

1. Common Language Runtime (CLR)

2. Framework Class Library (FCL)

.NET Framework

No comments:

Post a Comment