SlideShare a Scribd company logo
1 of 42
'
What is .NET
 It is an open source platform developed by Microsoft for building
many types of applications
 A .NET application can be developed in multiple languages,
using different editors and libraries
 Some of the languages are C#, F#, Visual C++, Visual Basic etc
 It is tool to build and run C# programs and other language
programs
 When .NET is downloaded, many other programs are
downloaded that translate code into instructions that are
understandable by the computer
 It also provide utilities for building software
 It defines a set of data types to store information in programs
.NET Versions
 There are few versions of .NET to do a particular job
under different platforms/ environments
 .NET framework is the original version of .NET that only
runs on Windows platform
 .NET core is the new cross-platform version of .NET that
runs on Windows, MacOS and LINUX computers
Languages in .NET
 .NET application can be written in C#, F# or Visual
Basic
 C# is a simple, modern, object-oriented and type safe
programming language
 F# is a programming language that makes it easy to
write concise, robust and performant code
 Visual Basic is an approachable language with a simple
syntax for building type-safe object-oriented apps
Cross-platform
 The code developed in any of the language will run
natively on any compatible operating system
 Many types of apps can be developed with .NET. Some
are cross platform and some target-specific set of
operating systems and devices
.NET Classes and API
 .NET provides a standard set of base class libraries
and API's that are common to all .NET applications
 Each application model can also expose additional
API's that are specific to the operating system it runs
on or the capabilities it provides
 For example:
 ASP.NET is the cross-platform web framework that
provides additional API's for building web apps that
runs on Windows or Linux
ASP.NET
 To build programs for the web like websites more tools
are to added on top of .NET
 One of the popular tools is ASP.NET
 To keep .NET and ASP.NET separate, .NET is called a
platform and ASP.NET is called a framework
.NET Strategy
 .NET is a software framework that includes everything
required for developing software for web services
 It integrates presentation technologies, component
technologies and data technologies on a single
platform
 It enables users to develop internet applications as
easily as on a desktop system
.NET Software Components
 Microsoft .NET software solution includes three key
components
 Microsoft .NET Platform
 Microsoft .NET Products and Services
 Third-party .NET Services
.NET Platform
 Microsoft .NET platform includes the following
components to help develop a new generation of smart
Internet Services
 .NET infrastructure and tools
 .NET user experience
 .NET building block
 .NET device software
.NET Products and Services
 Microsoft .NET products and services consists of the
following:
 Windows .NET
 MSN .NET
 Office .NET
 Visual Studio .NET
 Personal subscription services etc
Third Party Services
 Third-party .NET services will provide opportunities to
a vast range of developers and users to produce
corporate and vertical services using .NET platform
Technological Development of .NET
 The current technology of .NET has gone through
three significant phases of development
 OLE Technology
 COM Technology
 .NET Technology
 OLE Technology
 OLE technology was developed by Microsoft in the early
1990's to enable easy inter process communications
 OLE provided support to achieve the following
 To embed documents from one application into another
application
 To enable one application to manipulate objects located in
another application
 This enabled users to develop applications which
required inter-operability between various products
such as MS-Word and MS-Excel
COM Technology
 Before COM Technology the monolithic approach had been used for
developing software
 When programs become too large and complex, this approach created
problems in terms of maintainability and testing of software
 This problem was overcome by the introduction of component-based approach
for developing software
 A program is broken into a number of independent components where each
one offers a different functionality
 Each component can be developed and tested independently and then
integrated into the main system
 This is known as Component Object Model (COM) and the software built
using COM is referred to as componentware
 COM technology advantages are:
 Reduces the overall complexity of the software
 Enables distributed development environment across multiple departments or
organizations
 Enhances software maintainability
.NET Technology
 .NET technology is a third generation component model
 It provides a new level of inter-operability compared to COM
technology
 COM provides a standard binary mechanism for inter-module
communication
 This is replaced by an Intermediate Language called (MSIL) or
