7 minutes read
What is .Net?

What is .Net?

The .Net framework is a software development platform, originally created by Microsoft, specifically designed for building and running Windows applications. Included within the .Net framework are a suite of developer tools, programming languages, and libraries that can be used to build a wide variety of desktop, web, and mobile applications. This means the .Net framework can create everything from games, to social networking apps, to productivity programs, and hundreds of other use cases.

Initially, the .Net framework was designed to create applications which would operate on the Windows platform, which was the primary desktop application of home and work computers at the time of development (the first version of the .Net framework was created and distributed back in 2002). The .Net framework has undergone many updates and redesigns over the nearly two decades since its conception, but remains one of the most widely used programming frameworks around the globe.

The Microsoft .Net framework can be used to create either web-based or form-based applications, contributing to the widespread use cases among programmers, as well as a variety of web services. In addition to its primary functionality, the .net framework also supports an array of different programming languages, including Visual Basic and C#. This allows developers to choose and select their preferred language to develop any application, adding a degree of flexibility that is ideal for programmers looking to flex their creative muscle.

"What

What makes up the .Net architecture?

The .Net architecture is comprised of a number of essential components that all contribute to the effectiveness of the framework for modern programming and development:

Common Language Runtime

The "Common Language Infrastructure" (also known as CLI) is the primary platform within the .Net architecture, upon which the .Net programs are executed. The CLI includes a number of key features, such as:

  • Exception Handling

An exception is the name for errors that occur when the application is actually executed. Exception handling allows programmers the ability to resolve issues in an application that might disrupt or disable the application’s operations. 

Here are some common examples of exceptions:

  • If an application tries to open a file on a local machine, but the actual file is not present or available
  • If the application tries to retrieve some records from a database, but the connection to the database is not operational or valid.
  • Garbage Collection

Garbage collection is the name for the process involving removing unwanted resources from an application when they are no longer required or become extraneous.

Some examples of garbage collection include:

  • A File handle which is no longer needed or required. For example, if the application has completed all operations on a file, then the file handle may no longer be required and can be “trashed”.
  • The connection to the database is no longer required. If the application has finished all operations on a database, then similar to the file handle, the database connection may no longer be required and becomes “garbage” to be collected.
  • Integration With a Variety of Programming Languages

One of the most attractive features of the .Net framework is the aforementioned ability to use a variety of programming languages depending on the preferences of the developer. Those break down to even more specific elements:

  1. The language itself
  2. The compiler – Each programming language has its own unique compiler, depending on which language a programmer chooses to use.
  3. Common language interpreter – The final and most important layer in the .Net framework, which allows .net framework to run programs developed in any programming language. This allows the compiler to submit the program to the CLI layer to actually operate the .Net application.

Class Library

The .Net framework incorporates an ever-expanding set of standard class libraries, which are collections of methods and functions that can be employed for the core purpose.

To give a specific example, one class library includes methods specifically to handle all file-level operations. Most of the methods are divided into either the System.* or Microsoft.* namespaces. (The asterisk * indicates a reference to all methods that fall under the System or Microsoft namespace umbrella)

Application Types in the .net Framework

There are a variety of different application types that can be constructed within the .Net framework, which can be grouped generally into several key categories: 

WinForms

This application is specifically used for developing Forms-based applications, which operate on an end-user machine. One of the most well-known examples of this type of application is Notepad, known to any long-time Windows user.

ASP.Net

ASP.Net is primarily used for creating web-based applications, which are able to run on various browsers including Firefox, Chrome, and others. These web applications operate through a few specific steps. First, the web application would be processed on a server, which requires that Internet Information Services is installed on the browser (IIS is a Microsoft component which is used to actually execute an Asp.Net application). After the execution, the result is then sent to client machines, with the actual output being displayed in the browser itself. 

ADO.Net

ADO.Net is used to develop applications specifically to interact with common databases like Oracle or Microsoft SQL Server.

What are the Key Design Principles of the .Net Framework? 

Like any trusted and popular development framework, the .Net framework has a variety of specific design principles that have led to its widespread and long-term adoption by developers around the globe. While some .Net framework principles are shared by many development tools, there are also some unique benefits to using this framework. The most notable principles include: 

Interoperability

One of the biggest benefits of using the .Net framework is the specific inclusion of backward support, which allows applications built in older versions of the .Net framework to still function in more modern updates. Because Microsoft ensures in each update that older framework versions can still work seamlessly with new updates, applications do not need to be painstakingly rebuilt or designed when each new update is announced. 

Portability

Similar to the benefits offered by the interoperability principle, portability in the .Net framework ensures that applications built within the framework can be designed to operate seamlessly on any Windows platform. More recently, Microsoft continues to work toward allowing .Net framework-designed applications to work on competing platforms, including iOS and Linux. 

Security

Every developer knows that security features are absolutely essential in modern web development, as hacking and malware continue to expand and grow with each new year. Fortunately, the inbuilt security mechanism in the .Net framework assists with both validation and verification of applications. Every application can explicitly define a security mechanism, and these security mechanisms are then used to grant the user access to the code or to the running program itself.

Memory Management

The Common Language runtime is responsible for all of the needed work for memory management within the framework. The .Net framework can both view memory resources, which are not used by a running program, and then release memory resources as needed to ensure peak efficiency and reduced memory load to increase runtime. The garbage collector function mentioned earlier is largely responsible for ensuring this process functions, by running at regular intervals and monitoring which system resources are not being utilized and can thus be freed for other tasks that require memory.

Streamlined Deployment

The .Net framework also includes tools which can be deployed to package applications built within the framework. These packages can then be distributed to client machines, which then allow for automatic installation of the application.

How Does C# Fit Within the .Net Framework?

C# (referred to as C Sharp) is the actual programming language used to write the necessary programs within the .NET framework. C# is an object-oriented programming language, meaning it can maximize productivity throughout the development process. C# offers some specific benefits over other languages, such as type-safety, garbage collection, simplified type declarations, support for different versions and scalability, as well as a host of other features that make developing solutions faster and easier.

If you are interested in learning how to work with the .Net framework and build applications for the wide variety of purposes that the framework allows, the first step is to learn the basics of C#. Taking an online coding class through SoloLearn is the perfect solution for anyone looking to get started with this versatile language, because SoloLearn offers a variety of features that make learning code easier than ever, including:

  • A diverse set of tutorials included within the C# course, which cover the fundamental features and knowledge required to learn the language and what it can be used for.
  • Practice exercises to ensure you have mastered the concepts and can apply them in real world scenarios
  • An ever-growing code playground, where you can actually play around with live code and apply the lessons from different tutorials to see how a program is actually created.
  • A thriving learner community that offers a variety of opportunities for collaboration, getting questions answered, and even challenging fellow learners to coding competitions.
  • A unique learner profile, where you can track learning achievements and progress toward milestones to help keep yourself motivated while you learn!