SlideShare a Scribd company logo
1 of 48
Introduction to .Net Framework NithyaVidhyaarthi
Before .NET Windows GUI development: Win32 API, MFC, Visual Basic, COM Web development: ASP Java – “Write once, run anywhere.” Embrace and extend: Visual J++
Life As a C/Win32 API Programmer Traditional 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 approach When 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 Programmer ,[object Object]
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 experience,[object Object]
Life As a Java/J2EE Programmer Object 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 Programmer Microsoft’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 Programmer ,[object Object]
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). ,[object Object]
.Net, the Rescuer OOP JVM GUI .NET Web component-based design n-tier design
.Net, the Rescuer
.Net provides Integrated environment Internet, Desktop , Mobile devices consistent object-oriented To provide a portable environment A 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-platform APP.exe ? Win32 (XP,2K,98) Win64 WinCE
.NET Application .NET Framework Narrow view of .Net applications Operating System + Hardware
.Net Framework
.Net Architecture .NET architecture is: multi-language cross-platform based on the CLR, FCL, and JIT technology .NET components are packaged as assemblies
.Net Architecture
.Net Technical Architecture VB C++ C# Visual Studio.NET JScript … Common Language Specification WindowsForms ASP.NET: Web Services and Web Forms WindowsForms ADO.NET: Data and XML Base Class Library Common Language Runtime
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. Rational is working on Java compiler for CLR
The CLR Architecture Base Class Library Support Thread Support COM Marshaler Type Checker Exception Manager Security Engine Debug Engine MSIL to Native Compilers (JIT) Code Manager Garbage Collector (GC) Class Loader
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
CLR Execution Model Source code VB C++ C# Unmanaged Component Compiler Compiler Compiler Managed code Assembly IL Code Assembly IL Code Assembly IL Code Common Language Runtime JIT Compiler Native Code Operating System Services
How CLR works?
CLR based execution JIT Compiler APP.exe          OS Process CLR  other FCL components Core FCL obj code Underlying OS and HW
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
Implications of CLR execution model Clients need CLR & FCL to run .NET apps available via Redistributable .NET Framework Design trade-off… ,[object Object]
portability:
slower execution?,[object Object]
Advantages of CLR Support for developer services (debugging) Interoperation between managed code and unmanaged code (COM, DLLs). Managed code environment Improved memory handling Improved “garbage collection”
Advantages of CLR ,[object Object]
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),[object Object]
CLI
Common Language Infrastructure ,[object Object]
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).,[object Object]
Common Type System (CTS)
CTS Data Types

More Related Content

What's hot

ASP.NET MVC Presentation
ASP.NET MVC PresentationASP.NET MVC Presentation
ASP.NET MVC Presentationivpol
 
C# programming language
C# programming languageC# programming language
C# programming languageswarnapatil
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .netpinky singh
 
Android app development ppt
Android app development pptAndroid app development ppt
Android app development pptsaitej15
 
Core java complete ppt(note)
Core java  complete  ppt(note)Core java  complete  ppt(note)
Core java complete ppt(note)arvind pandey
 
CSharp Presentation
CSharp PresentationCSharp Presentation
CSharp PresentationVishwa Mohan
 
Object Oriented Programming In .Net
Object Oriented Programming In .NetObject Oriented Programming In .Net
Object Oriented Programming In .NetGreg Sohl
 
Web Application Introduction
Web Application  IntroductionWeb Application  Introduction
Web Application Introductionshaojung
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net frameworkAshish Verma
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidzeelpatel0504
 
Introduction to java (revised)
Introduction to java (revised)Introduction to java (revised)
Introduction to java (revised)Sujit Majety
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clrSanSan149
 
Introduction to Koltin for Android Part I
Introduction to Koltin for Android Part I Introduction to Koltin for Android Part I
Introduction to Koltin for Android Part I Atif AbbAsi
 

What's hot (20)

Introduction to c#
Introduction to c#Introduction to c#
Introduction to c#
 
Webservices
WebservicesWebservices
Webservices
 
ASP.NET MVC Presentation
ASP.NET MVC PresentationASP.NET MVC Presentation
ASP.NET MVC Presentation
 
C# basics
 C# basics C# basics
C# basics
 
C# programming language
C# programming languageC# programming language
C# programming language
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .net
 
Android app development ppt
Android app development pptAndroid app development ppt
Android app development ppt
 
Core java complete ppt(note)
Core java  complete  ppt(note)Core java  complete  ppt(note)
Core java complete ppt(note)
 
Introduction To C#
Introduction To C#Introduction To C#
Introduction To C#
 
CSharp Presentation
CSharp PresentationCSharp Presentation
CSharp Presentation
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
Object Oriented Programming In .Net
Object Oriented Programming In .NetObject Oriented Programming In .Net
Object Oriented Programming In .Net
 
