Using .NET Platform Muhammad Ali Asher Imtiaz Spring 2011 Note: Most of the material of these slides have been adapted from Nakov’s excellent overview for.
Download ReportTranscript Using .NET Platform Muhammad Ali Asher Imtiaz Spring 2011 Note: Most of the material of these slides have been adapted from Nakov’s excellent overview for.
Slide 1
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 2
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 3
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 4
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 5
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 6
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 7
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 8
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 9
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 10
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 11
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 12
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 13
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 14
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 15
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 16
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 17
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 18
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 19
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 20
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 21
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 22
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 23
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 24
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 25
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 2
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 3
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 4
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 5
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 6
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 7
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 8
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 9
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 10
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 11
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 12
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 13
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 14
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 15
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 16
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 17
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 18
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 19
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 20
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 21
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 22
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 23
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 24
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework
Slide 25
Using .NET Platform
Muhammad Ali
Asher Imtiaz
Spring 2011
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and Wikipedia
Before the Advent of .NET
Windows Application Development
Win API
Languages
○ Visual C++
○ Visual Basic
○…
Before the Advent of .NET
Microsoft Windows DNA
Distributed interNet applications Architecture
Introduced in Late 90s (1996-97)
Problems with Windows DNA
○ Side by Side Execution
○ Scripting Limitations
Solution?
Overview
What is .NET?
New API, new functionality, new tools
But why do we need a new API?
○ Win API was already there!
Overview
.NET Vision – The End Game
CLR Performance Team
BCL Team
Wrapping up
○ Offering Best Coding Experience!
Off the Road Benefits!
Overview
.NET Defined
“Comprehensive & consistent programming
model for building applications that have
○ visually stunning user experiences,
○ seamless and secure communication,
○ and the ability to model a range of business
processes.”
Version
Release Date
1.0
Jan 2002
1.1
April 2003
2.0
Nov 2005
3.0
Nov 2006
3.0 (SP1)
Nov 2007
3.0 (SP2)
Nov 2008
3.5
Nov 2007
3.5 (SP1)
Aug 2008
4.0
April 2010
Supported Operating Systems
The runtime supports
Windows Server 2003,
Windows XP,
Windows 2000,
NT4 SP6a
Windows ME/98.
Windows 95 is not supported
ASP.NET is only supported on XP and Windows 2000/2003 and
later operating systems.
IIS is not supported on Windows XP Home Edition, and so cannot be used to host
ASP.NET.
○
ASP.NET Web Matrix web server.
Supported Operating Systems
Windows 98/ME cannot be used for development
The .NET Compact Framework is a version of the .NET Framework
for mobile devices, running Windows CE or Windows Mobile
The Mono project has a version of the .NET Framework that runs
on Linux
.NET Framework
Common Language Runtime
CLR manages code execution at
runtime
Memory management, thread
management, etc.
Common Language Runtime
Operating System
.NET Framework
Base Class Library
Object-oriented collection of reusable
types
Collections, I/O, Strings, …
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ASP.NET & Windows Forms
Create application’s front-end – Web-
based user interface, Windows GUI…
Win Forms
ASP .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
ADO.NET
Access relational databases
Disconnected data model
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Programming Languages
Use your favorite language
C++
C#
Win Forms
VB
Perl
…
J#
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Common Language Specification
For consistency
C++
VB
Common
C#
Language
Perl Specification
J#
…
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Common Language Specification
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
.NET Framework
Visual Studio .NET
C++
C#
VB
Perl
…
J#
Win Forms
ASP .NET
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
Common Language Specification
.NET Framework v3.0
C++
C#
VB
Perl
…
J#
Common Language Specification
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
.NET Framework v3.5
C++
C#
VB
Perl
…
J#
Common Language Specification
LINQ
WCF
Win Forms
WF
ASP .NET
Card Services
ADO .NET
.NET Framework (Base Class Library)
Common Language Runtime
Operating System
Visual Studio .NET
WPF
Entity Framework
CLI Overview
http://en.wikipedia.org/wiki/.NET_Framework
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework