SlideShare a Scribd company logo
Introduction to .Net FrameworkNithyaVidhyaarthi
Before .NETWindows GUI development: Win32 API, MFC, Visual Basic, COMWeb development: ASPJava – “Write once, run anywhere.”Embrace and extend: Visual J++
Life As a C/Win32 API ProgrammerTraditional software development for the Windows.C developers are forced to contend with complex memory management and pointer arithmetic. It lacks the benefits provided by the object-oriented approachWhen you combine the thousands of global functions and data types defined by the Win32 API to an already formidable language, it is little wonder that there are so many buggy applications floating around today.
Life As a C++/MFC ProgrammerC++ is an object-oriented layeron top of C.
Programmers benefit from the famed “pillars of OOP” (encapsulation, inheritance, and polymorphism).
Microsoft Foundation Classes (MFC) provides a set of C++ classes that facilitate the construction of Win32 applications.
It wraps a “sane subset” of the raw Win32 API behind a number of classes, magic macros, and numerous code-generation tools (wizards).
Regardless of the helpful MFC, programming for Windows using C++ remains a difficult and error-prone experienceVisual Basic 6.0 ProgrammerAbility to build complex user interfaces, code libraries, and data access logic with minimal fuss and bother. VB6 hides the complexities of the raw Win32 API from view using integrated code wizards, intrinsic data types, classes, and VB-specific functions.Not fully object-orientedNo “is-a” relationships between types (i.e., no classical inheritance)No multithreaded applications unless you are willing to drop down to low-level Win32 API calls (which is complex at best and dangerous at worst).
Life As a Java/J2EE ProgrammerObject oriented with syntactic roots in C++. Java cleans up many unsavory syntactical aspects of C++. Java provides programmers with a large number of predefined “packages” that contain various type definitions. Limited ability to access non-Java APIs.Little support for truecross-language integration. Not appropriate for many graphically or numerically intensive applications. A better approach for such programs would be to use a language such as C++ where appropriate.
Life As a COM ProgrammerMicrosoft’s previous application development framework.reusable binary code.C++ programmers can build COM classes that can be used by VB6. Delphi programmers can use COM classes built using C. COM’s language independence is limited. COM has no support for classical inheritance). COM is extremely complex under the hood.The Active Template Library (ATL) provides a set of C++ classes, templates, and macros to ease the creation of COM types.
Windows DNA ProgrammerMicrosoft has been adding more Internet-aware features into its family of operating systems and products.
COM-based Windows Distributed interNet Applications Architecture (DNA) is quite complex.
Due to the simple fact that Windows DNA requires the use of numerous technologies and languages (ASP, HTML, XML, JavaScript, VBScript, COM(+), and data access API like ADO). The complete maze…Completely unrelated syntaxes. JavaScript has a syntax much like C, while VBScript is a subset of VB6. The result is a highly confused mishmash of technologies.Each language and/or technology has its own type system: An “int” in JavaScript is not quite the same as an “Integer” in VB6.
.Net, the RescuerOOPJVMGUI.NETWebcomponent-based designn-tier design
.Net, the Rescuer
.Net providesIntegrated environmentInternet, Desktop , Mobile devicesconsistent object-orientedTo provide a portable environmentA managed environment
What Is .NET.NET is a framework New programming methodology.NET is platform independent / cross platform.NET is language-insensitive
.NET is cross-platformAPP.exe?Win32(XP,2K,98)Win64WinCE
.NET Application.NET FrameworkNarrow view of .Net applicationsOperating System + Hardware
.Net Framework
.Net Architecture.NET architecture is:multi-languagecross-platformbased on the CLR, FCL, and JIT technology.NET components are packaged as assemblies
.Net Architecture
.Net Technical ArchitectureVBC++C#Visual Studio.NETJScript…Common Language SpecificationWindowsFormsASP.NET: Web Servicesand Web FormsWindowsFormsADO.NET: Data and XMLBase Class LibraryCommon Language Runtime
Common Language RuntimeA common runtime for all .NET languagesCommon type systemCommon metadataIntermediate Language (IL) to native code compilersMemory allocation and garbage collectionCode execution and securityOver 15 languages supported todayC#, VB, Jscript, Visual C++ from MicrosoftPerl, Python, Smalltalk, Cobol, Haskell, Mercury, Eiffel, Oberon, Oz, Pascal, APL, CAML, Scheme, etc.Rational is working on Java compiler for CLR
The CLR ArchitectureBase Class Library SupportThread SupportCOM MarshalerType CheckerException ManagerSecurity EngineDebug EngineMSIL to NativeCompilers (JIT)CodeManagerGarbageCollector (GC)Class Loader
CLR Execution Model (Narrow)Code in VB.NETCode in C#Code in another .NET LanguageVB.NET compilerC# compilerAppropriateCompilerIL(IntermediateLanguage) codeCLR just-in-timeexecution
CLR Execution ModelSource codeVBC++C#UnmanagedComponentCompilerCompilerCompilerManagedcodeAssemblyIL CodeAssemblyIL CodeAssemblyIL CodeCommon Language RuntimeJIT CompilerNative CodeOperating System Services
How CLR works?
CLR based executionJIT CompilerAPP.exe         OS ProcessCLR other FCL componentsCore FCLobj codeUnderlying OS and HW
Common Language RuntimeExecution EngineCompiles Microsoft Intermediate Language (MSIL) into native codeHandles garbage collectionHandles exceptionsEnforces code access securityHandles verificationManaged v. Unmanaged
Implications of CLR execution modelClients need CLR & FCL to run .NET appsavailable via Redistributable .NET FrameworkDesign trade-off…managed execution (memory protection, verifiable code, etc.)
portability:
slower execution?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.
Advantages of CLRSupport for developer services (debugging)Interoperation between managed code and unmanaged code (COM, DLLs).Managed code environmentImproved memory handlingImproved “garbage collection”
Advantages of CLRJIT 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)Common Language Infrastructure
CLI
Common Language InfrastructureCLI 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).Common Type System (CTS)A specification for how types are defined and how they behave.no syntax specifiedA type can contain zero or more members:FieldMethodPropertyEvent
Common Type System (CTS)
CTS Data Types

