Understanding .NET

New to .NET, wondering what this buzz word.NET is today?s happening in the development of enterprise applicationsand Web Services on Windows platforms! Here is a precise introductionfor you. Come on let?s party!
This article focuses on the following topics:
What is .NET?
Why .NET?
Microsoft?s .NET Framework
CLR, CTS and CLS ?an Overview
.NET Framework Class library
.NET compliant Languages and
C# – a brief introduction

Introduction
The .NET Platform and .NET-Aware Programming Languages, particularly C#are already making a turnaround in the way Applications are developedin the enterprise world. This new programming model is a boon forbuilding XML Web Services and applications. Say it may be WebApplications, XML Web Services, desktop or mobile applications; .NETFramework has got every thing you need to develop these applicationswith excellent performance and throughput. Moreover Microsoft?s IDE,Visual Studio .NET, comforts the user by providing a cool developmentenvironment. The .NET Platform is the world order of Windowsdevelopment and it is possible for non-Windows development in thefuture. The .NET Framework allows different programming languages &libraries to work together seamlessly which is made possible by theCommon Type System. Microsoft has developed a new language named c#specifically for this new platform which will not come under the scopeof this article, anyway I will get you started with C# and specify, whyit is the programming language most suited for the .NET platform!

What is .NET any way?
.NET is Microsoft?s innovative strategy to simplify building XML WebServices and to develop, deploy, and maintain desktop, enterprise,Internet and Smart devices applications in the Internet age.The .NET platform is thus a runtime environment on which applicationscoded in any of the managed languages run. It acts as a software layerbetween the applications written on the .NET and the operating system.For the time being, the operating systems can be any of the Windowsplatforms.
Cool right! To make you feel more clear and comfortable, the term .NETactually means the set of tools and technologies as follows:

Fig1. Microsoft .NET

The .NET Framework is the keystone ofMicrosoft .NET. The .Microsoft's .NET vision of connecting information,people, systems, and devices is made true by the .NET Framework.

Why .NET?
The most beauty in .NET is thatwe don?t have to learn a new language to program on the .NET platform.The platform is very much language agnostic and there are only a fewsyntactical issues to start programming in a language for the .NETplatform.

.NET platform presents us with the following:
Multiple Language Development
Robust runtime environment, CLR
Cool Development environment, Visual Studio .NET
High level of communication among applications
Support for ubiquitous protocols namely SOAP, XML, HTTP, and HTML.
A huge and powerful class library with over 2000 classes
And many more!

.NET Framework
The term .NET framework stands for the collection of technologies thatform the development basis for the Microsoft .NET platform.

It is a development and execution environmentthat allows different programming languages & libraries to worktogether effortlessly to create Windows-based applications that areeasier to build, manage, and deploy.

The major constitutes of .NET Framework are:
Framework Class Libraries (FCL)
Common Language Runtime (CLR) and
Common Language Specification (CLS)

 

Fig2. .NET Framework

The .NET Framework uses standard Internetprotocols and specifications like TCP/IP, SOAP, XML, & HTTP toallow a broad range of information, people, systems, and devices to beconnected.
Now let?s look at the components of .NET Framework.
Framework Class Library (FCL)

The Framework class library is vast. Itcomprises of over 2,000 classes. The Framework Class Library consistsof the following main parts:The Base Class Library
Windows Forms
ASP.NET Web Forms
ASP.NET Web Services
Data and XML classes
The Base Class Library comprises Security, Networking, Diagnostics, I/O, and other types of Operating Systems services.

Common Language Specifications (CLS)
Oneof the important goals of .NET Framework is to support MultipleLanguages. This is achieved by CLS. For multiple languages tointeroperate, it is necessary that they should go on in common incertain features such as Types that are used. For e. g. Every Languagehas its own Size and range for different data types. Thus CLS is theagreement among language designers and class library designersconcerning these usage conventions.

Common Language Runtime (CLR)
CLR is the runtime provided by .NET. It allows us to execute programs on the .NET platform.
The CLR provides:
Simple Application Development
Safety (because it does most of the runtime checking)
Easy Deployment
Multiple Languages support and
Good Performance
The good performance is achieved by JIT (Just-in-Time) compilationbuilt into CLR. The first time a method is encountered; the CLRperforms the verifications, calls the JIT which converts the IL intonative code. The next time the method is encountered, the native codeexecutes directly. The following will make you clearer,The process of programming in the .NET environment is:
1) Do the code in any .NET compliant high-level language
2) Compile it using the corresponding language?s compiler
3) Run the IL

 

Fig3. Design of CLR

We must also be aware of some more terminologies to get started with .NET which are as follows:
Assemblies:
These are a grouping of types n resources that work together as a logical unit. It consists of
MSIL (the Intermediate Language)
Meta Data (describing the types used in the program)
Manifest (relation ship between the elements listed in the assembly)
Manifest:
A manifest describes the relationship between the elements in the assembly and to the external elements.
You can use the ildasm.exe tool to disassemble an assembly
Getting Started with C#!
Getting started with C# is very easy; if you have a little bit ofprogramming background in OOPS and C or Java. C# is the bestprogramming language for the .NET platform. It has been specificallydesigned for the .NET platform. C# takes the advantages of the .NETplatform to the full. The runtime environment provided by .NET, CLRmanages the execution of code and provides a lot of useful services.Not all .NET compliant languages make the most of CLR; C# utilizes CLR,the Best!As usual, a typical starter program in C# will be as follows:

using System;

namespace ConsoleApplication1 //similar to packages in Java
{

class Class1
{

public static void Main(string[] args)
{
Console.WriteLine("Hi, Welcome to C#");
}
}
}

If we build and run

the abo
ve program using Visual Studio .NET, the output in the console will be as follows:

Fig4. Output Window of our simple program

We can use the ildasm.exe over the assembly of the above program for more vividness!

Fig5. Invoking ILDASM

 

Fig6. Main Window of ILDASM Tool

Twitter Digg Delicious Stumbleupon Technorati Facebook Email

No comments yet... Be the first to leave a reply!