Overview of .Net Framework 4.5
Post on 22-May-2015
1164 Views
Preview:
DESCRIPTION
Transcript
Overview of Microsoft .NET Framework 4.5
Bhushan Mulmule
bhushan.mulmule@dotnetvideotutorial.com
www.dotnetvideotutorial.com
www.dotnetvideotutorial.com
Video for this session is available on www.dotnetvideotutorial.com
www.dotnetvideotutorial.com
AgendaBrief History
What is .NET and Important components
Compilation Model
Incremental .NET Framework Stack
CLR Versions andSide By side Execution
www.dotnetvideotutorial.com
Its all
Evolution!
1943 ENIAC1951 RAL1952 Autocode1954 IPL1955 FLOWMATIC1957 FORTRAN1957 COMTRAN1958 LISP1958 ALGOL 581959 FACT1959 COBOL1959 RPG1962 APL1962 Simula1962 SNOBOL1963 CPL1964 BASIC1964 PL/I1967 BCPL1968 Logo1969 B1970 Pascal1970 Forth1972 C1972 Smalltalk1972 Prolog1973 ML1975 Scheme1978 SQL1980 C++ 1983 Ada1984 Common Lisp1984 MATLAB1985 Eiffel1986 Objective C1986 Erlang1987 Perl1988 Tcl1988 Mathematica1989 FL
990 Haskell1991 Python1991 VB1991 HTML1993 Ruby1993 Lua1994 CLOS1995 Java1995 Delphi1995 JavaScript1995 PHP1996 WebDNA1997 Rebol1999 D2000 ActionScript2001 C#2001 VB.NET2002 F#2003 Groovy2003 Scala2003 Factor2007 Clojure2009 Go2011 Dart
1943 ENIAC1951 RAL1952 Autocode1954 IPL1955 FLOWMATIC1957 FORTRAN1957 COMTRAN1958 LISP1958 ALGOL 581959 FACT1959 COBOL1959 RPG1962 APL1962 Simula1962 SNOBOL1963 CPL1964 BASIC1964 PL/I1967 BCPL1968 Logo1969 B1970 Pascal1970 Forth1972 C1972 Smalltalk1972 Prolog1973 ML1975 Scheme1978 SQL1980 C++ 1983 Ada1984 Common Lisp1984 MATLAB1985 Eiffel1986 Objective C1986 Erlang1987 Perl1988 Tcl1988 Mathematica1989 FL
990 Haskell1991 Python1991 VB1991 HTML1993 Ruby1993 Lua1994 CLOS1995 Java1995 Delphi1995 JavaScript1995 PHP1996 WebDNA1997 Rebol1999 D2000 ActionScript2001 C#2001 VB.NET2002 F#2003 Groovy2003 Scala2003 Factor2007 Clojure2009 Go2011 Dart
www.dotnetvideotutorial.com
www.dotnetvideotutorial.com
Code ReusabilityPlatform Independence
www.dotnetvideotutorial.com
www.dotnetvideotutorial.com
Evolved to Great MaturityLearned lot from Previous Experiences
www.dotnetvideotutorial.com
www.dotnetvideotutorial.com
Visual C# VB.NET
VC++.NET F#
JavaScript Third Party
www.dotnetvideotutorial.com
www.dotnetvideotutorial.com
Console Applications
www.dotnetvideotutorial.com
.NET Framework
www.dotnetvideotutorial.com
Framework
Class
Library
Common
Language
Runtime
.NET Framework
Is run-time environment to execute .NET Apps
Code ExecutionException HandlingResource ManagementGarbage CollectionCode Access SecurityJust In Time CompilationLanguage InteroperabilityApplication Isolation
• Library of tested, reusable code that developers can use in own applications
• Consists of classes, interfaces, and structures, delegates etc.
• Categorized using Namespaces
www.dotnetvideotutorial.com
OS
CLR
Executed by CLR
Executed by OS
OS
Classic Compilation Vs. .NET Compilation
Machine Code
C Compiler
C Source Code
Using FCL Classes
FCL Assemblie
s
www.dotnetvideotutorial.com
Assembly Manifest
Type Metadata
Resources
CIL
Assembly
Meta Information
• Common Intermediate Language• Earlier called Microsoft Intermediate Language
or MSIL or IL• Also referred as Managed Code• Is an object-oriented assembly language• Advantages
• Platform Independence• Language Independence• Information about all types used in source
code
• Optional part• Details of external resources if used
www.dotnetvideotutorial.com
• Consist of Meta-information and CIL• Basic Building blocks of .NET Framework• Self Descriptive• Two Types
• Private • Public
• Information about assembly• Assembly name• Assembly Version• Security Key• References to other assemblies used
• Resources required to develop and execute the applications
• Typically includes a hardware architecture and a software framework
Platform Independence
Machine Code
JIT
Assembly Loader
Assembly / PE (exe / dll)
Meta Information CIL Code
C# Compiler
C# Source Code(Uses ref of dlls from FCL)
Development PlatformProduction Platform
.NET Framework
CLR
FCL
Assembly / PE
FCL Class Ref
www.dotnetvideotutorial.com
Language Independence
VB.NET Code
VB.NET Compiler
C# Code
C# Compiler
CIL
JIT
Native Code
F# / C++.NET/ Any
CLS compatible
Lang Compiler
FCLCLR
www.dotnetvideotutorial.com
.NET Framework
Revisitedwww.dotnetvideotutorial.com
www.dotnetvideotutorial.com
CLR
CLS works with the CTS to ensure language interoperabilityThe CLS is a set of minimum standards that all compilers targeting .NET must support.
GCCAS
CLSJIT CTS
FCL
Common Type System defines the setpredefined data types available in IL
• Compiles CIL to Machine code• compiles portion of code as it is called.
And cached
Code Access Security Applies the permission to code, based on source of code and other identities
• garbage collector manages the allocation and release of memory for your application.
• Reclaims unreferenced or dead objects and clears their memory.
Is run-time environment to execute .NET AppsCommercial implementation of CLI by Microsoft
Code ExecutionException HandlingResource ManagementGarbage CollectionCode Access SecurityJust In Time CompilationLanguage InteroperabilityApplication Isolation
• Common Language Infrastructure is an international standard that is the basis for creating execution and development environments in which languages and libraries work together seamlessly.
www.dotnetvideotutorial.com
CLR
2.0
FCL
2005Base Framework Library
ADO.NET
WinForms ASP.NETWebForms / Web Services
GCCAS
CLSJIT CTS
Set of common classes need in various types of applications. Typically classes in System namespace.
Set of classes to be used for database communication
Provides architecture, library and controls to develop desktop applications.
• Library of tested, reusable code that developers can use in own applications
• Consists of classes, interfaces, and structures, delegates etc.
• Categorized using Namespaces
Namespaces support the hierarchical organization of classes and prevent type name collisions
Provides architecture to develop web applications and web services. Subsets are• WebForms• XML WebServices
www.dotnetvideotutorial.com
CLR
FCL
presentation system for building Windows client applications with visually stunning user experiences.resolution-independent and vector-based rendering engineFeatures: XAML, 3D Graphics, Animation, Media, etc
GCCAS
CLSJIT CTS
2.02005Base Framework Library
ADO.NET
WinForms ASP.NETWebForms / Web Services
WPF WCF WF CardSpace 3.0
2006
framework for building service-oriented applications.Workflows provide a way of describing the order of execution and dependent relationships between pieces of short- or long-running work.
provides a standards-based solution for working with and managing diverse digital identities.Discontinued from Feb 2011Microsoft is currently working on a replacement called U-Prove
www.dotnetvideotutorial.com
CLR
FCL
GCCAS
CLSJIT CTS
2.02005Base Framework Library
ADO.NET
WinForms ASP.NETWebForms / Web Services
WPF WCF WF 3.02006
LINQASP.NET
3.5, AJAX
CLR, Other Enhancement
s
3.52007
Enhancements in Common Language RuntimeEnhancements in WPF, WCF, Networking, Windows Forms, etc
New server controls and ASP.NET AJAX
set of features introduced in Visual Studio 2008 that extends powerful query capabilities to the language syntax of C# and Visual Basic.
www.dotnetvideotutorial.com
CLR
FCL
GCCAS
CLSJIT CTS
2.02005Base Framework Library
ADO.NET
WinForms ASP.NETWebForms / Web Services
WPF WCF WF 3.02006
LINQASP.NET
3.5, AJAX
CLR, Other Enhancement
s
3.52007
Entity Framework Dynamic Data
3.5sp12008
object-relational mapper that enables .NET developers to work with relational data using domain-specific objects. It eliminates the need for most of the data-access code that developers usually need to write.
ASP.NET Dynamic Data lets you create extensible data-driven Web applications by inferring at run time the appearance and behavior of data entities from the database schema and deriving UI behavior from it.
www.dotnetvideotutorial.com
CLR
FCL
GCCAS
CLSJIT CTS
2.02005Base Framework Library
ADO.NET
WinForms ASP.NETWebForms / Web Services
WPF WCF WF 3.02006
LINQASP.NET
3.5, AJAX
CLR, Other Enhancement
s3.5
2007
Entity Framework Dynamic Data3.5sp12008
TPL PLINQ MVC PCL4.0
2010
Parallel LINQ (PLINQ) is a parallel implementation of LINQ to Objects.
Task Parallel Library set APIs in the System.Threading and System.Threading.Tasks namespacesEfficiently use all the available processors
• powerful, patterns-based way to build dynamic websites
• enables a clean separation of concerns• gives full control over markup• Provides features that enable fast Test
Driven Development for creating sophisticated applications that use the latest web standards.The Portable Class Library project enables you to write and build managed assemblies that work on more than one .NET Framework platform.
www.dotnetvideotutorial.com
CLR
FCL
GCCAS
CLSJIT CTS
2.02005
Base Framework Library
ADO.NETWinForms ASP.NET
WebForms / Web Services
WPF WCF WF 3.02006
LINQASP.NET
3.5, AJAX
CLR, Other Enhancement
s
3.52007
Entity Framework Dynamic Data3.5sp12008
PLINQ TPL MVC PCL 4.02010
Windows store Apps
HTML 5, / CSS3/ JQuery
Web Socket
4.52012
WebSocket establishes persistent connection between the client and the server and both parties can start sending data at any time.
• HTML5 offers new features (elements, attributes, event handlers, and APIs) for easier web application development and more sophisticated form handling.
• JQuery is powerful JavaScript library• CSS is used to control the style and layout of
Web pages. CSS3 is the latest standard for CSS
• A Windows Store app is a new type of app that is sold in the Windows Store and runs on Windows 8 devices.
• Microsoft Windows Metro is the clean, dynamic, and content-focused UI in Windows 8.
www.dotnetvideotutorial.com
CLR 1.1
FCL 1.1
CLR 2.0
FCL 2.0
CLR 4.0
FCL 4.0
CLR 4.5
FCL 4.5
FCL 3.0
FCL 3.5
CLR 1.0
FCL 1.0
CLR Versions and SxS Execution
Side By Side Execution Allows multiple versions of the Framework to be installed on a single system
4.0 onwards Supports inproc SxS
2002 20052003 2010 2012
• In-process side by side is the ability to run multiple versions of the CLR in a single process.• By default, managed COM components run with the .NET Framework version they were built with,
regardless of the .NET Framework version that is loaded for the process.
www.dotnetvideotutorial.com
The .NET Framework is
an execution and
development
platform for building
apps for Windows,
Windows Phone,
Windows Server, and
Windows Azure... www.dotnetvideotutorial.com
What's Next
• http://msdn.microsoft.com/en-us/library/vstudio/w0x726c2.aspx
• Beginning Visual C# 2012 programming (Wrox)
• Professional C# 2012 and .NET 4.5 (Wrox)
• Pro C# 5.0 and the .NET 4.5 Framework, 6th Edition
www.dotnetvideotutorial.com
Bhushan Mulmule
bhushan.mulmule@dotnetvideotutorial.com
www.dotnetvideotutorial.com
www.dotnetvideotutorial.com
top related