What is .NET Framework?
Dot Net framework is a platform which enables the programmers to build the windows and web based applications very easily. The framework is just a rich set of inbuilt class libraries that the developers can invoke easily so that no need to write generic program logics again and again by individual developers.
.Net is a collection of technologies presented by Microsoft in early 2000. In January 2002, the software to support .NET was released. It was quickly adapted to be part of web software industry for rapid application development. It is undoubtedly continuing as a major player from that time.
Why .NET is preferred Choice For Businesses?
Every platform, framework, and architecture comes with lots of positives and some negatives.Similarly, DOTNET also has many strengths and some weaknesses. When understanding the limitations of the previous state of affairs that motivated to build the genesis of this new .Net platform, some of the list as follows.
Traditionally the developing software for the windows operating systems involved using C programming language with the windows API’s and it’s true that the numerous applications have been successfully created using this approach.
The limitations of C language are, C language is very abrupt language. The memory management should be done manually and ugly syntactic structures. Moreover C is a structured language and there is no object-oriented approach.
The C++ is improved version of raw C/API, and an object oriented concept on top of C. The C++ language inherited the syntactical features and memory management problems from C.
Despite of some complexity many C++ classes facilitates the construction of windows applications.
The Visual Basic has got huge popularity due to its ability to build great user interfaces, code libraries, and efficient data access logic.The major limitations with VB are that it is not fully object oriented language. No support for inheritance and also no support for class construction. Moreover, multi threadthere is no multi-threadprogramming in visual basic.
The Java programming language is completely object oriented language. As we consider the basic root for Java is C++ although it overcomes the syntactical aspects of C++. Java provides a rich set of class libraries and interface definitions. Java programmers are able to build 100% pure java applications complete with database connectivity, messaging support, web enabled and rich user interface.
Although Java is very elegant language, one potential problem is that language independency the programmer must need to use Java front to back during development cycle. Pure java is not a proper approach for many graphical and numerical applications. For example, if you are building a graphical intensive product such as 3-D video game we find the Java’s execution speed will be more. A better approach for such programs would be to adopt lower level languages such as C++. Also, Java has lots of limitations in accessing non-Java API’s
Advantages of .Net over Java
Both the programming platforms having their own specifications and below are listed some of the supporting features.
- Single platform for many programming languages. .Net framework is language independent it supports about 42 different programming languages (C#, VB.NET, C++ etc..).This capability reduces the effort to shift from one language to another or one platform to another and effort of learning different strategies.
- The .net is suitable framework for Windows-specific applications.
- Microsoft provides an Integrated Development Environment, V isual Studio, which facilitates rapid application development, to deliver project faster.Faster delivery matters a lot for customers & businesses.
- Unit testing and debugging is very effortless.Hence, can fix the bugs quicker.
- Deployment is very easy and simple
- The easier Ajax implementation in .Net, improved Enhanced interconnectivity and responsiveness.
- Single programming language for every need / language dependent
- Platform independent
- Open source
- Dependant on the 3rd party tools to develop applications
Overview of .NET
The DOT NET Framework fulfills the following objectives and requirements:
- .NET Framework provides consistent object-oriented platform to develop applications and to execute locally and remotely.
- To provide a code execution environment with minimizing efforts in software deployment and version conflicts.
- Safety of the executing code locally or remotely developed by 3rd party.
- Common runtime engine shared by all .Net aware languages, the well-defined set of types that all .Net languages understand and ensuring the performance.
- To provide consistent support all kind of developing applications such as windows based and web based applications.
- To support cross-language inheritance, exception handling and cross-language debugging.
Building Blocks of .Net Framework(CLR, CTS, and CLS)
CLR: The runtime layer is referred to as common language runtime (CLR). The main role of CLR is to locate, load and manage .Net types. The CLR also takes care of automatic memory management, type safety and language integration .
CTS: The Common Type System it describes all possible data types and programming construct supported by runtime, Specifies how entities can interact with each other and represents on .Net metadata format.
CLS: The Common Language Specification (CLS) is a set of rules that defines a subset of common types and programming constructs that all of the .Net family programming languages can agree up on.
The .NET Architecture:
The above diagram represents the complete architecture of the Dot Net frame work and associated toolset. The base of the architecture shows common language runtime (CLR) which loads and executes code that targets the runtime, this code is called managed code.
Base class library provides rich set of class libraries which includes file IO, threads, data class libraries for data access, xml integration, networking, security, program debugging and execution and many more.
ADO .NET is set of class libraries meant for data access and manipulation, the data source could be a database, text file, excel sheet or xml file.
The next layer of the .Net architecture consists of the web applications and windows applications which include Web Forms and Web Services. Visual studio consists of built in web controls and also allows programmers to create there own controls for user interface. The web services allows you to bind different applications over internet.
As explained earlier the .Net framework is language independent that offers the developers to use many specified languages such as C#, VB .Net, C++ etc.. This model is based on existing infrastructure and applications therefore standard based, simple and adoptable.