What is .NET Framework?

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. 

  • Compatibility
    Applications generally do not need to be modified if a newer version of .Net Framework is released. 

  • All-encompassing
    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;

  • Expense
    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.

HTML Body Tag

In the first article of this series, we looked at the first element of the <html> element, the HTML head tag. In this article, we will explain what the HTML body tag is and what it is used for. What is the HTML Body Tag? The HTML body element is the container for the content […]

What is Usability? 

In layman’s words, usability is a quality criterion for determining whether a given program is simple and provides users with the best possible experience. Hundreds of designers and programmers developed the applications we use every day, from clocks to social media to email. Suppose you go back in time a little. In that case, you’ll […]

What is the Difference Between Web App & Mobile App?

There always seem to be two terms, web applications and mobile applications. Though it is clear that both terms refer to applications, they are not the same. Today we look at web app v mobile app. When you ask a person which they use the most, laptop or mobile, you probably will get the latter […]