SlideShare a Scribd company logo
Introduction to .NET Framework
.NET – What Is It?
• Software platform
• Language neutral
• In other words:
.NET is not a language (Runtime and a library for
writing and executing written programs in any
compliant language)
What Is .NET
• .Net is a new framework for developing
web-based and windows-based applications
within the Microsoft environment.
• The framework offers a fundamental shift in
Microsoft strategy: it moves application
development from client-centric to server-
centric.
.NET – What Is It?
Operating System + Hardware
.NET Framework
.NET Application
Base Class LibraryBase Class Library
Common Language SpecificationCommon Language Specification
Common Language RuntimeCommon Language Runtime
ADO.NET: Data and XMLADO.NET: Data and XML
VBVB VC++VC++ VC#VC#
VisualStudio.NETVisualStudio.NET
ASP.NET: Web ServicesASP.NET: Web Services
and Web Formsand Web Forms
JScriptJScript ……
WindowsWindows
FormsForms
Framework, Languages, And Tools
The .NET Framework
.NET Framework Services
• Common Language Runtime
• Windows®
Forms
• ASP.NET
– Web Forms
– Web Services
• ADO.NET, evolution of ADO
• Visual Studio.NET
Common Language Runtime
(CLR)
•CLR works like a virtual machine in executing
all languages.
•All .NET languages must obey the rules and
standards imposed by CLR. Examples:
– Object declaration, creation and use
– Data types,language libraries
– Error and exception handling
– Interactive Development Environment (IDE)
Common Language Runtime
• Development
– Mixed language applications
• Common Language Specification (CLS)
• Common Type System (CTS)
• Standard class framework
• Automatic memory management
– Consistent error handling and safer execution
– Potentially multi-platform
• Deployment
– Removal of registration dependency
– Safety – fewer versioning problems
Common Language Runtime
Multiple Language Support
• CTS is a rich type system built into the CLR
– Implements various types (int, double, etc)
– And operations on those types
• CLS is a set of specifications that language
and library designers need to follow
– This will ensure interoperability between
languages
Compilation in .NET
Code in VB.NET Code in C#
Code in another
.NET Language
VB.NET compiler C# compiler
Appropriate
Compiler
IL(Intermediate
Language) code
CLR just-in-time
execution
CTS and CLS are parts of .NET CLR and are responsible for type safety
with in the code. Both allow cross language communication and type
safety. In this article I would like to expose the relationship between
these two.
CTS
CTS stands for Common Type System. It defines the rules which
Common Language Runtime follows when declaring, using, and
managing types. The common type system performs the following
functions:
It enables cross-language integration, type safety, and high-performance
code execution.
It provides an object-oriented model for implementation of many
programming languages.
It defines rules that every language must follow which runs under .NET
framework. It ensures that objects written in different .NET Languages
like C#, VB.NET, F# etc. can interact with each other.
CLS
CLS stands for Common Language Specification and it is a subset of
CTS. It defines a set of rules and restrictions that every language must
follow which runs under .NET framework. The languages which follows
these set of rules are said to be CLS Compliant. In simple words, CLS
enables cross-language integration.
For example, one rule is that you cannot use multiple inheritance
within .NET Framework. As you know C++ supports multiple
inheritance but; when you will try to use that C++ code within C#, it is
not possible because C# doesn’t supports multiple inheritance.
One another rule is that you cannot have members with same name with
case difference only i.e. you cannot have add() and Add() methods. This
easily works in C# because it is case-sensitive but when you will try to
use that C# code in VB.NET, it is not possible because VB.NET is not
case-sensitive.
Why CTS is Called Common Type System?
In .NET, every Data Type is internally represented by a class or
structure. All the classes and structures related to Data Types are
collectively known as CTS. As you know every language provides its
own keywords for Data Types but internally all the languages which run
under .NET framework use the classes and structures available in CTS.
For example, C# has int Data Type and VB.Net has Integer Data Type.
Hence a variable declared as int in C# or Integer in vb.net, finally after
compilation, use the same structure Int32 from CTS.
All the structures and classes available in CTS are common for all .NET
Languages and purpose of these is to support language independence
in .NET. Hence it is called CTS
MSIL
• It is a set of CPU independent instructions that
are generated by the language compiler when
the project is compiled. MSIL code is not
executable but further
processed by CLR/other runtime environments
before it becomes executable.
MSIL is contained in the assembly of the
.NET application.
Intermediate Language (IL)
• .NET languages are not compiled to machine code. They
are compiled to an Intermediate Language (IL).
• CLR accepts the IL code and recompiles it to machine
code. The recompilation is just-in-time (JIT) meaning it is
done as soon as a function or subroutine is called.
• The JIT code stays in memory for subsequent calls. In
cases where there is not enough memory it is discarded
thus making JIT process interpretive.
• Features:
MSIL instructions map to the code that is
written in .NET Language and are used for
loading, storing, initializing, and
calling methods on objects, as well as for
arithmetic and logical operations, control
flow, direct
memory access, exception handling, and
other operations.
CLS(Common language Specification)
provides the infrastructure for MSIL.
Benefits:
• Benefits:
1)MSIL provides language interoperability as
the code in any .NET language is compiled
into MSIL.
2)Same performance for all the .NET
Languages:
• 3)Support for different runtime environments:
CLR can understand MSIL.
Non .NET environments also support MSIL.
--------------------------------------------------------
---
The JIT Compiler in CLR converts the MSIL
code into native machine code which is then
executed by the OS
JIT
• JIT stands for just-in-time compiler. It
converts the MSIL code to CPU native code as
it is needed during code execution. It is called
just-in-time since it converts the MSIL code to
CPU native code; when it is required within
code execution otherwise it will not do nothing
with that MSIL code.
Different Types of JIT
• Normal JIT
• This complies only those methods that are
called at runtime. These methods are compiled
only first time when they are called, and then
they are stored in memory cache. This memory
cache is commonly called as JITTED. When
the same methods are called again, the
complied code from cache is used for
execution.
.Net overview|Introduction Of .net
Econo JIT
• This complies only those methods that are
called at runtime and removes them from
memory after execution.
.Net overview|Introduction Of .net
Pre JIT
• This complies entire MSIL code into native
code in a single compilation cycle. This is
done at the time of deployment of the
application.
.Net overview|Introduction Of .net
Native Code
• Before you can run Microsoft intermediate
language (MSIL), it must be converted by a
.NET Framework just-in-time (JIT)
compiler to native code, which is CPU-
specific code that runs on the same
computer architecture as the JIT compiler.
• Because the common language runtime
supplies a JIT compiler for each supported
CPU architecture, developers can write a set of
MSIL that can be JIT-compiled and run on
computers with different architectures.
However, your managed code will run only on
a specific operating system if it calls platform-
specific native APIs, or a platform-specific
class library.
• Native code is computer programming (code)
that is compiled to run with a particular
processor (such as an Intel x86-class
processor) and its set of instructions. If the
same program is run on a computer with a
different processor, software can be provided
so that the computer emulates the original
processor
Interoperating Between Native
Code and Managed Code
• Code that runs under the control of the
common language runtime (CLR) is known as
managed code. Code that does not run under
the CLR is known as native code. The
Windows API is one example of native code
Languages
• Languages provided by MS
– VB, C++, C#, J#, JScript
• Third-parties are building
– APL, COBOL, Pascal, Eiffel, Haskell, ML,
Oberon, Perl, Python, Scheme, Smalltalk…
Windows Forms
• Framework for Building Rich Clients
– RAD (Rapid Application Development)
– Rich set of controls
– Data aware
– ActiveX®
Support
– Licensing
– Accessibility
– Printing support
– Unicode support
– UI inheritance
ASP.NET
•ASP.NET,the platform services that allow to program
Web Applications and Web Services in any .NET
language
•ASP.NET Uses .NET languages to generate HTML
pages. HTML page is targeted to the capabilities of the
requesting Browser
•ASP.NET “Program” is compiled into a .NET class and
cached the first time it is called. All subsequent calls use
the cached version.
ASP.NET
• Logical Evolution of ASP
– Supports multiple languages
– Improved performance
– Control-based, event-driven execution model
– More productive
– Cleanly encapsulated functionality
ASP.NET Web Forms
• Allows clean cut code
– Code-behind Web Forms
• Easier for tools to generate
• Code within is compiled then executed
• Improved handling of state information
• Support for ASP.NET server controls
– Data validation
– Data bound grids
ASP.NET Web Services
• A technical definition
– “A programmable application component accessible
via standard Web protocols”
Web Services
• It is just an application…
• …that exposes its features and capabilities
over the network…
• …using XML…
• …to allow for the creation of powerful new
applications that are more than the sum of
their parts…
ADO.NET
(Data and XML)
• New objects (e.g., DataSets)
• Separates connected / disconnected issues
• Language neutral data access
• Uses same types as CLR
• Great support for XML
Visual Studio.NET
• Development tool that contains a rich set of
productivity and debugging features
.NET – Hierarchy, Another View
CLR
CLR
Summary
• The .NET Framework
– Dramatically simplifies development and deployment
– Provides robust and secure execution environment
– Supports multiple programming languages
Comparison between
J2EE and .NET
Comparison between J2EE and .NET Architectures
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
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
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
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
The varibles in C#, are categorized
into the following types:
• Value types
• Reference types
• Pointer types
• Value Type
• Value type variables can be assigned a value
directly. They are derived from the class
• System.ValueType.
• The value types directly contain data. Some
examples are int, char, and float, which
stores numbers, alphabets, and floating point
numbers, respectively. When you declare an
int type, the system allocates memory to store
the value
• Reference Type
• The reference types do not contain the actual data
stored in a variable, but they contain a reference to
the variables.
• In other words, they refer to a memory location.
Using multiple variables, the reference types can
refer to a memory location. If the data in the
memory location is changed by one of the variables,
the other variable automatically reflects this change
in value. Example of built-in reference types are:
object, dynamic, and string.
• Dynamic Type
• You can store any type of value in the
dynamic data type variable. Type checking for
these types of variables takes place at run-
time.
• Syntax for declaring a dynamic type is:
• dynamic <variable_name> = value; For
example,
• dynamic d = 20;
• String Type
• The String Type allows you to assign any string
values to a variable. The string type is an alias for
the System.String class. It is derived from object
type. The value for a string type can be assigned
using string literals in two forms: quoted and
@quoted.
• For example,
• String str = "Tutorials Point";
• Pointer Type
• Pointer type variables store the memory
address of another type. Pointers in C# have
the same capabilities as the pointers in C or C+
+.
• Syntax for declaring a pointer type is:
• type* identifier; For example,
• char* cptr; int* iptr;

