Introductionto .netframework by Priyanka Pinglikar


Published on

.Net framework introduction

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Introductionto .netframework by Priyanka Pinglikar

  1. 1. Priyanka Pinglikar
  2. 2. What is framework  A structure for supporting or enclosing something else, especially a skeletal support used as the basis for something being constructed.  In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software.  A software framework is a universal, reusable software platform to develop applications, products and solutions
  3. 3. .Net Framework  .NET Framework is entirely new environment for building internet aware application with truly simplified deployment model .  The .NET Framework is a software framework developed by Microsoft that runs primarily on Microsoft Windows. It includes a large library and provides language interoperability (each language can use code written in other languages) across several programming languages
  4. 4. .Net, the Rescuer .NET OOP JVM GUI Web component-based design n-tier design
  5. 5. .Net provides  Integrated environment  Internet, Desktop , Mobile devices  consistent object-oriented  To provide a portable environment  A managed environment
  6. 6. What Is .NET  .NET is a framework  New programming methodology  .NET is platform independent / cross platform  .NET is language-insensitive
  7. 7. Narrow view of .Net applications Operating System + Hardware .NET Framework .NET Application
  8. 8. .Net Architecture  .NET architecture is:  multi-language  cross-platform  based on the CLR, FCL, and JIT technology  .NET components are packaged as assemblies
  9. 9. .Net Architecture
  10. 10. .Net Technical Architecture Base Class Library Common Language Specification Common Language Runtime ADO.NET: Data and XML VB C++ C# VisualStudio.NET ASP.NET: Web Services and Web Forms JScript … Windows Forms Windows Forms
  11. 11. Common Language Runtime  A common runtime for all .NET languages  Common type system  Common metadata  Intermediate Language (IL) to native code compilers  Memory allocation and garbage collection  Code execution and security  Over 15 languages supported today  C#, VB, Jscript, Visual C++ from Microsoft  Perl, Python, Smalltalk, Cobol, Haskell, Mercury, Eiffel, Oberon, Oz , Pascal, APL, CAML, Scheme, etc.
  12. 12. The CLR Architecture Class Loader MSIL to Native Compilers (JIT) Code Manager Garbage Collector (GC) Security Engine Debug Engine Type Checker Exception Manager Thread Support COM Marshaler Base Class Library Support
  13. 13. CLR Execution Model (Narrow) Code in VB.NET Code in C# Code in another .NET Language VB.NET compiler C# compiler Appropriate Compiler IL(Intermediate Language) code CLR just-in-time execution
  14. 14. CLR Execution Model VBSource code Compiler C++C# CompilerCompiler Assembly IL Code Assembly IL Code Assembly IL Code Operating System Services Common Language Runtime JIT Compiler Native Code Managed code Unmanaged Component
  15. 15. How CLR works?
  16. 16. Common Language Runtime  Execution Engine  Compiles Microsoft Intermediate Language (MSIL) into native code  Handles garbage collection  Handles exceptions  Enforces code access security  Handles verification  Managed v. Unmanaged
  17. 17. Implications of CLR execution model 1. Clients need CLR & FCL to run .NET apps  available via Redistributable .NET Framework 2. Design trade-off… + managed execution (memory protection, verifiable code, etc.) + portability: – slower execution?
  18. 18. CLR and JIT compiling.  Indirect execution of .Net applications.  All .NET languages compile to the same CIL.  The CLR transforms the CIL to assembly instructions for a particular hardware architecture.  This is termed jit’ing or Just-in-time compiling.  Some initial performance cost, but the jitted code is cached for further execution.  The CLR can target the specific architecture in which the code is executing, so some performance gains are possible.
  19. 19. Advantages of CLR  Interoperation between managed code and unmanaged code (COM, DLLs).  Managed code environment  Improved memory handling  Improved “garbage collection”
  20. 20. Advantages of CLR  JIT allows code to run in a protected environment as managed code.  JIT allows the IL code to be hardware independent.  CLR also allows for enforcement of code access security.  Verification of type safety.  Access to Metadata (enhanced Type Information)
  21. 21. Common Language Infrastructure
  22. 22. CLI
  23. 23. Common Language Infrastructure  CLI allows for cross-language development.  Four components:  Common Type System (CTS)  Meta-data in a language agnostic fashion.  Common Language Specification – behaviors that all languages need to follow.  A Virtual Execution System (VES).
  24. 24. Common Type System (CTS)  A specification for how types are defined and how they behave.  no syntax specified  A type can contain zero or more members:  Field  Method  Property  Event
  25. 25. Common Type System (CTS) String Array ValueType Exception Delegate Class1 Multicast Delegate Class2 Class3 Object Enum1 Structure1Enum Primitive types Boolean Byte Int16 Int32 Int64 Char Single Double Decimal DateTime System-defined types User-defined types Delegate1 TimeSpan Guid
  26. 26. CTS Data Types
  27. 27. Common Data Types CLR provides a set of primitive types that all languages must support. The data types include:  Integer—three types 16/32/64 bits  Float—two types: 32/64 bits  Boolean and Character  Date/time and Time span  The primitive types can be collected into  Arrays  Structures  Combination of the two
  28. 28. Common Language Specification (CLS)  Not all languages support all CTS types and features  C# is case sensitive, VB.NET is not  C# supports pointer types (in unsafe mode), VB.NET does not  C# supports operator overloading, VB.NET does not  CLS was drafted to promote language interoperability  vast majority of classes within FCL are CLS-compliant
  29. 29. Comparison to Java Hello.class JVM compile execute Hello.vb Hello.exe CLR compile execute Source code Byte code CILSource code
  30. 30. Base Class Library @ FCL Unified Classes Web Classes (ASP.NET) XML Classes System Classes Drawing Classes Windows FormsData (ADO.NET) Controls, Caching, Security, Session, Configuration etc Collections, Diagnostics, Globalization, IO, Security, Threading Serialization, Reflection, Messaging etc ADO, SQL,Types etc Drawing, Imaging, Text, etc Design, Cmpnt Model etc XSLT, Path, Serialization etc
  31. 31. Base Class Library  Similar to Java’s System namespace.  Used by all .NET applications  Has classes for IO, threading, database, text, graphics, console, sockets/web/mail, security, cryptography, COM, run-time type discovery/invocation, assembly generation
  32. 32. Framework Class Library @ BCL  Single consistent set of object oriented class libraries to enable building distributed web applications (Unified Classes)  Built using classes arranged across logical hierarchical namespaces  Work with all CLR languages  No more “VBRun” or “MFC” divide
  33. 33. Example
  34. 34. Intermediate Language (IL)  .NET languages are not compiled to machine code. They are compiled to an Intermediate Language (IL).  CLR accepts the IL code and recompiles it to machine code. The recompilation is just-in-time (JIT) meaning it is done as soon as a function or subroutine is called.  The JIT code stays in memory for subsequent calls. In cases where there is not enough memory it is discarded thus making JIT process interpretive.
  35. 35. Queries?
  36. 36. Thank you !!!
  37. 37. Disclaimer The names of Technologies, Product(s), Companies, Application(s), Tool(s), Utilities, etc provided with this material are intended to reference only. The name(s), brand name(s), trademark(s), registered trademark(s), logo(s), slogan(s) belong to their respective owners in the respective countries.