.NET Framework: An open-source and cross-platform framework
Image source- Google Images

.NET Framework: An open-source and cross-platform framework

Framework from Microsoft


In this article, I have shared essential information about the .NET framework. You will find the Basic overview, Brief history, Features and Applications of the .NET framework.

The .NET Framework is a software framework developed by Microsoft that runs primarily on Microsoft Windows. It includes a large class library called Framework Class Library (FCL) and provides language interoperability (each language can use code written in other languages) across several programming languages. Programs written for .NET Framework execute in a software environment (in contrast to a hardware environment) named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called “managed code”. FCL and CLR together constitute the .NET Framework.

.NET platforms targeting mobile computing, embedded devices, alternative operating systems, and web browser plug-ins. A reduced version of the framework, .NET Compact Framework, is available on Windows CE platforms, including Windows Mobile devices such as smartphones. .NET Micro Framework is targeted at very resource-constrained embedded devices. Silverlight was available as a web browser plugin. Mono is available for many operating systems and is customized into popular smartphone operating systems (Android and iOS) and game engines. .NET Core targets the Universal Windows Platform (UWP), and cross-platform and cloud computing workloads.

Advantages

.NET fast, flexible and modern. This happens to be one of the major contributions from Microsoft. Developers can now build Android, iOS, Linux, Mac, and Windows applications with .NET, all in Open Source.

The advantages of using .NET Framework are listed below:-

  • Open Source
  • Cross-Platform
  • Flexible Deployment
  • Modular
  • Command-line tools
  • Compatible

The .NET Core Platform

.NET Core Platform contains the following main parts:-

1. .NET Runtime − It provides a type system, assembly loading, a garbage collector, native interoperability and other basic services.

2. Fundamental Libraries − A set of framework libraries, which provide primitive data types, app composition types and fundamental utilities.

3. SDK & Compiler − A set of SDK tools and language compilers that enable the base developer experience, available in the .NET Core SDK.

4. ‘dotnet’ app host − It is used to launch .NET Core apps. It selects the runtime and hosts the runtime, provides an assembly loading policy and launches the app. The same host is also used to launch SDK tools in much the same way.


Brief History:-

  • Microsoft began developing .NET Framework in the late 1990s, originally under the name of Next Generation Windows Services (NGWS), as part of the .NET strategy.
  • By late 2000, the first beta versions of .NET 1.0 were released.
  • In August 2000, Microsoft, and Intel worked to standardize Common Language Infrastructure (CLI) and C#. By December 2001, both were ratified ECMA International standards. International Organisation for Standardisation (ISO) followed in April 2003. The current version of ISO standards is ISO/IEC 23271:2012 and ISO/IEC 23270:2006.
  • On October 3, 2007, Microsoft announced that the source code for .NET Framework 3.5 libraries was to become available under the Microsoft Reference Source License (Ms-RSL). The source code repository became available online on January 16, 2008.
  • Microsoft .NET Framework v4.5 logo, On November 12, 2014, Microsoft announced .NET Core, in an effort to include cross-platform support for .NET.
  • In November 2014, Microsoft also produced an update to its patent grants, which further extends the scope beyond its prior pledges.
  • On March 31, 2016, Microsoft announced at Microsoft Build that they will completely relicense Mono under an MIT License even in scenarios where formerly a commercial license was needed.
  • On May 8, 2019, Microsoft announced .NET 5.0, will be released in November 2020, which will be based on .NET Core.

Features Of .NET Framework:-

1. Interoperability

Because computer systems commonly require interaction between newer and older applications, .NET Framework provides means to access functions implemented in newer and older programs that execute outside .NET environment. Access to Component Object Model (COM) components is provided in System.Runtime.InteropServices and System.EnterpriseServices namespaces of the framework.

2. Language independence

.NET Framework introduces a Common Type System (CTS) that defines all possible data types and programming constructs supported by CLR and how they may or may not interact conforming to CLI specification. Because of this feature, the .NET Framework supports the exchange of types and object instances between libraries and applications written using any conforming .NET language.

3. Type safety

CTS and the CLR used in .NET Framework also enforce type safety. This prevents ill-defined casts, wrong method invocations, and memory size issues when accessing an object. This also makes most CLI languages statically typed (with or without type inference).

4. Portability

While Microsoft has never implemented the full framework on any system except Microsoft Windows, it has engineered the framework to be cross-platform, and implementations are available for other operating systems (see Silverlight and § Alternative implementations). Microsoft submitted the specifications for CLI (which includes the core class libraries, CTS, and CIL), C#, and C++/CLI to both ECMA International and International Organization for Standardization (ISO), making them available as official standards. This makes it possible for third parties to create compatible implementations of the framework and its languages on other platforms.

5. Security

.NET Framework has its own security mechanism with two general features: Code Access Security (CAS), and validation and verification. CAS is based on evidence that is associated with a specific assembly.

6. Memory management

CLR frees the developer from the burden of managing memory (allocating and freeing up when done); it handles memory management itself by detecting when memory can be safely freed. Instantiates of .NET types (objects) are allocated from the managed heap; a pool of memory managed by CLR. As long as a reference to an object exists, which may be either direct or via a graph of objects, the object is considered to be in use. When no reference to an object exists, and it cannot be reached or used, it becomes garbage, eligible for collection.

7. Performance

When an application is first launched, the .NET Framework compiles the CIL code into executable code using its just-in-time compiler and caches the executable program into the .NET Native Image Cache. Due to caching, the application launches faster for subsequent launches, although the first launch is usually slower. To speed up the first launch, developers may use the Native Image Generator utility to manually ahead-of-time compile and cache any .NET application.


Applications:-

  1. .NET was designed to build applications which could run on the Windows platform.
  2. Android, iOS, Linux, Mac, and Windows applications
  3. The .NET programming language can be used to develop (Forms-based applications, Web-based applications, Web services)
  4. Developers can choose from a variety of programming languages available on the .NET platform. The most common ones are VB.NET and C#.

To view or add a comment, sign in

Insights from the community

Others also viewed

Explore topics