The .NET Framework is a large ecosystem created by Microsoft designed initially to run enterprise-scale applications on Windows-based platforms. But a version called .NET Core has run on Mac and Linux Platforms since June 2016. In this article, we will look at .Net Framework components and what they do.
.Net Framework Components
The .Net Framework is made up of two major components:
- Common Language Runtime (CLR)
CLR is the execution engine that handles running applications;
- .NET Framework Class Library
This provides a library of tested, reusable code that developers can call from their own applications.
Unlike Django, which is designed to run Web applications, only the .NET framework allows us to build web apps, API’s, desktop applications, database applications and much more.
What does .NET Framework do?
.Net Framework provides libraries, developer tools, languages and more to build websites and web services. The services that the .NET Framework provides to running applications include the following:
- Language interoperability
The .NET Framework allows developers to choose from a number of compatible programming languages when coding their applications. Applications can even be built using a mixture of components built in different languages.
Object-oriented languages such as C# and VB.NET are the most popularly used, but the functional language F# is gaining ground. You can even write your own language so long as it conforms to the .NET requirements.
Fujitsu wrote NETCOBOL to allow its vast number of COBOL developers to use the .NET framework for its projects without the devs having to learn a new language syntax.
C# is almost identical to Java in its syntax and structure. This was deliberate in an attempt to lure Java programmers over to the .Net platform when it first came out. This was also at a time of the programming language tech wars during the late ’90s. This thinking has become redundant with the spread of APIs where the language an app is written matters less and less. The primary concern now is how the data in an app is represented and communicated.
- A common type system
That variable types are the same no matter what .net language you decide to code in.
- An extensive class library
Instead of writing vast amounts of code to handle common low-level programming operations, programmers can use a readily accessible library of types and their members from the .NET Framework Class Library.
- Development frameworks and technologies
The .NET Framework includes libraries for specific areas of application development, such as ASP.NET for web applications, ADO.NET for data access, and Windows Communication Foundation (WCF) for service-oriented applications or APIs. And WinForms or windows presentation foundation for building desktop applications.
- Version compatibility
With rare exceptions, applications that are developed by using a particular version of the .NET Framework can run without modification on a later version.
- Side-by-side execution
The .NET Framework helps resolve version conflicts by allowing multiple versions of the common language runtime to exist on the same computer. This means that multiple versions of applications can also coexist and that an application can run on the version of the .NET Framework with which it was built.
.Net Framework benefits
Like with most frameworks, there are many benefits from using the .Net Framework. Pros include;
- Extensive Libraries
As mentioned above, the extensive libraries with this framework can save time for developers.
- Common Type System
This is a time-saver, meaning that this framework works with all languages, so the developer can use it regardless of what language they use for coding.
- Memory Management
Because of the Common Language Runtime (CLR), developers don’t need to worry about releasing memory. The CLR takes care of this for the application.
Applications generally do not need to be modified if a newer version of .Net Framework is released.
Its ecosystem is all-encompassing. Whether it’s phone development, API integration tools, pure database development, desktop, web development, or game development, there are huge libraries of pre-built components.
- Integration with Windows
The .Net framework offers tight integration with the Windows platform and Microsoft Desktop products.
Cons of the .Net Framework
Some of the cons of using .Net Framework includes;
Some of the tools and stack elements can be extremely expensive.
- Learning curve
For beginners, getting to grips with how to work the .Net Framework can be a challenge.
Learn to Code
After training as a software developer, you will find yourself more involved in areas like this. If you want to learn to code and to become a full-stack software developer, read more about our programme here. If you’re new to software development and want to see what it’s like to code, then why not try our free 5 Day Coding Challenge? Register now through the form below.