.NET: THINGS YOU NEED TO KNOW ABOUT

.NET framework is said to be a software that was developed by Microsoft for building, deploying and running applications and services that use .NET technologies, such as desktop applications and Web services.

The first version which is .NET framework 1.0 was released on 13th February 2002 for Windows 98, ME, NT 4.0, 2000, and XP. The software provides a controlled and directed programming environment where software can be developed, installed and executed on windows based operating systems.

It is pronounced as – dot-net– If you are reading this article then you probably came across it on your quest to know more about the subject matter. The truth is there are many things you need to know to be able to explore the software maximally.

However, I will just give us a rundown of some facts we shouldn’t miss to get the right spark towards using the .NET Framework. So here are ten things you really need to know about it.

.NET is made up of ?

Common Language Run time (CLR)

This allows programs developed in the .NET to exhibit common behaviors in memory usage- It is also the execution engine that handles running apps.

.NET Framework Class Library (also known as Base Class Library)

This contains tested, reusable codes that are used by programmers to avoid rewriting of codes. It is closely integrated with the Common Language Runtime and is object oriented, providing types from which your own managed code derives functionality.

ASP.NET

This is a language independent, open-source, server-side web application framework designed for web development to produce dynamic web pages. It was also developed by Microsoft to allow programmers to build dynamic web sites, web applications, and web services.

This platform was first released in January 2002 alongside version 1.0 of the .NET Framework and is the successor to Microsoft’s Active Server Pages(ASP) technology.

The Web applications developed in ASP.NET are as secure as the confirmation of Windows and its configuration can be attained for every application. It is established on the Common Language Runtime (CLR), allowing programmers to write ASP.NET code using any supported .NET language.

Is Dot Net an Environment?

Yes, it is an environment that permits about 60 different programming languages both developed by Microsoft (C#.NET, VB.NET, C++.NET, J#.NET, F#.NET, JSCRIPT.NET, WINDOWS POWERSHELL, IRON RUBY, IRON PYTHON, C OMEGA, ASML-Abstract State Machine Language) and other companies such as PHP to cooperate effortlessly to create Windows-based applications that are easier to build, manage, deploy, and integrate with other frameworks.

 The programs that are written for .NET Framework are executed in a software environment (compared to a hardware environment) named Common Language Runtime(CLR), an application virtual machine that provides services such as security, memory management, and exception handling. Therefore,  computer codes that are written by the use of .NET Framework are called “managed codes”. FCL and CLR together constitute the .NET Framework.

Is .NET Secure?

It provides you with immediate security benefits through its managed runtime. A collection of services prevent critical issues like bad pointer manipulation or attempts to alter compiled code. Microsoft takes security seriously and releases update whenever a threat is found.

.NET framework has its own security mechanism which has two major features:

  • Code Access Security (CAS): It is dependent on evidence that is associated with a specific assembly, the evidence is usually the source of the assembly and it makes use of evidence to determine the permissions granted to the code.
  • Validation and Verification: This is the backbone of .NET security. The loaded assembly allows the CLR to perform various tests. Two such tests are validation and verification. During validation, the CLR checks that the assembly contains valid metadata and CIL, and it checks that the internal tables are correct. Verification is not so exact. The mechanism of verification checks to ensure that the code does nothing that is ‘unsafe’. The algorithm that is used is conservative and so sometimes code that is ‘safe’ is not verified.
  • The performance of the software framework is seen 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 increase the speed of the first launch, developers may use the Native Image Generator utility to manually ahead-of-time compile and cache any .NET application.
  • The garbage collector, integrated into the environment, can introduce unanticipated delays of execution over which the developer has little control directly. The number of objects that the garbage collector needs to work with can become very large in large applications, which means it can take a very long time to visit and rearrange all of them.

What are the Memory Management Fundamentals in .NET?

SOURCE: GOOGLE

Indeed Memory management is of utmost importance in such software. The 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.

As long as there is a reference to an object, which may be direct, or through 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 .NET Framework includes a garbage collector (GC) which runs periodically, on a different thread from the application’s thread, which enumerates all the unusable objects and reclaims the memory assigned to them.

It is a non-deterministic, compacting, mark-and-sweep garbage collector. The latest version of the .NET framework uses a concurrent garbage collection with user code, making pauses unnoticeable because it is done in the background. The garbage collector that is used by the software is generational.

What are the system requirements to install .NET Framework?

It is necessary to know the installation requirements after seeing the great benefits of the .NET framework. The .NET Framework requires administrator privileges for installation. If you don’t have administrator rights to the computer, then you have to contact your network administrator.

There are many other requirements that are needed to be in place to get the software running but the good thing is it runs on windows.

Can we use .NET Framework to develop Mobile Application?

Source: Google

It can be used to create windows mobile apps. You can create rich native apps using .NET across iOS, Android & Windows. Share code across device platforms with .NET Standard. Share UI with Xamarin.Forms and XAML for maximum code reuse. It makes it easier and faster for these mobile applications to be created by developers.

It makes use of modern language constructs like generics, Language Integrated Query, and asynchronous programming which makes developers productive. With 100% of the native APIs exposed, you have full access to device capabilities.

What are the Job Opportunities in .NET?

There are lots of job opportunities as there is a high demand for experts in different software companies due to the huge relevance of the .NET  Framework. .NET developers are always in demand especially in an I.T growing nation like India.

Is .NET different from ASP.NET?

.NET Framework is different from ASP.NET, while the former is a framework that can be used to develop web applications as a complete package, the latter is a part of  .NET Framework that is used to create dynamic web applications and services in any NET language. They should not be confused.

With .NET, you can target any application type running on any platform. You can use multiple languages, editors, and libraries to build for the web, mobile, desktop, gaming, and IoT. Developers can reuse code and skills across all of them in a familiar environment. It is really fast which makes the applications provide better response times and requires less compute power. It is faster than any other popular framework.