More Related Content

PPTX
Introduction to C# Programming
PPT
Programming in c#
PPT
.NET Framework Overview
PPT
Introduction To Dotnet
PPT
C#.NET
PPTX
C# in depth
PPT
C# basics
PPT
Architecture of net framework
Introduction to C# Programming
Programming in c#
.NET Framework Overview
Introduction To Dotnet
C#.NET
C# in depth
C# basics
Architecture of net framework

What's hot (20)

PPTX
dot net technology
PPTX
Common language runtime clr
PPT
Nakov - .NET Framework Overview - English
PPTX
C# 101: Intro to Programming with C#
PPTX
PPT
.Net overview|Introduction Of .net
PPTX
Dotnet Basics Presentation
PPT
Microsoft .NET Framework
PPTX
Introduction to ASP.NET
PPT
Introduction to Eclipse IDE
PDF
Dot Net Core
PPTX
Introduction to Spring Framework
PPT
Introduction to .NET Framework
PPT
DOT Net overview
PPT
SQLITE Android
PPT
PPT
Eclipse introduction IDE PRESENTATION
PPTX
Core Java Tutorials by Mahika Tutorials
PPTX
C# language
dot net technology
Common language runtime clr
Nakov - .NET Framework Overview - English
C# 101: Intro to Programming with C#
.Net overview|Introduction Of .net
Dotnet Basics Presentation
Microsoft .NET Framework
Introduction to ASP.NET
Introduction to Eclipse IDE
Dot Net Core
Introduction to Spring Framework
Introduction to .NET Framework
DOT Net overview
SQLITE Android
Eclipse introduction IDE PRESENTATION
Core Java Tutorials by Mahika Tutorials
C# language
Ad

Viewers also liked (20)