simply IL in the .NET technology
 Various .NET language compilers enforce inter-operability by
compiling code into IL.
 IL is automatically compatible with other IL modules
 IL allows true cross-language integration
 In addition to IL , .NET includes a host of other technologies and
tools that enables to develop and implement Web-based
applications easily
.NET Framework
 It is a software development framework developed by
Microsoft that provides a common programming platform
for the development of applications such as Websites
 It was originally released with Microsoft's first version of its
Windows OS in 1993 and has undergone various changes
since then
 .NET framework is the tool provided by the .NET
infrastructure and tools component of the .NET platform
 .NET platform provides a new environment for creating
and running robust, scalable and distributed applications
over the Web
 C# derives much of its power from .NET framework on
which it runs
 It is a collection of software components and API's for building
and running applications on Microsoft's .NET platform
 This includes Windows, Windows Phone, Windows Server and
other operating systems
 It provides a common programming model that developers can
use to create programs that can run on multiple platforms
 It enables to write once and save it in different projects for
different types of devices
 It also includes number of libraries that provide common
functionality such as data access, controls and user interfaces
 These libraries make it easier to build applications that work
across multiple platforms
 .NET Framework is a key component of the Microsoft .NET
system and is available for free under an open source license
Features of .NET Framework
 It provides an environment for building, deploying and
running web services and other applications.
 It consists of three distinct technologies
 Common Language Runtime (CLR)
 Framework base Classes
 User and Program Interfaces (ASP.NET and Winforms)
 For the programs coded in any of the supported language
 CLR is the core of the .NET framework and is responsible for
loading and execution of programs
 Base classes provide basic data types, collection classes and
other general classes to be used by C# & any other languages
 The top layer consists of a set of classes for developing web
services and to deal with the user interface
.NET Framework Architecture
 The architecture of .NET framework focuses on two
things
 The framework code is largely independent of the
language in which it is written.
 For eg: A framework written in C# can also call libraries
written in C++ or other programming languages which makes
it portable to other platforms
 Second goal is that it should be easy to adopt i.e. it is
designed in such a way that it makes it easy to
incorporate new features and new functionality into an
existing program
The Key Components
Language
Winform
ASP.NET
ADO.NET
Library
Framework
Class Library
Class Library
CLR
Common
Language
Runtime
WinForms
 It is a smart client technology for the .NET framework
 It is a free and open source GUI class library included
as a part of .NET Framework to provide a platform for
developing client side applications for desktop, laptop
etc.
 It is a set of managed libraries that simplifies common
application tasks such as reading and writing to the
file systems
ASP.NET
 It is a server side technology and a web framework
designed and developed by Microsoft
 It is used to develop dynamic websites, web
applications and web services
 It provides an integration of HTML, CSS and Javascript
ADO.NET
 It is a module of .NET framework which is used to
establish a connection between application and data
sources
 Data sources can be SQL Server
 ADO.NET contains classes that can be used to
connect, retrieve, insert and delete data
Common Language Infrastructure
(CLI) of .NET
 CLI is a platform-independent development system from Microsoft
that enables program written in different languages to run on different
types of hardware
 CLI is an app development framework that is language-independent
which makes it easier to port the application across different platforms
 It streamlines the process of migrating app across different platforms
due to standard code structure, a single standard library, a single
standard application deployment process across all platforms
 Developers do not have to worry about changing the language or syntax
of their source code while switching from one platform to another
 CLI includes CTS and CLS
 It does not matter in what language the program is written, they are
compiled into Intermediate Language which is further compiled into
the target machine language by CLR
Common Type Systems(CTS)
 .NET framework provides multiple language support using the feature
known as Common Type Systems that is built into the CLR
 A language supporting multiple data types is known as CTS. It
standardizes the data types of all programming languages under the
.NET umbrella
 CTS supports a variety of types and operations found in most
programming languages and therefore calling one language from
another does not require type conversions
 It defines how these types are declared, used and managed in the
