DEV200: .NET Framework Overview

Download Report

Transcript DEV200: .NET Framework Overview

DEV200
.NET Framework Overview
Chris Anderson
Software Architect, .NET Client
Microsoft Corporation
.NET Framework
Design Goals




Dramatically simplifies development
and deployment
Unifies programming models
Provides robust and secure execution
environment
Supports multiple programming
languages
Framework, Languages,
And Tools
VB
C++
C#
JScript
J#
Common Language Specification
Windows
Forms
ADO.NET and XML
Base Class Library
Common Language Runtime
Operating System
Visual Studio.NET
ASP.NET
Web Forms Web Services
Mobile Internet Toolkit
demo
One Lap Around .NET
Demo: One Lap Around .NET





Create a simple Web Service
Test it in Internet Explorer
Add data logic to it
Build a smart client for it
Show seamless and safe deployment
of the smart client
Framework, Languages, And Tools
VB
C++
C#
JScript
J#
Common Language Specification
Windows
Forms
ADO.NET and XML
Base Class Library
Common Language Runtime
Operating System
Visual Studio.NET
ASP.NET
Web Forms Web Services
Mobile Internet Toolkit
The .NET Evolution
Applicatio
n
Code and data
structures
Before COM, applications were
completely separate entities
with little or no integration
The .NET Evolution
COM provides a way for
components to integrate;
However, each
component must provide
the “plumbing” and
objects cannot
directly interact
The .NET Evolution
With the .NET Framework
common language runtime,
components are built on a
common substrate; No
“plumbing” is needed and
objects can directly interact
Compilation And Execution
Compilation
Source
Code
Language
Compiler
Native
Code
JIT
Compiler
Execution
Code (IL)
Assembly
Metadata
At installation or the
first time each
method is called
Simplify Development


Completely eliminates COM plumbing
No more…







Registration
GUIDs
.IDL files
HRESULTs
IUnknown
AddRef/Release
CoCreateInstance
=>self described apps
=>hierarchical namespaces
=>unified object model
=>structured exceptions
=>common root object
=>garbage collector
=>”new” operator
Simplify Development

Common Type System


Enables clean OO programming




Common instance and type definition
Classes and interfaces
Constructors, properties, methods,
events
Cross language inheritance
Built-in interoperability


With COM
With native (Win32® style) DLLs
Everything Is An Object

Traditional views of primitive types



.NET Framework solution: Value types



C++, Java™: They’re “magic”
Smalltalk, Lisp: They’re full-blown objects
unifies with no performance cost
Deep simplicity throughout system
Improved extensibility and reusability


New primitive types: Decimal, SQL…
Collections, etc., work for all types
Everything Is An Object

Boxing


Allocates box, copies value into it
Unboxing

Checks type of box, copies value out
Dim i As Integer = 123
Dim o As Object = i
Dim j As Integer = CInt(o)
i
123
System.Int32
o
j
int i = 123;
object o = i;
int j = (int)o;
123
123
Robust Environment

Automatic lifetime management


Exception handling


All objects are garbage collected
Error handling first class and mandatory
Type-safety

No buffer overruns, No unsafe casts,
Uninitialized variables
Secure Environment


Security designed-in
Code access security enforcement



ASP.NET integrated authentication
of user


Security based on the identity of code
Administratively configurable via policy
Windows identity, Passport®, forms-based, …
Cryptography library with XML
DSIG support

Digital signature for XML
(www.w3.org/signature)
Simplify Deployment
And Management

Zero-impact install


Side-by-side execution


Applications and components can be
shared or private
Multiple versions of the same component
can co-exist on a system
Assemblies