PPT
Asp.net architecture
PPT
Visual Studio IDE
PPS
Asp Architecture
PPTX
Overview of .Net Framework 4.5
PPTX
Asp.net and .Net Framework ppt presentation
PDF
Crystal Reports Review
PDF
Crystal Reports: Basics
PPTX
Components of .NET Framework
PPT
Architecture of .net framework
PPT
CMS (CONTENT MANAGEMENT SYSTEM)
PPTX
Introduction to .NET Framework and C# (English)
PPTX
.NET and C# Introduction
PPTX
Content Management System
PDF
Robot Framework Introduction
PDF
The Design of the Scalaz 8 Effect System
PPTX
Demonetisation.
PPT
What is a Content Management System or CMS
PPTX
GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
PDF
失敗と向き合う姿勢を正す話
Asp.net architecture
Visual Studio IDE
Asp Architecture
Overview of .Net Framework 4.5
Asp.net and .Net Framework ppt presentation
Crystal Reports Review
Crystal Reports: Basics
Components of .NET Framework
Architecture of .net framework
CMS (CONTENT MANAGEMENT SYSTEM)
Introduction to .NET Framework and C# (English)
.NET and C# Introduction
Content Management System
Robot Framework Introduction
The Design of the Scalaz 8 Effect System
Demonetisation.
What is a Content Management System or CMS
GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
失敗と向き合う姿勢を正す話
Ad

Similar to Introduction to .net framework (20)

PPTX
Introduction to .net FrameWork by QuontraSolutions
PPTX
Presentation1
PPTX
Introduction to .NET by QuontraSolutions
PPT
Best DotNet Training in Delhi
DOC
Dotnet ch1
PPT
.Net framework
PPT
Introduction to ,NET Framework
PPTX
.Net Framework & Languages Supported by .Net Frmaework
PPT
Synapse india reviews sharing asp.net
PPT
.Net overview
PPSX
Introductionto .netframework by Priyanka Pinglikar
PPT
Modified.net overview
PPT
.Net Overview
PPT
.Net overview
PPTX
.Net Framework
PPT
Asp dot net
PPTX
3.0 Introduction to .NET Framework
PPT
.Netframework
PPT
Net Framework Overview
PPT
Microsoft.Net
Introduction to .net FrameWork by QuontraSolutions
Presentation1
Introduction to .NET by QuontraSolutions
Best DotNet Training in Delhi
Dotnet ch1
.Net framework
Introduction to ,NET Framework
.Net Framework & Languages Supported by .Net Frmaework
Synapse india reviews sharing asp.net
.Net overview
Introductionto .netframework by Priyanka Pinglikar
Modified.net overview
.Net Overview
.Net overview
.Net Framework
Asp dot net
3.0 Introduction to .NET Framework
.Netframework
Net Framework Overview
Microsoft.Net

Recently uploaded (20)

PDF
Spectral efficient network and resource selection model in 5G networks
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
KodekX | Application Modernization Development
PPTX
MYSQL Presentation for SQL database connectivity
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Empathic Computing: Creating Shared Understanding
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
Spectral efficient network and resource selection model in 5G networks
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KodekX | Application Modernization Development
MYSQL Presentation for SQL database connectivity
The Rise and Fall of 3GPP – Time for a Sabbatical?
Mobile App Security Testing_ A Comprehensive Guide.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Big Data Technologies - Introduction.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Empathic Computing: Creating Shared Understanding
NewMind AI Weekly Chronicles - August'25 Week I
Diabetes mellitus diagnosis method based random forest with bat algorithm
sap open course for s4hana steps from ECC to s4
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
20250228 LYD VKU AI Blended-Learning.pptx
Per capita expenditure prediction using model stacking based on satellite ima...