runtime
 It facilitates cross-language integration, type safety and high-
performance code execution
 C# is specially designed for .NET platform , but a number of .NET
programs in number of other languages including C++ and Visual Basic
can be build
Common Language
Specifications(CLS)
 The CLS defines a set of rules that enables inter-operability
on the .NET platform
 It defines a set of rules and restrictions that every language
must follow which runs under the .NET framework
 The languages which follows this set of rules are said to be
CLS compliant which enables cross-language integration
 These rules serves as a guide to third-party compiler
designers and library builders
 CLS is a subset of CTS and therefore language supporting
CLS can use each other's libraries as if they are own
 Application Program Interfaces(API's) that are designed
following the rules of CLS can easily be used by all other
.NET languages
Common Language Runtime(CLR)
 CLR is the core i.e. heart and soul of the .NET framework
 It is included during the installation of the framework
 When IIS is installed it is automatically installed
 It is a runtime environment in which programs written in C# and any other .NET
languages are executed
 It also supports cross-language inter-operability
 Services provided by CLR are
 Loading and execution of programs
 Memory isolation for other programs
 Verification of type safety
 Compilation of IL into native executable code
 Providing metadata
 Memory management(automatic garbage collection)
 Enforcement of security
 Inter-operability with other systems
 Managing exceptions and errors
 Support for tasks such as debugging and profiling
CLR Activities when application is
executed
 Source code is compiled into IL
 Metadata engine creates meta information
 IL & Metadata are linked with other native code if required
and resultant code is saved
 During execution IL and any other requirement from the
base class library are brought together by the class loader
 The combined code is tested for type safety
 Then it is compiled by the JIT(Just-in-time) compiler to
produce native machine code which is sent to the run-time
manager for execution
Microsoft Intermediate
Language(MSIL)
 MSIL or IL is an instruction set into which all the .NET programs are compiled
 It is similar to assembly language and contains instructions for loading, storing,
initializing and calling methods
 When a C# program or any other language program coded in CLS-compliant
language, the source code is compiled into MSIL
 MSIL defines a set of portable instructions that are independent of any specific
CPU.
 In essence, MSIL defines a portable assembly language.
 One other point: Although MSIL is similar in concept to Java’s bytecode, the
two are not the same.
 It is the job of the CLR to translate the intermediate code into
executable code when a program is run. Thus, any program compiled to
MSIL can be run in any environment for which the CLR is
implemented. This is part of how the .NET Framework achieves
portability.
Managed Code
 CLR is responsible for managing the execution of code
compiled in the .NET platform
 The code that is executed as per the specifications of the
CLR during runtime is called the managed code
 Compilers that are compatible to .NET platform generates
managed code
 For example:
 C# compiler generates managed code which is the IL code
 All manged code generated by C# compiler or any other
compiler capable of generating managed code is called the IL
code
 This IL code is then converted into native machine code by
the JIT compilers
Unmanaged Code
 The opposite of managed code is unmanaged code.
 Unmanaged code does not execute under the Common
Language Runtime and is executed by the Operating
System
 All Windows programs prior to the creation of the
.NET Framework uses unmanaged code.
 It is possible for managed code and unmanaged code
to work together, so the fact that C# generates
managed code does not restrict its ability to operate in
conjunction with preexisting programs
Framework Class Library(FCL)
 It has some advance class libraries
 It is a superset of BCL
 It is a wider library that contains ASP.NET, WinForms,
XML stack, ADO.NET
Framework Base Classes(BCL)
 Base Class Library(BCL) is also known as Class Library is a core class
library
 It is a subset of Framework Class Library
 It is a collection of reusable types that are closely integrated with CLR
 These libraries can be used by
 simply instantiating them and invoking their methods OR
 Inheriting them through derived classes and thus extending their
functionalities
 Many of the functionality in the base framework classes reside in the
vast namespace called "System"
 The base classes of the "System" namespace can be used for
 Input/Output operations
 String Handling
 Manging arrays, lists, maps, etc.
 Accessing files and file systems
 Accessing the registry
 Security
 Windowing
 Windows Messages
 Database management
 Evaluation of mathematical functions
 Drawing
 Managing Errors and exceptions
 Connecting to the internet etc.
User and Program Interfaces
 The following tools are provided by .NET Framework
for managing user and application interfaces
 Windows forms
 Web Forms
 Console Applications
 Web Services
 These tools enable to develop user-friendly desktop-
based as well as web-based applications using a wide
variety of languages on the .NET platform
Visual Studio .NET
 Visual Studio .NET (VS .NET) supports an Integrated
Development Environment(IDE) with a rich set of features
and productivity tools
 These tools enables faster development of web-applications
 Using Web services and XML , a single environment is to be
learnt, configured and is used irrespective of the language
used
 No need to switch back and forth between environments to
build, debug and deployment of code
 It provides tools that extends support to the development
cycle
 It acts as a foundation for the life cycle platform
.NET Languages
 Following are some of the languages that can be used to build
application in .nET environment
 C# (Specially created for .NET)
 C++
 Visual Basic
 Jscript
 Third-party languages
 COBOL
 Eiffel
 Perl
 Python
 SmallTalk
 Mercury
 Scheme
Advantages of .NET approach
 Simple and faster system development
 Rich object model
 Enhanced built-in functionality
 Many different ways to communicate with the outside
world
 Integration of different languages into one platform
 Easy deployment and execution
 Wide range of scalability
 Inter-operability with existing applications
 Simple and easy to build sophisticated development tools
 Fewer bugs
 Potentially better performance
C# and the .NET
 C# is a new programming language introduced with
.NET
 It is a concise and elegant .NET language
 In many ways it is a version of the .NET object model
 With C# developers can quickly implement
applications and components using the built-in
capabilities of the .NET framework
 Since C# code is managed by the CLR it becomes
leaner and safer than C++
 To build program with C#, .NET platform is required
How C# Relates to the .NET Framework
 Although C# is a computer language that can be studied
on its own, it has a special relationship to its runtime
environment, the .NET Framework. The reason for this is
twofold.
 First, C# was initially designed by Microsoft to create code
for the .NET Framework.
 Second, the libraries used by C# are the ones defined by the
.NET Framework.
 Thus, even though it is possible to separate C# the
language from the .NET environment, the two are closely
linked. Because of this, it is important to have a general
understanding of the .NET Framework and why it is
important to C#.
C# and the .NET
 CLR extend number of benefits to C# when it is
implemented on the .NET platform which are as
follows:
 Interoperability with other languages
 Enhanced security
 Versioning support
 Debugging support
 Automatic garbage collection
 XML support for Web-based applications

More Related Content

Similar to 1-.NET Introduction.pptx

Net framework
Net frameworkNet framework
Net framework
jhsri
 
Microsoft.net architecturte
Microsoft.net architecturteMicrosoft.net architecturte
Microsoft.net architecturte
Iblesoft
 
Automatic answer checker
Automatic answer checkerAutomatic answer checker
Automatic answer checker
Yesu Raj
 

Similar to 1-.NET Introduction.pptx (20)

c#.pptx
c#.pptxc#.pptx
c#.pptx
 
Net framework
Net frameworkNet framework
Net framework
 
dotNET frameworks
dotNET frameworksdotNET frameworks
dotNET frameworks
 
Chapter1
Chapter1Chapter1
Chapter1
 
Microsoft.net architecturte
Microsoft.net architecturteMicrosoft.net architecturte
Microsoft.net architecturte
 
Architecture of net framework
Architecture of net frameworkArchitecture of net framework
Architecture of net framework
 
Mca 504 dotnet_unit1
Mca 504 dotnet_unit1Mca 504 dotnet_unit1
Mca 504 dotnet_unit1
 
Visual studio
Visual studioVisual studio
Visual studio
 
Introduction to .net
Introduction to .net Introduction to .net
Introduction to .net
 
Session i
Session iSession i
Session i
 
Automatic answer checker
Automatic answer checkerAutomatic answer checker
Automatic answer checker
 
Introduction of .net framework
Introduction of .net frameworkIntroduction of .net framework
Introduction of .net framework
 
programming in c#.ppt
programming in c#.pptprogramming in c#.ppt
programming in c#.ppt
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iDot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iDot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
 
Dotnet Basics Presentation
Dotnet Basics PresentationDotnet Basics Presentation
Dotnet Basics Presentation
 
.Net overview
.Net overview.Net overview
.Net overview
 
.Net Overview
.Net Overview.Net Overview
.Net Overview
 
Dot net
Dot netDot net
Dot net
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Recently uploaded (20)

How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
AIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.pptAIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.ppt
 
Tatlong Kwento ni Lola basyang-1.pdf arts
Tatlong Kwento ni Lola basyang-1.pdf artsTatlong Kwento ni Lola basyang-1.pdf arts
Tatlong Kwento ni Lola basyang-1.pdf arts
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Simple, Complex, and Compound Sentences Exercises.pdf
Simple, Complex, and Compound Sentences Exercises.pdfSimple, Complex, and Compound Sentences Exercises.pdf
Simple, Complex, and Compound Sentences Exercises.pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Basic Intentional Injuries Health Education
Basic Intentional Injuries Health EducationBasic Intentional Injuries Health Education
Basic Intentional Injuries Health Education
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 

1-.NET Introduction.pptx

  • 1. '
  • 2. What is .NET  It is an open source platform developed by Microsoft for building many types of applications  A .NET application can be developed in multiple languages, using different editors and libraries  Some of the languages are C#, F#, Visual C++, Visual Basic etc  It is tool to build and run C# programs and other language programs  When .NET is downloaded, many other programs are downloaded that translate code into instructions that are understandable by the computer  It also provide utilities for building software  It defines a set of data types to store information in programs
  • 3. .NET Versions  There are few versions of .NET to do a particular job under different platforms/ environments  .NET framework is the original version of .NET that only runs on Windows platform  .NET core is the new cross-platform version of .NET that runs on Windows, MacOS and LINUX computers
  • 4. Languages in .NET  .NET application can be written in C#, F# or Visual Basic  C# is a simple, modern, object-oriented and type safe programming language  F# is a programming language that makes it easy to write concise, robust and performant code  Visual Basic is an approachable language with a simple syntax for building type-safe object-oriented apps
  • 5. Cross-platform  The code developed in any of the language will run natively on any compatible operating system  Many types of apps can be developed with .NET. Some are cross platform and some target-specific set of operating systems and devices
  • 6. .NET Classes and API  .NET provides a standard set of base class libraries and API's that are common to all .NET applications  Each application model can also expose additional API's that are specific to the operating system it runs on or the capabilities it provides  For example:  ASP.NET is the cross-platform web framework that provides additional API's for building web apps that runs on Windows or Linux
  • 7. ASP.NET  To build programs for the web like websites more tools are to added on top of .NET  One of the popular tools is ASP.NET  To keep .NET and ASP.NET separate, .NET is called a platform and ASP.NET is called a framework
  • 8. .NET Strategy  .NET is a software framework that includes everything required for developing software for web services  It integrates presentation technologies, component technologies and data technologies on a single platform  It enables users to develop internet applications as easily as on a desktop system
  • 9. .NET Software Components  Microsoft .NET software solution includes three key components  Microsoft .NET Platform  Microsoft .NET Products and Services  Third-party .NET Services
  • 10. .NET Platform  Microsoft .NET platform includes the following components to help develop a new generation of smart Internet Services  .NET infrastructure and tools  .NET user experience  .NET building block  .NET device software
  • 11. .NET Products and Services  Microsoft .NET products and services consists of the following:  Windows .NET  MSN .NET  Office .NET  Visual Studio .NET  Personal subscription services etc
  • 12. Third Party Services  Third-party .NET services will provide opportunities to a vast range of developers and users to produce corporate and vertical services using .NET platform
  • 13. Technological Development of .NET  The current technology of .NET has gone through three significant phases of development  OLE Technology  COM Technology  .NET Technology
  • 14.  OLE Technology  OLE technology was developed by Microsoft in the early 1990's to enable easy inter process communications  OLE provided support to achieve the following  To embed documents from one application into another application  To enable one application to manipulate objects located in another application  This enabled users to develop applications which required inter-operability between various products such as MS-Word and MS-Excel
  • 15. COM Technology  Before COM Technology the monolithic approach had been used for developing software  When programs become too large and complex, this approach created problems in terms of maintainability and testing of software  This problem was overcome by the introduction of component-based approach for developing software  A program is broken into a number of independent components where each one offers a different functionality  Each component can be developed and tested independently and then integrated into the main system  This is known as Component Object Model (COM) and the software built using COM is referred to as componentware  COM technology advantages are:  Reduces the overall complexity of the software  Enables distributed development environment across multiple departments or organizations  Enhances software maintainability
  • 16. .NET Technology  .NET technology is a third generation component model  It provides a new level of inter-operability compared to COM technology  COM provides a standard binary mechanism for inter-module communication  This is replaced by an Intermediate Language called (MSIL) or simply IL in the .NET technology  Various .NET language compilers enforce inter-operability by compiling code into IL.  IL is automatically compatible with other IL modules  IL allows true cross-language integration  In addition to IL , .NET includes a host of other technologies and tools that enables to develop and implement Web-based applications easily
  • 17. .NET Framework  It is a software development framework developed by Microsoft that provides a common programming platform for the development of applications such as Websites  It was originally released with Microsoft's first version of its Windows OS in 1993 and has undergone various changes since then  .NET framework is the tool provided by the .NET infrastructure and tools component of the .NET platform  .NET platform provides a new environment for creating and running robust, scalable and distributed applications over the Web  C# derives much of its power from .NET framework on which it runs
  • 18.  It is a collection of software components and API's for building and running applications on Microsoft's .NET platform  This includes Windows, Windows Phone, Windows Server and other operating systems  It provides a common programming model that developers can use to create programs that can run on multiple platforms  It enables to write once and save it in different projects for different types of devices  It also includes number of libraries that provide common functionality such as data access, controls and user interfaces  These libraries make it easier to build applications that work across multiple platforms  .NET Framework is a key component of the Microsoft .NET system and is available for free under an open source license
  • 19. Features of .NET Framework  It provides an environment for building, deploying and running web services and other applications.  It consists of three distinct technologies  Common Language Runtime (CLR)  Framework base Classes  User and Program Interfaces (ASP.NET and Winforms)  For the programs coded in any of the supported language  CLR is the core of the .NET framework and is responsible for loading and execution of programs  Base classes provide basic data types, collection classes and other general classes to be used by C# & any other languages  The top layer consists of a set of classes for developing web services and to deal with the user interface
  • 20. .NET Framework Architecture  The architecture of .NET framework focuses on two things  The framework code is largely independent of the language in which it is written.  For eg: A framework written in C# can also call libraries written in C++ or other programming languages which makes it portable to other platforms  Second goal is that it should be easy to adopt i.e. it is designed in such a way that it makes it easy to incorporate new features and new functionality into an existing program
  • 21. The Key Components Language Winform ASP.NET ADO.NET Library Framework Class Library Class Library CLR Common Language Runtime
  • 22. WinForms  It is a smart client technology for the .NET framework  It is a free and open source GUI class library included as a part of .NET Framework to provide a platform for developing client side applications for desktop, laptop etc.  It is a set of managed libraries that simplifies common application tasks such as reading and writing to the file systems
  • 23. ASP.NET  It is a server side technology and a web framework designed and developed by Microsoft  It is used to develop dynamic websites, web applications and web services  It provides an integration of HTML, CSS and Javascript
  • 24. ADO.NET  It is a module of .NET framework which is used to establish a connection between application and data sources  Data sources can be SQL Server  ADO.NET contains classes that can be used to connect, retrieve, insert and delete data
  • 25. Common Language Infrastructure (CLI) of .NET  CLI is a platform-independent development system from Microsoft that enables program written in different languages to run on different types of hardware  CLI is an app development framework that is language-independent which makes it easier to port the application across different platforms  It streamlines the process of migrating app across different platforms due to standard code structure, a single standard library, a single standard application deployment process across all platforms  Developers do not have to worry about changing the language or syntax of their source code while switching from one platform to another  CLI includes CTS and CLS  It does not matter in what language the program is written, they are compiled into Intermediate Language which is further compiled into the target machine language by CLR
  • 26. Common Type Systems(CTS)  .NET framework provides multiple language support using the feature known as Common Type Systems that is built into the CLR  A language supporting multiple data types is known as CTS. It standardizes the data types of all programming languages under the .NET umbrella  CTS supports a variety of types and operations found in most programming languages and therefore calling one language from another does not require type conversions  It defines how these types are declared, used and managed in the runtime  It facilitates cross-language integration, type safety and high- performance code execution  C# is specially designed for .NET platform , but a number of .NET programs in number of other languages including C++ and Visual Basic can be build
  • 27. Common Language Specifications(CLS)  The CLS defines a set of rules that enables inter-operability on the .NET platform  It defines a set of rules and restrictions that every language must follow which runs under the .NET framework  The languages which follows this set of rules are said to be CLS compliant which enables cross-language integration  These rules serves as a guide to third-party compiler designers and library builders  CLS is a subset of CTS and therefore language supporting CLS can use each other's libraries as if they are own  Application Program Interfaces(API's) that are designed following the rules of CLS can easily be used by all other .NET languages
  • 28. Common Language Runtime(CLR)  CLR is the core i.e. heart and soul of the .NET framework  It is included during the installation of the framework  When IIS is installed it is automatically installed  It is a runtime environment in which programs written in C# and any other .NET languages are executed  It also supports cross-language inter-operability  Services provided by CLR are  Loading and execution of programs  Memory isolation for other programs  Verification of type safety  Compilation of IL into native executable code  Providing metadata  Memory management(automatic garbage collection)  Enforcement of security  Inter-operability with other systems  Managing exceptions and errors  Support for tasks such as debugging and profiling
  • 29. CLR Activities when application is executed  Source code is compiled into IL  Metadata engine creates meta information  IL & Metadata are linked with other native code if required and resultant code is saved  During execution IL and any other requirement from the base class library are brought together by the class loader  The combined code is tested for type safety  Then it is compiled by the JIT(Just-in-time) compiler to produce native machine code which is sent to the run-time manager for execution
  • 30. Microsoft Intermediate Language(MSIL)  MSIL or IL is an instruction set into which all the .NET programs are compiled  It is similar to assembly language and contains instructions for loading, storing, initializing and calling methods  When a C# program or any other language program coded in CLS-compliant language, the source code is compiled into MSIL  MSIL defines a set of portable instructions that are independent of any specific CPU.  In essence, MSIL defines a portable assembly language.  One other point: Although MSIL is similar in concept to Java’s bytecode, the two are not the same.  It is the job of the CLR to translate the intermediate code into executable code when a program is run. Thus, any program compiled to MSIL can be run in any environment for which the CLR is implemented. This is part of how the .NET Framework achieves portability.
  • 31. Managed Code  CLR is responsible for managing the execution of code compiled in the .NET platform  The code that is executed as per the specifications of the CLR during runtime is called the managed code  Compilers that are compatible to .NET platform generates managed code  For example:  C# compiler generates managed code which is the IL code  All manged code generated by C# compiler or any other compiler capable of generating managed code is called the IL code  This IL code is then converted into native machine code by the JIT compilers
  • 32. Unmanaged Code  The opposite of managed code is unmanaged code.  Unmanaged code does not execute under the Common Language Runtime and is executed by the Operating System  All Windows programs prior to the creation of the .NET Framework uses unmanaged code.  It is possible for managed code and unmanaged code to work together, so the fact that C# generates managed code does not restrict its ability to operate in conjunction with preexisting programs
  • 33. Framework Class Library(FCL)  It has some advance class libraries  It is a superset of BCL  It is a wider library that contains ASP.NET, WinForms, XML stack, ADO.NET
  • 34. Framework Base Classes(BCL)  Base Class Library(BCL) is also known as Class Library is a core class library  It is a subset of Framework Class Library  It is a collection of reusable types that are closely integrated with CLR  These libraries can be used by  simply instantiating them and invoking their methods OR  Inheriting them through derived classes and thus extending their functionalities  Many of the functionality in the base framework classes reside in the vast namespace called "System"  The base classes of the "System" namespace can be used for  Input/Output operations  String Handling  Manging arrays, lists, maps, etc.  Accessing files and file systems
  • 35.  Accessing the registry  Security  Windowing  Windows Messages  Database management  Evaluation of mathematical functions  Drawing  Managing Errors and exceptions  Connecting to the internet etc.
  • 36. User and Program Interfaces  The following tools are provided by .NET Framework for managing user and application interfaces  Windows forms  Web Forms  Console Applications  Web Services  These tools enable to develop user-friendly desktop- based as well as web-based applications using a wide variety of languages on the .NET platform
  • 37. Visual Studio .NET  Visual Studio .NET (VS .NET) supports an Integrated Development Environment(IDE) with a rich set of features and productivity tools  These tools enables faster development of web-applications  Using Web services and XML , a single environment is to be learnt, configured and is used irrespective of the language used  No need to switch back and forth between environments to build, debug and deployment of code  It provides tools that extends support to the development cycle  It acts as a foundation for the life cycle platform
  • 38. .NET Languages  Following are some of the languages that can be used to build application in .nET environment  C# (Specially created for .NET)  C++  Visual Basic  Jscript  Third-party languages  COBOL  Eiffel  Perl  Python  SmallTalk  Mercury  Scheme
  • 39. Advantages of .NET approach  Simple and faster system development  Rich object model  Enhanced built-in functionality  Many different ways to communicate with the outside world  Integration of different languages into one platform  Easy deployment and execution  Wide range of scalability  Inter-operability with existing applications  Simple and easy to build sophisticated development tools  Fewer bugs  Potentially better performance
  • 40. C# and the .NET  C# is a new programming language introduced with .NET  It is a concise and elegant .NET language  In many ways it is a version of the .NET object model  With C# developers can quickly implement applications and components using the built-in capabilities of the .NET framework  Since C# code is managed by the CLR it becomes leaner and safer than C++  To build program with C#, .NET platform is required
  • 41. How C# Relates to the .NET Framework  Although C# is a computer language that can be studied on its own, it has a special relationship to its runtime environment, the .NET Framework. The reason for this is twofold.  First, C# was initially designed by Microsoft to create code for the .NET Framework.  Second, the libraries used by C# are the ones defined by the .NET Framework.  Thus, even though it is possible to separate C# the language from the .NET environment, the two are closely linked. Because of this, it is important to have a general understanding of the .NET Framework and why it is important to C#.
  • 42. C# and the .NET  CLR extend number of benefits to C# when it is implemented on the .NET platform which are as follows:  Interoperability with other languages  Enhanced security  Versioning support  Debugging support  Automatic garbage collection  XML support for Web-based applications