More Related Content

PPSX
Introduction to .net framework
PPT
DOT Net overview
PPTX
dot net technology
PPT
Architecture of .net framework
PPT
Jdbc ppt
PPT
Introduction to Visual Studio.NET
PPT
SQLITE Android
PPTX
.net CLR
Introduction to .net framework
DOT Net overview
dot net technology
Architecture of .net framework
Jdbc ppt
Introduction to Visual Studio.NET
SQLITE Android
.net CLR

What's hot (20)

PPTX
Control Statements in Java
PPT
Nakov - .NET Framework Overview - English
PPT
Introduction To Dotnet
PPTX
C# Framework class library
PPTX
Common language runtime clr
PPT
Object Oriented Programming In .Net
PPTX
C# Tutorial
PPT
PPTX
Introduction to asp.net
PPTX
PPTX
Introduction to Spring Framework
PPT
Introduction to .NET Framework
PPTX
C# 101: Intro to Programming with C#
PPSX
JDBC: java DataBase connectivity
PPTX
Unit 5 composite datatypes
PDF
Introduction to oops concepts
PPT
Visula C# Programming Lecture 1
PPTX
C# classes objects
PPTX
Introduction to C# Programming
PPTX
SQLite - Overview
Control Statements in Java
Nakov - .NET Framework Overview - English
Introduction To Dotnet
C# Framework class library
Common language runtime clr
Object Oriented Programming In .Net
C# Tutorial
Introduction to asp.net
Introduction to Spring Framework
Introduction to .NET Framework
C# 101: Intro to Programming with C#
JDBC: java DataBase connectivity
Unit 5 composite datatypes
Introduction to oops concepts
Visula C# Programming Lecture 1
C# classes objects
Introduction to C# Programming
SQLite - Overview
Ad

