Sei sulla pagina 1di 36

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

ASP.NET

Visual Studio.NET
Windows
Web Forms Web Services
Forms
Mobile Internet Toolkit

ADO.NET and XML

Base Class Library

Common Language Runtime

Operating System
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

ASP.NET

Visual Studio.NET
Windows
Web Forms Web Services
Forms
Mobile Internet Toolkit

ADO.NET and XML

Base Class Library

Common Language Runtime

Operating System
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 Language Code (IL)


Assembly
Code Compiler Metadata

Native JIT
Code Compiler At installation or the
first time each
Execution method is called
Simplify Development
 Completely eliminates COM plumbing
 No more…
 Registration =>self described apps
 GUIDs =>hierarchical namespaces
 .IDL files =>unified object model
 HRESULTs =>structured exceptions

 IUnknown =>common root object

 AddRef/Release =>garbage collector

 CoCreateInstance =>”new” operator


Simplify Development
 Common Type System
 Common instance and type definition
 Enables clean OO programming
 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
 C++, Java™: They’re “magic”
 Smalltalk, Lisp: They’re full-blown objects
 .NET Framework solution: Value types
 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 int i = 123;
Dim o As Object = i object o = i;
Dim j As Integer = CInt(o) int j = (int)o;

i 123

o System.Int32
123
j 123
Robust Environment
 Automatic lifetime management
 All objects are garbage collected
 Exception handling
 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
 Security based on the identity of code
 Administratively configurable via policy
 ASP.NET integrated authentication
of user
 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
 Applications and components can be
shared or private
 Side-by-side execution
 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

ASP.NET

Visual Studio.NET
Windows
Web Forms Web Services
Forms
Mobile Internet Toolkit

ADO.NET and XML

Base Class Library

Common Language Runtime

Operating System
Unify Programming Models
Consistent API availability regardless of
language and programming model

.NET Framework
RAD, Subclassing, Stateless,
Composition, Power, Code embedded
Delegation Expressiveness in HTML pages

VB Forms MFC/ATL ASP

Windows API
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 Windows
Mobile Internet Toolkit
Forms

ADO.NET and XML

Base Class Library


The .NET Framework Library
System.Web System.Windows.Forms
Services UI Design ComponentModel
Description HtmlControls
Discovery WebControls
Protocols System.Drawing
Caching Security Drawing2D Printing
Configuration SessionState Imaging Text

System.Data System.Xml
OleDb SqlClient XSLT Serialization
Common SQLTypes XPath

System
Collections IO Security Runtime
Configuration Net ServiceProcess InteropServices
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 Serialization
XPath
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

ASP.NET

Visual Studio.NET
Windows
Web Forms Web Services
Forms
Mobile Internet Toolkit

ADO.NET and XML

Base Class Library

Common Language Runtime

Operating System
Languages
 The .NET Platform is language neutral
 All .NET languages are first class players
 You can leverage your existing skills
 Common language specification
 Set of features guaranteed to be in all languages
 We are providing
 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
 DEV334: Introduction to Web Forms
 Learn about client development with .NET
 DEV350: Building Smart Client Applications
 Learn about Network class libraries
 DEV342: The .NET Framework Net Class Libraries
 Get the Deep Technical Drill Down
 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/

Potrebbero piacerti anche