Web Application Introduction
Web Application  IntroductionWeb Application  Introduction
Web Application Introduction
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Java tutorial PPT
Java tutorial PPTJava tutorial PPT
Java tutorial PPT
 
Introduction to java (revised)
Introduction to java (revised)Introduction to java (revised)
Introduction to java (revised)
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clr
 
Namespaces in C#
Namespaces in C#Namespaces in C#
Namespaces in C#
 
Introduction to Koltin for Android Part I
Introduction to Koltin for Android Part I Introduction to Koltin for Android Part I
Introduction to Koltin for Android Part I
 

Viewers also liked

Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architectureIblesoft
 
Overview of .Net Framework 4.5
Overview of .Net Framework 4.5Overview of .Net Framework 4.5
Overview of .Net Framework 4.5Bhushan Mulmule
 
Asp.net and .Net Framework ppt presentation
Asp.net and .Net Framework ppt presentationAsp.net and .Net Framework ppt presentation
Asp.net and .Net Framework ppt presentationabhishek singh
 
Crystal Reports Review
Crystal Reports ReviewCrystal Reports Review
Crystal Reports ReviewJustin R. Rue
 
Crystal Reports: Basics
Crystal Reports: BasicsCrystal Reports: Basics
Crystal Reports: BasicsNet at Work
 
Components of .NET Framework
Components of .NET FrameworkComponents of .NET Framework
Components of .NET FrameworkRoshith S Pai
 
CMS (CONTENT MANAGEMENT SYSTEM)
CMS (CONTENT MANAGEMENT SYSTEM)CMS (CONTENT MANAGEMENT SYSTEM)
CMS (CONTENT MANAGEMENT SYSTEM)Aaina Katyal
 
Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)Vangos Pterneas
 
.NET and C# Introduction
.NET and C# Introduction.NET and C# Introduction
.NET and C# IntroductionSiraj Memon
 
Content Management System
Content Management SystemContent Management System
Content Management SystemOmnePresent
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework IntroductionPekka Klärck
 
The Design of the Scalaz 8 Effect System
The Design of the Scalaz 8 Effect SystemThe Design of the Scalaz 8 Effect System
The Design of the Scalaz 8 Effect SystemJohn De Goes
 
What is a Content Management System or CMS
What is a Content Management System or CMSWhat is a Content Management System or CMS
What is a Content Management System or CMSSteve Williams
 
GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
 GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기 GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기Kenneth Ceyer
 
失敗と向き合う姿勢を正す話
失敗と向き合う姿勢を正す話失敗と向き合う姿勢を正す話
失敗と向き合う姿勢を正す話LIFULL Co., Ltd.
 

Viewers also liked (20)

Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architecture
 
Visual Studio IDE
Visual Studio IDEVisual Studio IDE
Visual Studio IDE
 
Asp Architecture
Asp ArchitectureAsp Architecture
Asp Architecture
 
Overview of .Net Framework 4.5
Overview of .Net Framework 4.5Overview of .Net Framework 4.5
Overview of .Net Framework 4.5
 
Asp.net and .Net Framework ppt presentation
Asp.net and .Net Framework ppt presentationAsp.net and .Net Framework ppt presentation
Asp.net and .Net Framework ppt presentation
 
Crystal Reports Review
Crystal Reports ReviewCrystal Reports Review
Crystal Reports Review
 
Crystal Reports: Basics
Crystal Reports: BasicsCrystal Reports: Basics
Crystal Reports: Basics
 
Crystal report
Crystal reportCrystal report
Crystal report
 
Components of .NET Framework
Components of .NET FrameworkComponents of .NET Framework
Components of .NET Framework
 
CMS (CONTENT MANAGEMENT SYSTEM)
CMS (CONTENT MANAGEMENT SYSTEM)CMS (CONTENT MANAGEMENT SYSTEM)
CMS (CONTENT MANAGEMENT SYSTEM)
 
Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)
 
.NET and C# Introduction
.NET and C# Introduction.NET and C# Introduction
.NET and C# Introduction
 
Content Management System
Content Management SystemContent Management System
Content Management System
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introduction
 
The Design of the Scalaz 8 Effect System
The Design of the Scalaz 8 Effect SystemThe Design of the Scalaz 8 Effect System
The Design of the Scalaz 8 Effect System
 
Demonetisation.
Demonetisation.Demonetisation.
Demonetisation.
 
What is a Content Management System or CMS
What is a Content Management System or CMSWhat is a Content Management System or CMS
What is a Content Management System or CMS
 
GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
 GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기 GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
 
失敗と向き合う姿勢を正す話
失敗と向き合う姿勢を正す話失敗と向き合う姿勢を正す話
失敗と向き合う姿勢を正す話
 
reveal.js 3.0.0
reveal.js 3.0.0reveal.js 3.0.0
reveal.js 3.0.0
 

Similar to Introduction to .net framework

Similar to Introduction to .net framework (20)

Presentation1
Presentation1Presentation1
Presentation1
 
Introduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsIntroduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutions
 
Introduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsIntroduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutions
 
1 get started with c#
1   get started with c#1   get started with c#
1 get started with c#
 
ASP.NET Session 1
ASP.NET Session 1ASP.NET Session 1
ASP.NET Session 1
 
Dotnet ch1
Dotnet ch1Dotnet ch1
Dotnet ch1
 
Introductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarIntroductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka Pinglikar
 
Introduction to .net
Introduction to .netIntroduction to .net
Introduction to .net
 
.Net overview
.Net overview.Net overview
.Net overview
 
.Net Overview
.Net Overview.Net Overview
.Net Overview
 
.Net overview
.Net overview.Net overview
.Net overview
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
 
Csharp dot net
Csharp dot netCsharp dot net
Csharp dot net
 
Net framework
Net frameworkNet framework
Net framework
 
.Net framework
.Net framework.Net framework
.Net framework
 
Chapter1_Part1.pptx
Chapter1_Part1.pptxChapter1_Part1.pptx
Chapter1_Part1.pptx
 
Visual studio.net
Visual studio.netVisual studio.net
Visual studio.net
 
.Net Overview -- Training (Lesson 1)
.Net Overview -- Training (Lesson 1).Net Overview -- Training (Lesson 1)
.Net Overview -- Training (Lesson 1)
 
.Net Framework
.Net Framework.Net Framework
.Net Framework
 
Dot net
Dot netDot net
Dot net
 

Recently uploaded

Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 

Recently uploaded (20)

Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 

Introduction to .net framework

  • 1. Introduction to .Net Framework NithyaVidhyaarthi
  • 2. Before .NET Windows GUI development: Win32 API, MFC, Visual Basic, COM Web development: ASP Java – “Write once, run anywhere.” Embrace and extend: Visual J++
  • 3. Life As a C/Win32 API Programmer Traditional 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 approach When 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.
  • 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.
  • 9. Life As a Java/J2EE Programmer Object 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 Programmer Microsoft’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.
  • 12. COM-based Windows Distributed interNet Applications Architecture (DNA) is quite complex.
  • 13.
  • 14. .Net, the Rescuer OOP JVM GUI .NET Web component-based design n-tier design
  • 16. .Net provides Integrated environment Internet, Desktop , Mobile devices consistent object-oriented To provide a portable environment A managed environment
  • 17. What Is .NET .NET is a framework New programming methodology .NET is platform independent / cross platform .NET is language-insensitive
  • 18. .NET is cross-platform APP.exe ? Win32 (XP,2K,98) Win64 WinCE
  • 19. .NET Application .NET Framework Narrow view of .Net applications Operating System + Hardware
  • 21. .Net Architecture .NET architecture is: multi-language cross-platform based on the CLR, FCL, and JIT technology .NET components are packaged as assemblies
  • 23. .Net Technical Architecture VB C++ C# Visual Studio.NET JScript … Common Language Specification WindowsForms ASP.NET: Web Services and Web Forms WindowsForms ADO.NET: Data and XML Base Class Library Common Language Runtime
  • 24. 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. Rational is working on Java compiler for CLR
  • 25. The CLR Architecture Base Class Library Support Thread Support COM Marshaler Type Checker Exception Manager Security Engine Debug Engine MSIL to Native Compilers (JIT) Code Manager Garbage Collector (GC) Class Loader
  • 26. 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
  • 27. CLR Execution Model Source code VB C++ C# Unmanaged Component Compiler Compiler Compiler Managed code Assembly IL Code Assembly IL Code Assembly IL Code Common Language Runtime JIT Compiler Native Code Operating System Services
  • 29. CLR based execution JIT Compiler APP.exe OS Process CLR other FCL components Core FCL obj code Underlying OS and HW
  • 30. 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
  • 31.
  • 33.
  • 34. Advantages of CLR Support for developer services (debugging) Interoperation between managed code and unmanaged code (COM, DLLs). Managed code environment Improved memory handling Improved “garbage collection”
  • 35.
  • 36. JIT allows the IL code to be hardware independent.
  • 37. CLR also allows for enforcement of code access security.
  • 39.
  • 40. CLI
  • 41.
  • 44. Meta-data in a language agnostic fashion.
  • 45. Common Language Specification – behaviors that all languages need to follow.
  • 46.
  • 49. 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
  • 50. 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
  • 51. Comparison to Java Hello.java Hello.class JVM compile execute Source code Byte code Hello.vb Hello.exe CLR compile execute Source code CIL
  • 53. 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
  • 54. 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
  • 56.
  • 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.
  • 59. Contact me via Mail: arunprasadnva@gmail.com arun85prasad@gmail.com Social network(s) / Services: arunprasadvidhyaarthi – skype, slideshare.com Arun85prasad – twitter, gmail, live, yahoo.com Arun Prasad - facebook, orkut Arunprasad – scribd.com Mobile: +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.