Contain dependency information
Framework, Languages, And Tools
VB
C++
C#
JScript
J#
Common Language Specification
Windows
Forms
ADO.NET and XML
Base Class Library
Common Language Runtime
Operating System
Visual Studio.NET
ASP.NET
Web Forms Web Services
Mobile Internet Toolkit
Unify Programming Models
Consistent API availability regardless of
language and programming model
.NET Framework
RAD,
Composition,
Delegation
VB Forms
Subclassing,
Power,
Expressiveness
MFC/ATL
Windows API
Stateless,
Code embedded
in HTML pages
ASP
How Much Simpler?
Windows API
HWND hwndMain = CreateWindowEx(
0, "MainWClass", "Main Window",
WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
(HWND)NULL, (HMENU)NULL, hInstance, NULL);
ShowWindow(hwndMain, SW_SHOWDEFAULT);
UpdateWindow(hwndMain);
.NET Framework
Dim form As New Form()
form.Text = "Main Window"
form.Show()
Factored And Extensible


The Framework is not a “black box”
Any .NET class is available for you to
extend through inheritance


Gives developers much more head room
Plug and Play components
and subsystems
The .NET Framework Library
ASP.NET
Web Forms Web Services
Mobile Internet Toolkit
Windows
Forms
ADO.NET and XML
Base Class Library
The .NET Framework Library
System.Web
Services
Description
UI
HtmlControls
Discovery
WebControls
System.Windows.Forms
Design
Protocols
ComponentModel
System.Drawing
Caching
Security
Drawing2D
Printing
Configuration
SessionState
Imaging
Text
System.Data
System.Xml
OleDb
SqlClient
XSLT
Common
SQLTypes
XPath
Serialization
System
Collections
IO
Security
Runtime
InteropServices
Configuration
Net
ServiceProcess
Diagnostics
Reflection
Text
Remoting
Globalization
Resources
Threading
Serialization
Base Framework
System
Collections
Security
Configuration
ServiceProcess
Diagnostics
Text
Globalization
Threading
IO
Runtime
Net
InteropServices
Reflection
Remoting
Resources
Serialization
Data And XML
System.Data
OleDb
SQLClient
Common
SQLTypes
System.Xml
XSLT
XPath
Serialization
ASP.NET
System.Web
Services
UI
Description
HtmlControls
Discovery
WebControls
Protocols
Caching
Security
Configuration
SessionState
®
Windows Forms
System.Windows.Forms
Design
ComponentModel
System.Drawing
Drawing2D
Printing
Imaging
Text
Framework, Languages, And Tools
VB
C++
C#
JScript
J#
Common Language Specification
Windows
Forms
ADO.NET and XML
Base Class Library
Common Language Runtime
Operating System
Visual Studio.NET
ASP.NET
Web Forms Web Services
Mobile Internet Toolkit
Languages

The .NET Platform is language neutral



Common language specification


Set of features guaranteed to be in all languages
We are providing


All .NET languages are first class players
You can leverage your existing skills
Visual Basic®, C++, C#, J#, JScript®
Third-parties are building

APL, COBOL, Delphi, Pascal, Eiffel, Haskell, ML,
Oberon, Perl, Python, Scheme, Smalltalk…
Standardization

A subset of the .NET Framework and
C# submitted to ECMA




Adopted as International standards in
Dec. 2001
In the ISO fast-track process now
Co-sponsored with Intel, Hewlett-Packard
Common language infrastructure


Based on common language runtime and
base framework
Layered into increasing levels
of functionality
Additional Resources

Learn about Web development with .NET


Learn about client development with .NET


DEV342: The .NET Framework Net Class Libraries
Get the Deep Technical Drill Down


DEV350: Building Smart Client Applications
Learn about Network class libraries


DEV334: Introduction to Web Forms
DEV366: .NET Framework Under the Hood
Learn how to Architect an application



DEV310: Architecting Enterprise Applications with
Visual Studio .NET
DEV358: Architecting N-Tier .NET Applications
DEV402: Design Choices for Implementing Distributed
Applications in .NET
Summary

The .NET Framework




Dramatically simplifies development
and deployment
Unifies programming models
Provides robust and secure execution
environment
Supports multiple programming
languages
Discussion
Resources from Microsoft Press
MICROSOFT .NET FRAMEWORK
For more information please visit the TechEd Bookshop.
www.microsoft.com/mspress
Don’t forget to complete the
on-line Session Feedback form
on the Attendee Web site
https://web.mseventseurope.com/teched/