Viewers also liked (20)

PPTX
PCA16-Become the Product Manager You Always Thought You Could Be
PDF
Product Manager - Growth: A New Role with a Sole Focus on Growth
PPTX
Aprendizaje autonomo
PPT
LavaCon 2015 use Case: Coming out: I love Word and you can too!
PDF
Student Project MECH M1
PPTX
The Science of Software Developing Data-Driven Product Roadmaps (ProductCamp ...
PPTX
Francisco y Silvia
PDF
Notes - Behavioural Design Workshop (HIF 2013)
PPT
Dev Summit Sf Flash Search V5
PDF
East African Breweries Limited Initiation Coverage Report - March 2016
PDF
User Experience Design In Healthcare | Fresh Tilled Soil
PPTX
MAteusz Olejarka - Testy Bezpieczenstwa 2
PPTX
Mathematical modelling of disease progression
PPT
Human Resource as a source of competitive advantage in IT sector- Manorama Yadav
PPT
санітарно гігієнічні вимоги щодо устаткування в днз
PPTX
Sugestões de leitura
PDF
User Stories writing - Bettersoftware 2012
PDF
Cross Functional Teams and the Product Manager
PDF
Adapting to change
PPTX
Roles & Responsibilities of product manager
PCA16-Become the Product Manager You Always Thought You Could Be
Product Manager - Growth: A New Role with a Sole Focus on Growth
Aprendizaje autonomo
LavaCon 2015 use Case: Coming out: I love Word and you can too!
Student Project MECH M1
The Science of Software Developing Data-Driven Product Roadmaps (ProductCamp ...
Francisco y Silvia
Notes - Behavioural Design Workshop (HIF 2013)
Dev Summit Sf Flash Search V5
East African Breweries Limited Initiation Coverage Report - March 2016
User Experience Design In Healthcare | Fresh Tilled Soil
MAteusz Olejarka - Testy Bezpieczenstwa 2
Mathematical modelling of disease progression
Human Resource as a source of competitive advantage in IT sector- Manorama Yadav
санітарно гігієнічні вимоги щодо устаткування в днз
Sugestões de leitura
User Stories writing - Bettersoftware 2012
Cross Functional Teams and the Product Manager
Adapting to change
Roles & Responsibilities of product manager
Ad

Similar to .Net overview|Introduction Of .net (20)

PPTX
election survey comapny in delhi|election survey company|election survey comp...
PPT
.Net overview
PPT
Modified.net overview
PPT
.Net Introduction
PPT
NETOverview1.ppt
PPTX
NETOverview1ppt.pptx
PPT
NETOverview1.ppt c# using asp.net activeX data object and XNL
PPT
.Net framework
PPTX
PPT
.Net overview
PPT
Inside .net framework
PPT
Net Framework overview
PDF
1..Net Framework Architecture-(c#)
PDF
.Net overview by cetpa
PPT
Introduction to .net
PPT
Net overview
PPTX
.Net Framwork Architecture And components
PPT
Dotnet framework
PPTX
Introduction to .net FrameWork by QuontraSolutions
election survey comapny in delhi|election survey company|election survey comp...
.Net overview
Modified.net overview
.Net Introduction
NETOverview1.ppt
NETOverview1ppt.pptx
NETOverview1.ppt c# using asp.net activeX data object and XNL
.Net framework
.Net overview
Inside .net framework
Net Framework overview
1..Net Framework Architecture-(c#)
.Net overview by cetpa
Introduction to .net
Net overview
.Net Framwork Architecture And components
Dotnet framework
Introduction to .net FrameWork by QuontraSolutions

Recently uploaded (20)

PPTX
Cerebral_Palsy_Detailed_Presentation.pptx
PPTX
internship presentation of bsnl in colllege
PPTX
PMP (Project Management Professional) course prepares individuals
PDF
Sales and Distribution Managemnjnfijient.pdf
PPTX
ESD MODULE-5hdbdhbdbdbdbbdbdbbdndbdbdbdbbdbd
PPTX
PE3-WEEK-3sdsadsadasdadadwadwdsdddddd.pptx
PDF
Daisia Frank: Strategy-Driven Real Estate with Heart.pdf
PPTX
Autonomic_Nervous_SystemM_Drugs_PPT.pptx
PPTX
Nervous_System_Drugs_PPT.pptxXXXXXXXXXXXXXXXXX
PDF
APNCET2025RESULT Result Result 2025 2025
PDF
esg-supply-chain-webinar-nov2018hkhkkh.pdf
PPTX
OnePlus 13R – ⚡ All-Rounder King Performance: Snapdragon 8 Gen 3 – same as iQ...
PPTX
chapter 3_bem.pptxKLJLKJLKJLKJKJKLJKJKJKHJH
PDF
Manager Resume for R, CL & Applying Online.pdf
DOCX
mcsp232projectguidelinesjan2023 (1).docx
PPTX
The Stock at arrangement the stock and product.pptx
PPTX
DPT-MAY24.pptx for review and ucploading
PDF
MCQ Practice CBT OL Official Language 1.pptx.pdf
PPTX
FINAL PPT.pptx cfyufuyfuyuy8ioyoiuvy ituyc utdfm v
PDF
Josh Gao Strength to Strength Book Summary
Cerebral_Palsy_Detailed_Presentation.pptx
internship presentation of bsnl in colllege
PMP (Project Management Professional) course prepares individuals
Sales and Distribution Managemnjnfijient.pdf
ESD MODULE-5hdbdhbdbdbdbbdbdbbdndbdbdbdbbdbd
PE3-WEEK-3sdsadsadasdadadwadwdsdddddd.pptx
Daisia Frank: Strategy-Driven Real Estate with Heart.pdf
Autonomic_Nervous_SystemM_Drugs_PPT.pptx
Nervous_System_Drugs_PPT.pptxXXXXXXXXXXXXXXXXX
APNCET2025RESULT Result Result 2025 2025
esg-supply-chain-webinar-nov2018hkhkkh.pdf
OnePlus 13R – ⚡ All-Rounder King Performance: Snapdragon 8 Gen 3 – same as iQ...
chapter 3_bem.pptxKLJLKJLKJLKJKJKLJKJKJKHJH
Manager Resume for R, CL & Applying Online.pdf
mcsp232projectguidelinesjan2023 (1).docx
The Stock at arrangement the stock and product.pptx
DPT-MAY24.pptx for review and ucploading
MCQ Practice CBT OL Official Language 1.pptx.pdf
FINAL PPT.pptx cfyufuyfuyuy8ioyoiuvy ituyc utdfm v
Josh Gao Strength to Strength Book Summary

.Net overview|Introduction Of .net

  • 2. .NET – What Is It? • Software platform • Language neutral • In other words: .NET is not a language (Runtime and a library for writing and executing written programs in any compliant language)
  • 3. What Is .NET • .Net is a new framework for developing web-based and windows-based applications within the Microsoft environment. • The framework offers a fundamental shift in Microsoft strategy: it moves application development from client-centric to server- centric.
  • 4. .NET – What Is It? Operating System + Hardware .NET Framework .NET Application
  • 5. Base Class LibraryBase Class Library Common Language SpecificationCommon Language Specification Common Language RuntimeCommon Language Runtime ADO.NET: Data and XMLADO.NET: Data and XML VBVB VC++VC++ VC#VC# VisualStudio.NETVisualStudio.NET ASP.NET: Web ServicesASP.NET: Web Services and Web Formsand Web Forms JScriptJScript …… WindowsWindows FormsForms Framework, Languages, And Tools
  • 6. The .NET Framework .NET Framework Services • Common Language Runtime • Windows® Forms • ASP.NET – Web Forms – Web Services • ADO.NET, evolution of ADO • Visual Studio.NET
  • 7. Common Language Runtime (CLR) •CLR works like a virtual machine in executing all languages. •All .NET languages must obey the rules and standards imposed by CLR. Examples: – Object declaration, creation and use – Data types,language libraries – Error and exception handling – Interactive Development Environment (IDE)
  • 8. Common Language Runtime • Development – Mixed language applications • Common Language Specification (CLS) • Common Type System (CTS) • Standard class framework • Automatic memory management – Consistent error handling and safer execution – Potentially multi-platform • Deployment – Removal of registration dependency – Safety – fewer versioning problems
  • 9. Common Language Runtime Multiple Language Support • CTS is a rich type system built into the CLR – Implements various types (int, double, etc) – And operations on those types • CLS is a set of specifications that language and library designers need to follow – This will ensure interoperability between languages
  • 10. Compilation in .NET Code in VB.NET Code in C# Code in another .NET Language VB.NET compiler C# compiler Appropriate Compiler IL(Intermediate Language) code CLR just-in-time execution
  • 11. CTS and CLS are parts of .NET CLR and are responsible for type safety with in the code. Both allow cross language communication and type safety. In this article I would like to expose the relationship between these two. CTS CTS stands for Common Type System. It defines the rules which Common Language Runtime follows when declaring, using, and managing types. The common type system performs the following functions: It enables cross-language integration, type safety, and high-performance code execution. It provides an object-oriented model for implementation of many programming languages. It defines rules that every language must follow which runs under .NET framework. It ensures that objects written in different .NET Languages like C#, VB.NET, F# etc. can interact with each other.
  • 12. CLS CLS stands for Common Language Specification and it is a subset of CTS. It defines a set of rules and restrictions that every language must follow which runs under .NET framework. The languages which follows these set of rules are said to be CLS Compliant. In simple words, CLS enables cross-language integration. For example, one rule is that you cannot use multiple inheritance within .NET Framework. As you know C++ supports multiple inheritance but; when you will try to use that C++ code within C#, it is not possible because C# doesn’t supports multiple inheritance. One another rule is that you cannot have members with same name with case difference only i.e. you cannot have add() and Add() methods. This easily works in C# because it is case-sensitive but when you will try to use that C# code in VB.NET, it is not possible because VB.NET is not case-sensitive.
  • 13. Why CTS is Called Common Type System? In .NET, every Data Type is internally represented by a class or structure. All the classes and structures related to Data Types are collectively known as CTS. As you know every language provides its own keywords for Data Types but internally all the languages which run under .NET framework use the classes and structures available in CTS. For example, C# has int Data Type and VB.Net has Integer Data Type. Hence a variable declared as int in C# or Integer in vb.net, finally after compilation, use the same structure Int32 from CTS. All the structures and classes available in CTS are common for all .NET Languages and purpose of these is to support language independence in .NET. Hence it is called CTS
  • 14. MSIL • It is a set of CPU independent instructions that are generated by the language compiler when the project is compiled. MSIL code is not executable but further processed by CLR/other runtime environments before it becomes executable. MSIL is contained in the assembly of the .NET application.
  • 15. Intermediate Language (IL) • .NET languages are not compiled to machine code. They are compiled to an Intermediate Language (IL). • CLR accepts the IL code and recompiles it to machine code. The recompilation is just-in-time (JIT) meaning it is done as soon as a function or subroutine is called. • The JIT code stays in memory for subsequent calls. In cases where there is not enough memory it is discarded thus making JIT process interpretive.
  • 16. • Features: MSIL instructions map to the code that is written in .NET Language and are used for loading, storing, initializing, and calling methods on objects, as well as for arithmetic and logical operations, control flow, direct memory access, exception handling, and other operations. CLS(Common language Specification) provides the infrastructure for MSIL.
  • 17. Benefits: • Benefits: 1)MSIL provides language interoperability as the code in any .NET language is compiled into MSIL. 2)Same performance for all the .NET Languages:
  • 18. • 3)Support for different runtime environments: CLR can understand MSIL. Non .NET environments also support MSIL. -------------------------------------------------------- --- The JIT Compiler in CLR converts the MSIL code into native machine code which is then executed by the OS
  • 19. JIT • JIT stands for just-in-time compiler. It converts the MSIL code to CPU native code as it is needed during code execution. It is called just-in-time since it converts the MSIL code to CPU native code; when it is required within code execution otherwise it will not do nothing with that MSIL code.
  • 20. Different Types of JIT • Normal JIT • This complies only those methods that are called at runtime. These methods are compiled only first time when they are called, and then they are stored in memory cache. This memory cache is commonly called as JITTED. When the same methods are called again, the complied code from cache is used for execution.
  • 22. Econo JIT • This complies only those methods that are called at runtime and removes them from memory after execution.
  • 24. Pre JIT • This complies entire MSIL code into native code in a single compilation cycle. This is done at the time of deployment of the application.
  • 26. Native Code • Before you can run Microsoft intermediate language (MSIL), it must be converted by a .NET Framework just-in-time (JIT) compiler to native code, which is CPU- specific code that runs on the same computer architecture as the JIT compiler.
  • 27. • Because the common language runtime supplies a JIT compiler for each supported CPU architecture, developers can write a set of MSIL that can be JIT-compiled and run on computers with different architectures. However, your managed code will run only on a specific operating system if it calls platform- specific native APIs, or a platform-specific class library.
  • 28. • Native code is computer programming (code) that is compiled to run with a particular processor (such as an Intel x86-class processor) and its set of instructions. If the same program is run on a computer with a different processor, software can be provided so that the computer emulates the original processor
  • 29. Interoperating Between Native Code and Managed Code • Code that runs under the control of the common language runtime (CLR) is known as managed code. Code that does not run under the CLR is known as native code. The Windows API is one example of native code
  • 30. Languages • Languages provided by MS – VB, C++, C#, J#, JScript • Third-parties are building – APL, COBOL, Pascal, Eiffel, Haskell, ML, Oberon, Perl, Python, Scheme, Smalltalk…
  • 31. Windows Forms • Framework for Building Rich Clients – RAD (Rapid Application Development) – Rich set of controls – Data aware – ActiveX® Support – Licensing – Accessibility – Printing support – Unicode support – UI inheritance
  • 32. ASP.NET •ASP.NET,the platform services that allow to program Web Applications and Web Services in any .NET language •ASP.NET Uses .NET languages to generate HTML pages. HTML page is targeted to the capabilities of the requesting Browser •ASP.NET “Program” is compiled into a .NET class and cached the first time it is called. All subsequent calls use the cached version.
  • 33. ASP.NET • Logical Evolution of ASP – Supports multiple languages – Improved performance – Control-based, event-driven execution model – More productive – Cleanly encapsulated functionality
  • 34. ASP.NET Web Forms • Allows clean cut code – Code-behind Web Forms • Easier for tools to generate • Code within is compiled then executed • Improved handling of state information • Support for ASP.NET server controls – Data validation – Data bound grids
  • 35. ASP.NET Web Services • A technical definition – “A programmable application component accessible via standard Web protocols”
  • 36. Web Services • It is just an application… • …that exposes its features and capabilities over the network… • …using XML… • …to allow for the creation of powerful new applications that are more than the sum of their parts…
  • 37. ADO.NET (Data and XML) • New objects (e.g., DataSets) • Separates connected / disconnected issues • Language neutral data access • Uses same types as CLR • Great support for XML
  • 38. Visual Studio.NET • Development tool that contains a rich set of productivity and debugging features
  • 39. .NET – Hierarchy, Another View CLR CLR
  • 40. Summary • The .NET Framework – Dramatically simplifies development and deployment – Provides robust and secure execution environment – Supports multiple programming languages
  • 42. Comparison between J2EE and .NET Architectures
  • 43. 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
  • 44. 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
  • 45. 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
  • 46. 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
  • 47. The varibles in C#, are categorized into the following types: • Value types • Reference types • Pointer types • Value Type • Value type variables can be assigned a value directly. They are derived from the class
  • 48. • System.ValueType. • The value types directly contain data. Some examples are int, char, and float, which stores numbers, alphabets, and floating point numbers, respectively. When you declare an int type, the system allocates memory to store the value
  • 49. • Reference Type • The reference types do not contain the actual data stored in a variable, but they contain a reference to the variables. • In other words, they refer to a memory location. Using multiple variables, the reference types can refer to a memory location. If the data in the memory location is changed by one of the variables, the other variable automatically reflects this change in value. Example of built-in reference types are: object, dynamic, and string.
  • 50. • Dynamic Type • You can store any type of value in the dynamic data type variable. Type checking for these types of variables takes place at run- time. • Syntax for declaring a dynamic type is: • dynamic <variable_name> = value; For example, • dynamic d = 20;
  • 51. • String Type • The String Type allows you to assign any string values to a variable. The string type is an alias for the System.String class. It is derived from object type. The value for a string type can be assigned using string literals in two forms: quoted and @quoted. • For example, • String str = "Tutorials Point";
  • 52. • Pointer Type • Pointer type variables store the memory address of another type. Pointers in C# have the same capabilities as the pointers in C or C+ +. • Syntax for declaring a pointer type is: • type* identifier; For example, • char* cptr; int* iptr;

Editor's Notes

  • #6: The .NET framework exposes numerous classes to the developer. These classes allow the development of rich client applications and Web based applications alike. In the above slide these classes have been divided into 4 areas. ASP.NET provides the core Web infrastructure such as Web Forms for UI based development and Web Services for programmatic interface development, User interface development on the Windows platform can be done using Windows Forms ADO.NET and XML provide the functionality for data access. Finally, the core base classes provide infrastructure services such as security, transaction management etc.
  • #7: Common Language Runtime Common, secure execution environment. We’ll drill into this in some detail in the first parts of the presentation. Windows® forms Framework for building rich clients A demonstration will highlight some of these features, such as the delegate-based event model. ASP.NET Web forms Manageable code (non spaghetti) Logical evolution of ASP (compiled) Again, we’ll drill into a hint at the power of Web Forms with a demonstration Web Services Programming the Internet to leverage the &amp;quot;power at the edge of the cloud&amp;quot;. We will cover this in detail, as this – along with the CLR – is one of the more powerful aspects of .NET Framework. ADO.NET, evolution of ADO New objects (e.g., DataSets, Datareader) Visual Studio.NET Most productive development environment gets better and fully supports the .NET Framework
  • #34: The first incarnation of ASP proved very successful. As part of the .NET Framework, Microsoft support ASP.NET. ASP.NET is a logical evolution of ASP, but addresses many of the issues associated with ASP. ASP.NET is now compiled and not interpreted. A great deal of work has also been done to make sure that ASP.NET development becomes cleaner and more productive.
  • #35: The Web Form is basically an ASP.NET file (.ASPX) that makes use of the new features of ASP.NET. ASP.NET in conjunction with Web Forms eliminate a number of the traditional problems associated with ASP. ASP.NET provides the developer with the option of separating the code from the UI elements using ‘code-behind’ forms. Using such a mechanism will also make Form tools much easier to develop. ASP.NET also conquers one of the annoying side effects of using ASP – state. Imagine that a user has filled in an ASP generated form and then hits the submit button. At this stage IIS (server side) will regenerate the form and as a side effect all the information that the user entered into the form will be erased. In many situations this is unacceptable, and many an ASP developer has struggled to find work arounds (most of which may not be considered elegant). Fortunately, ASP.NET allows controls to maintain state. ASP.NET supports a number of new rich server controls. These controls can be used to improve data connectivity (data bound controls) and data validation.
  • #36: Technically a Web Service is “A programmable application component accessible via standard Web protocols”. In other words, it’s a component that can be called remotely, over the internet, from a client application. Take our previous example of a Web application that required ‘stock information’. This Web application possibly would not have that information readily at hand. However, what if another Web application (possibly on another machine, on the other side of the planet) did? Further more what if this remote machine exposed a component with a method such as ‘GetStockPrice (string strCompanyName)’. Surely this would make life much easier, making separate Web sites act like ‘one big application’. Web service consumers can send and receive messages using XML, and therefore the audience of clients is unlimited.