2. August 26, 2013 2
What is .NET Framework?
It’s a software platform developed by Microsoft initially
released in the year 2000.
It’s a Language neutral (Language Interoperability), it
mean each language can use code written in other
languages.
In other words:
.NET is not a language (It’s a Runtime and a library for writing
and executing written programs in any compliant language)
4. Overview of .NET Framework release history
Generation Version number Release date Development tool Distributed with
1.0 1.0.3705.0 2002-02-13 Visual Studio .NET N/A
1.1 1.1.4322.573 2003-04-24 Visual Studio .NET 2003 Windows Server 2003
2.0 2.0.50727.42 2005-11-07 Visual Studio 2005 Windows Server 2003 R2
3.0 3.0.4506.30 2006-11-06 Expression Blend
Windows Vista, Windows Server
2008
3.5 3.5.21022.8 2007-11-19 Visual Studio 2008
Windows 7, Windows Server
2008 R2
4.0 4.0.30319.1 2010-04-12 Visual Studio 2010 N/A
4.5 4.5.50709.17929 2012-08-15 Visual Studio 2012
Windows 8, Windows Server
2012
August 26, 2013 4
5. Features of .NET Framework
• Interoperability
• Common Language Runtime engine
• Language independence
• Base Class Library
• Simplified deployment
• Security
• Portability
August 26, 2013 5
6. Advantages of .NET Framework
Write once, run everywhere.
Multiple programming languages (70+)
Coding Reduction
Ease of Deployment
Security Features
August 26, 2013 6
8. Common Language Infrastructure
The Common Language Infrastructure (CLI) is an
open specification developed by Microsoft and
standardized by ISO and ECMA. Among other things,
the CLI specification describes the following four
aspects:
The Common Type System (CTS)
Metadata
Common Language Specification (CLS)
Virtual Execution System (VES)
August 26, 2013 8
9. Components of .NET Framework
Net Framework is a platform that provides tools and
technologies to develop Windows, Web and Enterprise
applications. It mainly contains two components,
The Common Language Runtime (CLR)
The .NET Framework Base Classes (Class Library)
August 26, 2013 9
12. Flavors of .NET Framework
Contrary to general belief, .NET is not a single
technology. Rather it is a set of technologies that work
together seamlessly to solve your business problems.
When you hear the name .NET, it gives a feeling that
it is something to do only with internet or networked
applications. Even though it is true that .NET provides
solid foundation for developing such applications it is
possible to create many other types of applications.
August 26, 2013 12
13. What type of applications can be develop
with .NET Framework?
• ASP.NET Web applications.
• Windows Form based applications.
• Console applications.
• Component Libraries.
• Windows Custom Controls.
• Web Custom Controls.
• Web services.
• Windows Services.
August 26, 2013 13
15. J2EE and .NET
Execution Engine
J2EE
Java source code compiles into machine-independent byte code
Runtime Environment : JVM
.NET
Any compliant language compiles into MSIL
Runtime environment : CLR
Both JVM and CLR support services, such as code
verification, memory management via garbage collection,
and code security
August 26, 2013 15
16. J2EE and .NET
Cross Platform Portability
J2EE
Platform Independent
JDK should exist on target machine
.NET
Supports Windows platform
CLR should exist on target machine
Can support other platforms provided it has its own JIT complier
August 26, 2013 16
17. J2EE and .NET
Language Support
J2EE
Tied to Java
Supports other languages via interface technology
.NET
Language independent
Supports any language if mapping exists from that language to IL
August 26, 2013 17
18. J2EE and .NET
Tools Support
J2EE
Can employ any number of tools
Pro :Developer has a great deal of choice
Con :Difficulty in choosing a right tool for a given job
.NET
Visual Studio.NET, single IDE for building an application
August 26, 2013 18
19. Summary
The .NET Framework
Dramatically simplifies development and deployment
Provides robust and secure execution environment
Supports multiple programming languages
August 26, 2013 19
Interoperability: Because computer systems commonly require interaction between newer and older applications, the .NET Framework provides means to access functionality implemented in newer and older 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 achieved using the P/Invoke feature.Common Language Runtime engine: The Common Language Runtime (CLR) serves as the execution engine 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 conforming to the Common Language Infrastructure (CLI) specification. Because of this feature, the .NET Framework supports the exchange of types and object instances between libraries and applications written using any conforming .NET language.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 that encapsulate a number of common functions, including file reading and writing, graphic rendering, database interaction, XML document manipulation, and so on. It consists of classes, interfaces of reusable types that integrates with CLR(Common Language Runtime).Simplified deployment: The .NET Framework includes design features and tools which help manage the installation of computer software to ensure it does not interfere with previously installed software, and it conforms to security requirements.Security: The design addresses some of the vulnerabilities, such as buffer overflows, which have been exploited by malicious software. Additionally, .NET provides a common security model for all applications.Portability: While Microsoft has never implemented the full framework on any system except Microsoft Windows, it has engineered the framework to be platform-agnostic, and cross-platform implementations are available for other operating systems (see Silverlight and the Alternative implementations section below). Microsoft submitted the specifications for the Common Language Infrastructure (which includes the core class libraries, Common Type System, and the Common Intermediate Language), the C# language, and the C++/CLI language to both ECMA and the ISO, making them available as official standards. This makes it possible for third parties to create compatible implementations of the framework and its languages on other platforms.
The Common Language Infrastructure (CLI) is an open specification developed by Microsoft and standardized by ISO and ECMA that describes the executable code and runtime environment that form the core of the Microsoft .NET Framework and the free and open source implementations Mono and Portable.NET. The specification defines an environment that allows multiple high-level languages to be used on different computer platforms without being rewritten for specific architectures.ISO - International Organization for StandardizationECMA - European Computer Manufacturers AssociationThe Common Type System (CTS): A set of data types and operations that are shared by all CTS-compliant programming languages.Metadata: Information about program structure is language-agnostic, so that it can be referenced between languages and tools, making it easy to work with code written in a language you are not using.Common Language Specification (CLS): A set of base rules to which any language targeting the CLI should conform in order to interoperate with other CLS-compliant languages. The CLS rules define a subset of the Common Type System.Virtual Execution System (VES): The VES loads and executes CLI-compatible programs, using the metadata to combine separately generated pieces of code at runtime.All compatible languages compile to Common Intermediate Language (CIL), which is an intermediate language that is abstracted from the platform hardware. When the code is executed, the platform-specific VES will compile the CIL to the machine language according to the specific hardware and operating system.
A set of approximately 3500 classes.Classes are divided into namespaces grouping similar classes.For organization, each class belongs to only one namespace.Most classes are lumped into a name space called SystemSystem.Data: DB accessSystem.XML: reading/writing XMLSystem.Windows.Forms: Forms manipulationSystem.Net: network communication.Supports Web Standards HTMLXMLXSLTSOAPWSDL (Web Services) ADO.Net: ActiveX Data Objects. ASP.Net: Active Server Pages.ILDASM: A tool used to properly display IL in a human readable format..Net Compact Framework (mobile devices)
Common Language Runtime (CLR): .Net Framework provides runtime environment called Common Language Runtime (CLR). It provides an environment to run all the .Net Programs. The code which runs under the CLR is called as Managed Code. Programmers need not to worry on managing the memory if the programs are running under the CLR as it provides memory management and thread management.Programmatically, when our program needs memory, CLR allocates the memory for scope and de-allocates the memory if the scope is completed.Language Compilers (e.g. C#, VB.Net, J#) will convert the Code/Program to Microsoft Intermediate Language (MSIL) intern this will be converted to Native Code by CLR.
.Net Framework Class Library (FCL) : This is also called as Base Class Library and it is common for all types of applications i.e. the way you access the Library Classes and Methods in VB.NET will be the same in C#, and it is common for all other languages in .NET. The following are different types of applications that can make use of .net class library. 1. Windows Application.2. Console Application3. Web Application.4. XML Web Services.5. Windows Services.In short, developers just need to import the BCL in their language code and use its predefined methods and properties to implement common and complex functions like reading and writing to file, graphic rendering, database interaction, and XML document manipulation.
ASP.NET Web applications: These include dynamic and data driven browser based applications.Windows Form based applications: These refer to traditional rich client applications.Console applications: These refer to traditional DOS kind of applications like batch scripts.Component Libraries: This refers to components that typically encapsulate some business logic.Windows Custom Controls: As with traditional ActiveX controls, you can develop your own windows controls.Web Custom Controls: The concept of custom controls can be extended to web applications allowing code reuse and modularization.Web services: They are “web callable” functionality available via industry standards like HTTP, XML and SOAP.Windows Services: They refer to applications that run as services in the background. They can be configured to start automatically when the system boots up.