360 likes | 521 Views
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
E N D
DEV200 .NET Framework Overview Chris Anderson Software Architect, .NET ClientMicrosoft Corporation
.NET Framework Design Goals • Dramatically simplifies development and deployment • Unifies programming models • Provides robust and secure execution environment • Supports multiple programming languages
Visual Studio.NET VB C++ C# JScript J# Common Language Specification ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO.NET and XML Base Class Library Common Language Runtime Operating System Framework, Languages, And Tools
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
VB C++ C# JScript J# ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Framework, Languages, And Tools Visual Studio.NET Common Language Specification ADO.NET and XML Base Class Library Common Language Runtime Operating System
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 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
Assembly Language Compiler Native Code JIT Compiler Execution Compilation And Execution Compilation Code (IL) Source Code 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 • 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
123 i System.Int32 o 123 123 j Everything Is An Object • Boxing • Allocates box, copies value into it • Unboxing • Checks type of box, copies value out int i = 123; object o = i; int j = (int)o; Dim i As Integer = 123 Dim o As Object = i Dim j As Integer = CInt(o)
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
VB C++ C# JScript J# ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Framework, Languages, And Tools Visual Studio.NET Common Language Specification ADO.NET and XML Base Class Library Common Language Runtime Operating System
Consistent API availability regardless of language and programming model .NET Framework RAD, Composition, Delegation Subclassing, Power, Expressiveness Stateless, Code embedded in HTML pages ASP VB Forms MFC/ATL Windows API Unify Programming Models
.NET Framework Dim form As New Form() form.Text = "Main Window" form.Show() 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);
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
ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms The .NET Framework Library ADO.NET and XML Base Class 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 InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Serialization Globalization Resources Threading The .NET Framework Library
Base Framework System Collections Security Configuration ServiceProcess Diagnostics Text Globalization Threading IO Runtime InteropServices Net Remoting Reflection Serialization Resources
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
VB C++ C# JScript J# ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Framework, Languages, And Tools Visual Studio.NET Common Language Specification 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
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 sitehttps://web.mseventseurope.com/teched/