Saturday, January 2, 2010

. NET Platform

The Microsoft .NET Framework is a software framework that can be installed on computers running Microsoft Windows operating systems. It includes a large library of coded solutions to common programming problems and a virtual machine that manages the execution of programs written specifically for the framework. The .NET Framework is a Microsoft offering and is intended to be used by most new applications created for the Windows platform.

The framework's Base Class Library provides a large range of features including user interface, data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications. The class library is used by programmers, who combine it with their own code to produce applications.

Programs written for the .NET Framework execute in a software environment that manages the program's runtime requirements. Also part of the .NET Framework, this runtime environment is known as the Common Language Runtime (CLR). The CLR provides the appearance of an application virtual machine so that programmers need not consider the capabilities of the specific CPU that will execute the program. The CLR also provides other important services such as security, memory management, and exception handling. The class library and the CLR together constitute the .NET Framework.

Version 3.0 of the .NET Framework is included with Windows Server 2008 and Windows Vista. The current stable version of the framework, which is 3.5, can also be installed on Windows XP and the Windows Server 2003 family of operating systems.[2] Version 4 of the framework was released as a public Beta on 20 May 2009.[3]

The .NET Framework family also includes two versions for mobile or embedded device use. A reduced version of the framework, the .NET Compact Framework, is available on Windows CE platforms, including Windows Mobile devices such as smartphones. Additionally, the .NET Micro Framework is targeted at severely resource constrained devices.


Principal design features

Interoperability
Because interaction between new and older applications is commonly required, the .NET Framework provides means to access functionality that is implemented in programs that execute outside the .NET environment. Access to COM components is provided in the System.Runtime.InteropServices and System.EnterpriseServices namespaces of the framework; access to other functionality is provided using the P/Invoke feature.
Common Runtime Engine
The Common Language Runtime (CLR) is the virtual machine component of the .NET framework. All .NET programs execute under the supervision of the CLR, guaranteeing certain properties and behaviors in the areas of memory management, security, and exception handling.
Language Independence
The .NET Framework introduces a Common Type System, or CTS. The CTS specification defines all possible datatypes and programming constructs supported by the CLR and how they may or may not interact with each other. Because of this feature, the .NET Framework supports the exchange of instances of types between programs written in any of the .NET languages. This is discussed in more detail in Microsoft .NET Languages.
Base Class Library
The Base Class Library (BCL), part of the Framework Class Library (FCL), is a library of functionality available to all languages using the .NET Framework. The BCL provides classes which encapsulate a number of common functions, including file reading and writing, graphic rendering, database interaction and XML document manipulation.
Simplified Deployment
The .NET framework includes design features and tools that help manage the installation of computer software to ensure that it does not interfere with previously installed software, and that it conforms to security requirements.
Security
The design is meant to address some of the vulnerabilities, such as buffer overflows, that have been exploited by malicious software. Additionally, .NET provides a common security model for all applications.
Portability
The design of the .NET Framework allows it to theoretically be platform agnostic, and thus cross-platform compatible. That is, a program written to use the framework should run without change on any type of system for which the framework is implemented. Microsoft's commercial implementations of the framework cover Windows, Windows CE, and the Xbox 360.[4] In addition, Microsoft submits the specifications for the Common Language Infrastructure (which includes the core class libraries, Common Type System, and the Common Intermediate Language),[5][6][7] the C# language,[8] and the C++/CLI language[9] to both ECMA and the ISO, making them available as open standards. This makes it possible for third parties to create compatible implementations of the framework and its languages on other platforms.

9 comments:

  1. Hi Nice article but what is the difference between the Java's platform (JVM) and .net platform....also which one is better?

    ReplyDelete
  2. The purpose of the Java platform is to support applications written in the Java language and compiled to Java bytecode
    The purpose of the NET Framework is to support applications written in any language and compiled to MSIL. The goal of .NET is a single platform shared by multiple languages.

    ReplyDelete
  3. also the security in .NET platform is more than that of java... so i would say .NET would be better... what say?

    ReplyDelete
  4. Really..then y does google prefer Java over Microsoft technologies?
    I mean if its not safe then y does GOOGLE prefer JAVA.

    To my understanding both the tech have similar in sense theyare based on the concept "write once run anywhere" ...and thats where JVM and .net framework comes in.


    Also find out Y do we need to install JAVA or .net frameqwork on our newly installed PC to run many applicaitons?

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. Google using java doesn't make much sense out here. evn i can pop up a question on the similar terms as why dell or citrix or many such firms prefer .net over java?

    one must agree to the fact that Java evolved from an initial platform with limited security capabilities, .net incorporated more security capability into its original design. With age and new features, much of the legacy code of Java still remains for backwards compatibility including the possibility of a null SecurityManager, and the absolute trust of classes on the bootclasspath. Hence, in several areas .NET has security advantages over Java because of its simpler and cleaner design.

    Prominently people know much about Java, but .NET is newer compared to Java - 7 years younger - and we should keep it in mind.

    ReplyDelete
  7. Hi ankit....first of all yar from next time please change the language when u copy paste from the net >>http://www.cs.virginia.edu/~nrp3d/papers/computers_and_security-net-java.pdf
    secondly my point was not that .net is better or java. In my nascent opinion both are equally mature....java is more on the opesource side than .net.

    Still good work both f u....:)

    ReplyDelete
  8. @ ankit: thanks buddy for ur valuable inputs... hope we keep on receiving the same in future also...

    ReplyDelete
  9. @ pranay: i appriciate ur knowledge.. but my friend lemme remind u... the blog is for sharing and learning.... so it hardly matters from which site u pick the content.... that solves the purpose... n gave ur answers also...
    kindly be a bit more polite next time...
    n thnk u too for ur inputs... it wud be really nice if u cn share some more info or pics regarding the latest...

    Cheers!!!

    ReplyDelete