Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to the Microsoft.NET Framework Chris Wastchak Student Ambassador to Microsoft.

Similar presentations


Presentation on theme: "Introduction to the Microsoft.NET Framework Chris Wastchak Student Ambassador to Microsoft."— Presentation transcript:

1 Introduction to the Microsoft.NET Framework Chris Wastchak Student Ambassador to Microsoft

2 What is the.NET Framework A new computing platform designed to simplify application development A consistent object-oriented programming environment A code-execution environment that: –Minimizes software deployment and versioning conflicts –Eliminates the performance problems of scripted or interpreted environments

3 Primary Components of.NET.NET Framework Class Libraries –Object-oriented collection of reusable types –Sits on-top of the Common Language Runtime Common Language Runtime (CLR) –Manages code execution at runtime –Memory management, thread management, etc. –Code designed for the CLR is referred to as “Managed Code”

4 Managed execution in the Common Language Runtime (CLR) Managed Code Common Language Runtime (CLR) Win32 OS Requests for existing features, such as opening a file, mediated by CLR New CLR-only features, such as garbage collection

5 Operating System Common Language Runtime (CLR) Inside the.NET Framework Base Framework Data and XML Web ServicesUser Interface VBC++C# ASP.NET J#Python… Secure, integrated class libraries Unifies programming models across languages Enables cross-language integration Factored for extensibility Designed for tools Secure, integrated class libraries Unifies programming models across languages Enables cross-language integration Factored for extensibility Designed for tools Common Language Runtime Executes code, maintains security, handles component “plumbing” and dependencies Common Language Runtime Executes code, maintains security, handles component “plumbing” and dependencies ASP.NET High-productivity environment for building and running Web services ASP.NET High-productivity environment for building and running Web services

6 One Runtime For Many Languages CLR is an open standard Any language can make use of CLR services Any language can use classes written in any other language Any language can inherit classes written in any other language

7 Ada Ada APL APL Basic Basic (Visual Basic) C# C# C C++ C++ Java Java Language COBOL COBOL Component Component Pascal (Queensland Univ of Tech) ECMAScript ECMAScript (JScript) Eiffel Eiffel ( Monash University) Haskell Haskell (Utrecht University) Current List of Language Compilers lcc lcc (MS Research Redmond) Mondrian Mondrian (Utrecht) ML ML (MS Research Cambridge) Mercury Mercury (Melbourne U.) Oberon Oberon (Zurich University) Oz Oz ( Univ ( Univ of Saarlandes) SmallTalk SmallTalk Python Python Scheme Scheme (Northwestern U.) Perl Perl

8 .NET Framework Class Libraries Sit on top of the CLR Reusable types that tightly integrate with the CLR Object oriented – inheritance, polymorphism, etc. Provide functionality for ASP.NET, XML Web Services, ADO.NET, Windows Forms, basic system functionality (IO, XML, etc.)

9 The Common Language Runtime Code that targets the CLR is referred to as managed code All managed code has the features of the CLR –Object Oriented –Cross-language integration –Cross language exception handling –Multiple version support (no more DLL Hell)

10 The Common Language Runtime The CLR manages object layout and references to objects Objects whose lifetimes are managed by the CLR are referred to as Managed Data Automatic memory management reduces memory leaks In managed code you can use: –Managed Data –Unmanaged data –Both

11 The Common Language Runtime All CLR-compliant compilers use a common type system –Allows for cross-language inheritance –Passing object instances across language barriers –Invoking methods across language barriers Managed components expose metadata Metadata includes –Resources component was compiled against –Information about types and dependencies (no more RegServ32)

12 Managed Execution Process public void Fill() { DotNetJunkies.StudyGroupPortal.Data.EventDB eDB = new DotNetJunkies.StudyGroupPortal.Data.EventDB(); //Create a data reader IDataReader reader = eDB.GetEventByGuid(_guid); //Advance to the first record in the reader reader.Read(); //Populate this instance of the Event class this.CreateEvent(ref reader); //Close the reader reader.Close(); } MSIL Language Specific Compiler

13 Microsoft Intermediate Language Managed code is compiled to MSIL CPU-independent set of instructions –Loading, storing, initializing and calling methods –Arithmetic and logical operations, etc. –Control flow, exception handling, direct memory access

14 Just-In-Time Compiling Assemblies are compiled to native code by a Just-In-Time compiler (JITer) Compiled assemblies include metadata No Type Libraries or Interface Definition Language (IDL)

15 Assembly Compilation And Execution Source Code Language Compiler Compilation Before installation or the first time each method is called Execution JIT Compiler NativeCode Code (IL) Metadata

16 Just-In-Time Compiling All assemblies must be compiled to native code before executing JIT compilers are built into the CLR for every supported CPU architecture JIT compilers convert MSIL to native on demand Resulting native code is stored for reuse JIT compiling occurs for each method after the application is restarted

17 Summary.NET Framework is a code execution platform.NET Framework consists of two primary parts:.NET Class Libraries, Common Language Runtime All CLR-compliant compilers support the common type system Managed code is object oriented Managed code is compiled to an assembly (MSIL) by language specific compiler Assemblies are compiled to native code by JIT compiler

18 Questions?


Download ppt "Introduction to the Microsoft.NET Framework Chris Wastchak Student Ambassador to Microsoft."

Similar presentations


Ads by Google