Introduction to .net framework

  • 1. Introduction to .Net FrameworkNithyaVidhyaarthi
  • 2. Before .NETWindows GUI development: Win32 API, MFC, Visual Basic, COMWeb development: ASPJava – “Write once, run anywhere.”Embrace and extend: Visual J++
  • 3. Life As a C/Win32 API ProgrammerTraditional software development for the Windows.C developers are forced to contend with complex memory management and pointer arithmetic. It lacks the benefits provided by the object-oriented approachWhen you combine the thousands of global functions and data types defined by the Win32 API to an already formidable language, it is little wonder that there are so many buggy applications floating around today.
  • 4. Life As a C++/MFC ProgrammerC++ is an object-oriented layeron top of C.
  • 5. Programmers benefit from the famed “pillars of OOP” (encapsulation, inheritance, and polymorphism).
  • 6. Microsoft Foundation Classes (MFC) provides a set of C++ classes that facilitate the construction of Win32 applications.
  • 7. It wraps a “sane subset” of the raw Win32 API behind a number of classes, magic macros, and numerous code-generation tools (wizards).
  • 8. Regardless of the helpful MFC, programming for Windows using C++ remains a difficult and error-prone experienceVisual Basic 6.0 ProgrammerAbility to build complex user interfaces, code libraries, and data access logic with minimal fuss and bother. VB6 hides the complexities of the raw Win32 API from view using integrated code wizards, intrinsic data types, classes, and VB-specific functions.Not fully object-orientedNo “is-a” relationships between types (i.e., no classical inheritance)No multithreaded applications unless you are willing to drop down to low-level Win32 API calls (which is complex at best and dangerous at worst).
  • 9. Life As a Java/J2EE ProgrammerObject oriented with syntactic roots in C++. Java cleans up many unsavory syntactical aspects of C++. Java provides programmers with a large number of predefined “packages” that contain various type definitions. Limited ability to access non-Java APIs.Little support for truecross-language integration. Not appropriate for many graphically or numerically intensive applications. A better approach for such programs would be to use a language such as C++ where appropriate.
  • 10. Life As a COM ProgrammerMicrosoft’s previous application development framework.reusable binary code.C++ programmers can build COM classes that can be used by VB6. Delphi programmers can use COM classes built using C. COM’s language independence is limited. COM has no support for classical inheritance). COM is extremely complex under the hood.The Active Template Library (ATL) provides a set of C++ classes, templates, and macros to ease the creation of COM types.
  • 11. Windows DNA ProgrammerMicrosoft has been adding more Internet-aware features into its family of operating systems and products.
  • 12. COM-based Windows Distributed interNet Applications Architecture (DNA) is quite complex.
  • 13. Due to the simple fact that Windows DNA requires the use of numerous technologies and languages (ASP, HTML, XML, JavaScript, VBScript, COM(+), and data access API like ADO). The complete maze…Completely unrelated syntaxes. JavaScript has a syntax much like C, while VBScript is a subset of VB6. The result is a highly confused mishmash of technologies.Each language and/or technology has its own type system: An “int” in JavaScript is not quite the same as an “Integer” in VB6.
  • 16. .Net providesIntegrated environmentInternet, Desktop , Mobile devicesconsistent object-orientedTo provide a portable environmentA managed environment
  • 17. What Is .NET.NET is a framework New programming methodology.NET is platform independent / cross platform.NET is language-insensitive
  • 19. .NET Application.NET FrameworkNarrow view of .Net applicationsOperating System + Hardware
  • 21. .Net Architecture.NET architecture is:multi-languagecross-platformbased on the CLR, FCL, and JIT technology.NET components are packaged as assemblies
  • 23. .Net Technical ArchitectureVBC++C#Visual Studio.NETJScript…Common Language SpecificationWindowsFormsASP.NET: Web Servicesand Web FormsWindowsFormsADO.NET: Data and XMLBase Class LibraryCommon Language Runtime
  • 24. Common Language RuntimeA common runtime for all .NET languagesCommon type systemCommon metadataIntermediate Language (IL) to native code compilersMemory allocation and garbage collectionCode execution and securityOver 15 languages supported todayC#, VB, Jscript, Visual C++ from MicrosoftPerl, Python, Smalltalk, Cobol, Haskell, Mercury, Eiffel, Oberon, Oz, Pascal, APL, CAML, Scheme, etc.Rational is working on Java compiler for CLR
  • 25. The CLR ArchitectureBase Class Library SupportThread SupportCOM MarshalerType CheckerException ManagerSecurity EngineDebug EngineMSIL to NativeCompilers (JIT)CodeManagerGarbageCollector (GC)Class Loader
  • 26. CLR Execution Model (Narrow)Code in VB.NETCode in C#Code in another .NET LanguageVB.NET compilerC# compilerAppropriateCompilerIL(IntermediateLanguage) codeCLR just-in-timeexecution
  • 27. CLR Execution ModelSource codeVBC++C#UnmanagedComponentCompilerCompilerCompilerManagedcodeAssemblyIL CodeAssemblyIL CodeAssemblyIL CodeCommon Language RuntimeJIT CompilerNative CodeOperating System Services
  • 29. CLR based executionJIT CompilerAPP.exe OS ProcessCLR other FCL componentsCore FCLobj codeUnderlying OS and HW
  • 30. Common Language RuntimeExecution EngineCompiles Microsoft Intermediate Language (MSIL) into native codeHandles garbage collectionHandles exceptionsEnforces code access securityHandles verificationManaged v. Unmanaged
  • 31. Implications of CLR execution modelClients need CLR & FCL to run .NET appsavailable via Redistributable .NET FrameworkDesign trade-off…managed execution (memory protection, verifiable code, etc.)
  • 33. slower execution?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.
  • 34. Advantages of CLRSupport for developer services (debugging)Interoperation between managed code and unmanaged code (COM, DLLs).Managed code environmentImproved memory handlingImproved “garbage collection”
  • 35. Advantages of CLRJIT allows code to run in a protected environment as managed code.
  • 36. JIT allows the IL code to be hardware independent.
  • 37. CLR also allows for enforcement of code access security.
  • 39. Access to Metadata (enhanced Type Information)Common Language Infrastructure
  • 40. CLI
  • 41. Common Language InfrastructureCLI allows for cross-language development.
  • 44. Meta-data in a language agnostic fashion.
  • 45. Common Language Specification – behaviors that all languages need to follow.
  • 46. A Virtual Execution System (VES).Common Type System (CTS)A specification for how types are defined and how they behave.no syntax specifiedA type can contain zero or more members:FieldMethodPropertyEvent
  • 49. Common Data TypesCLR provides a set of primitive types that all languages must support. The data types include:Integer—three types 16/32/64 bitsFloat—two types: 32/64 bitsBoolean and CharacterDate/time and Time spanThe primitive types can be collected intoArraysStructuresCombination of the two
  • 50. Common Language Specification (CLS)Not all languages support all CTS types and featuresC# is case sensitive, VB.NET is notC# supports pointer types (in unsafe mode), VB.NET does notC# supports operator overloading, VB.NET does notCLS was drafted to promote language interoperabilityvast majority of classes within FCL are CLS-compliant
  • 51. Comparison to JavaHello.javaHello.classJVMcompileexecuteSource codeByte codeHello.vbHello.exeCLRcompileexecuteSource codeCIL
  • 53. Base Class LibrarySimilar to Java’s System namespace.Used by all .NET applicationsHas classes for IO, threading, database, text, graphics, console, sockets/web/mail, security, cryptography, COM, run-time type discovery/invocation, assembly generation
  • 54. Framework Class Library @ BCLSingle consistent set of object oriented class libraries to enable building distributed web applications (Unified Classes)Built using classes arranged across logical hierarchical namespacesWork with all CLR languagesNo more “VBRun” or “MFC” divide
  • 56. Intermediate Language (IL).NET languages are not compiled to machine code. They are compiled to an Intermediate Language (IL).
  • 57. 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.
  • 58. 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.Queries?
  • 59. Contact me viaMail: [email protected] [email protected] network(s) / Services:arunprasadvidhyaarthi – skype, slideshare.comArun85prasad – twitter, gmail, live, yahoo.com Arun Prasad - facebook, orkutArunprasad – scribd.comMobile: +91 93446 20159
  • 61. 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.