DEV 200 NET Framework Overview Chris Anderson Software

  • Slides: 36
Download presentation
DEV 200 . NET Framework Overview Chris Anderson Software Architect, . NET Client Microsoft

DEV 200 . NET Framework Overview Chris Anderson Software Architect, . NET Client Microsoft Corporation

. NET Framework Design Goals l l Dramatically simplifies development and deployment Unifies programming

. NET Framework Design Goals l l 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

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 V i s u a l S tu d i o. N E T ASP. NET Web Forms Web Services Mobile Internet Toolkit

demo One Lap Around. NET

demo One Lap Around. NET

Demo: One Lap Around. NET l l l Create a simple Web Service Test

Demo: One Lap Around. NET l l l 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

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 V i s u a l S tu d i o. N E T ASP. NET Web Forms Web Services Mobile Internet Toolkit

The. NET Evolution Application Code and data structures Before COM, applications were completely separate

The. NET Evolution Application 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

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

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

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 l l Completely eliminates COM plumbing No more… Ø Ø Ø Ø

Simplify Development l l Completely eliminates COM plumbing No more… Ø Ø Ø Ø Registration GUIDs. IDL files HRESULTs IUnknown Add. Ref/Release Co. Create. Instance =>self described apps =>hierarchical namespaces =>unified object model =>structured exceptions =>common root object =>garbage collector =>”new” operator

Simplify Development l Common Type System Ø l Enables clean OO programming Ø Ø

Simplify Development l Common Type System Ø l Enables clean OO programming Ø Ø Ø l Common instance and type definition Classes and interfaces Constructors, properties, methods, events Cross language inheritance Built-in interoperability Ø Ø With COM With native (Win 32® style) DLLs

Everything Is An Object l Traditional views of primitive types Ø Ø l .

Everything Is An Object l Traditional views of primitive types Ø Ø l . NET Framework solution: Value types Ø Ø l 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 l Boxing Ø l Allocates box, copies value into it

Everything Is An Object l Boxing Ø l 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. Int 32 o j int i = 123; object o = i; int j = (int)o; 123

Robust Environment l Automatic lifetime management Ø l Exception handling Ø l All objects

Robust Environment l Automatic lifetime management Ø l Exception handling Ø l All objects are garbage collected Error handling first class and mandatory Type-safety Ø No buffer overruns, No unsafe casts, Uninitialized variables

Secure Environment l l Security designed-in Code access security enforcement Ø Ø l ASP.

Secure Environment l l Security designed-in Code access security enforcement Ø Ø l ASP. NET integrated authentication of user Ø l 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. w 3. org/signature)

Simplify Deployment And Management l Zero-impact install Ø l Side-by-side execution Ø l Applications

Simplify Deployment And Management l Zero-impact install Ø l Side-by-side execution Ø l 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

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 V i s u a l S tu d i o. N E T ASP. NET Web Forms Web Services Mobile Internet Toolkit

Unify Programming Models Consistent API availability regardless of language and programming model . NET

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 hwnd. Main = Create. Window. Ex( 0, "Main.

How Much Simpler? Windows API HWND hwnd. Main = Create. Window. Ex( 0, "Main. WClass", "Main Window", WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL, CW_USEDEFAULT, (HWND)NULL, (HMENU)NULL, h. Instance, NULL); Show. Window(hwnd. Main, SW_SHOWDEFAULT); Update. Window(hwnd. Main); . NET Framework Dim form As New Form() form. Text = "Main Window" form. Show()

Factored And Extensible l l The Framework is not a “black box” Any. NET

Factored And Extensible l l The Framework is not a “black box” Any. NET class is available for you to extend through inheritance Ø l 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

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 Html. Controls Discovery Web. Controls

The. NET Framework Library System. Web Services Description UI Html. Controls Discovery Web. Controls System. Windows. Forms Design Protocols Component. Model System. Drawing Caching Security Drawing 2 D Printing Configuration Session. State Imaging Text System. Data System. Xml Ole. Db Sql. Client XSLT Common SQLTypes XPath Serialization System Runtime Interop. Services Collections IO Security Configuration Net Service. Process Diagnostics Reflection Text Remoting Globalization Resources Threading Serialization

Base Framework System Collections Security Configuration Service. Process Diagnostics Text Globalization Threading IO Runtime

Base Framework System Collections Security Configuration Service. Process Diagnostics Text Globalization Threading IO Runtime Interop. Services Net Reflection Remoting Resources Serialization

Data And XML System. Data Ole. Db SQLClient Common SQLTypes System. Xml XSLT XPath

Data And XML System. Data Ole. Db SQLClient Common SQLTypes System. Xml XSLT XPath Serialization

ASP. NET System. Web Services Description UI Html. Controls Discovery Web. Controls Protocols Caching

ASP. NET System. Web Services Description UI Html. Controls Discovery Web. Controls Protocols Caching Security Configuration Session. State

Windows Forms ® System. Windows. Forms Design Component. Model System. Drawing 2 D Printing

Windows Forms ® System. Windows. Forms Design Component. Model System. Drawing 2 D Printing Imaging Text

Framework, Languages, And Tools VB C++ C# JScript J# Common Language Specification Windows Forms

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 V i s u a l S tu d i o. N E T ASP. NET Web Forms Web Services Mobile Internet Toolkit

Languages l The. NET Platform is language neutral Ø Ø l Common language specification

Languages l The. NET Platform is language neutral Ø Ø l Common language specification Ø l Set of features guaranteed to be in all languages We are providing Ø l All. NET languages are first class players You can leverage your existing skills Visual Basic®, C++, C#, JScript® Third-parties are building Ø APL, COBOL, Delphi, Pascal, Eiffel, Haskell, ML, Oberon, Perl, Python, Scheme, Smalltalk…

Standardization l A subset of the. NET Framework and C# submitted to ECMA Ø

Standardization l A subset of the. NET Framework and C# submitted to ECMA Ø Ø Ø l 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 l Learn about Web development with. NET Ø l Learn about client

Additional Resources l Learn about Web development with. NET Ø l Learn about client development with. NET Ø l DEV 342: The. NET Framework Net Class Libraries Get the Deep Technical Drill Down Ø l DEV 350: Building Smart Client Applications Learn about Network class libraries Ø l DEV 334: Introduction to Web Forms DEV 366: . NET Framework Under the Hood Learn how to Architect an application Ø Ø Ø DEV 310: Architecting Enterprise Applications with Visual Studio. NET DEV 358: Architecting N-Tier. NET Applications DEV 402: Design Choices for Implementing Distributed Applications in. NET

Summary l The. NET Framework Ø Ø Dramatically simplifies development and deployment Unifies programming

Summary l The. NET Framework Ø Ø Dramatically simplifies development and deployment Unifies programming models Provides robust and secure execution environment Supports multiple programming languages

Discussion

Discussion

Resources from Microsoft Press MICROSOFT. NET FRAMEWORK For more information please visit the Tech.

Resources from Microsoft Press MICROSOFT. NET FRAMEWORK For more information please visit the Tech. Ed Bookshop. www. microsoft. com/mspress

Don’t forget to complete the on-line Session Feedback form on the Attendee Web site

Don’t forget to complete the on-line Session Feedback form on the Attendee Web site https: //web. mseventseurope. com/teched/