31
Overview of Microsoft .NET Framework 4.5 Bhushan Mulmule [email protected] www.dotnetvideotutorial.com www.dotnetvideotutorial.com

Overview of .Net Framework 4.5

Embed Size (px)

DESCRIPTION

Overview to .NET Framework 4.5

Citation preview

Page 1: Overview of .Net Framework 4.5

Overview of Microsoft .NET Framework 4.5

Bhushan Mulmule

[email protected]

www.dotnetvideotutorial.com

www.dotnetvideotutorial.com

Page 2: Overview of .Net Framework 4.5

Video for this session is available on www.dotnetvideotutorial.com

www.dotnetvideotutorial.com

Page 3: Overview of .Net Framework 4.5

AgendaBrief History

What is .NET and Important components

Compilation Model

Incremental .NET Framework Stack

CLR Versions andSide By side Execution

www.dotnetvideotutorial.com

Page 4: Overview of .Net Framework 4.5

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

Page 5: Overview of .Net Framework 4.5

www.dotnetvideotutorial.com

Page 6: Overview of .Net Framework 4.5

Code ReusabilityPlatform Independence

www.dotnetvideotutorial.com

Page 7: Overview of .Net Framework 4.5

www.dotnetvideotutorial.com

Page 8: Overview of .Net Framework 4.5

Evolved to Great MaturityLearned lot from Previous Experiences

www.dotnetvideotutorial.com

Page 9: Overview of .Net Framework 4.5

www.dotnetvideotutorial.com

Page 10: Overview of .Net Framework 4.5

Visual C# VB.NET

VC++.NET F#

JavaScript Third Party

www.dotnetvideotutorial.com

Page 11: Overview of .Net Framework 4.5

www.dotnetvideotutorial.com

Page 12: Overview of .Net Framework 4.5

Console Applications

www.dotnetvideotutorial.com

Page 13: Overview of .Net Framework 4.5

.NET Framework

www.dotnetvideotutorial.com

Page 14: Overview of .Net Framework 4.5

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

Page 15: Overview of .Net Framework 4.5

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

Page 16: Overview of .Net Framework 4.5

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

Page 17: Overview of .Net Framework 4.5

• 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

Page 18: Overview of .Net Framework 4.5

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

Page 19: Overview of .Net Framework 4.5

.NET Framework

Revisitedwww.dotnetvideotutorial.com

Page 20: Overview of .Net Framework 4.5

www.dotnetvideotutorial.com

Page 21: Overview of .Net Framework 4.5

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

Page 22: Overview of .Net Framework 4.5

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

Page 23: Overview of .Net Framework 4.5

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

Page 24: Overview of .Net Framework 4.5

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

Page 25: Overview of .Net Framework 4.5

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

Page 26: Overview of .Net Framework 4.5

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

Page 27: Overview of .Net Framework 4.5

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

Page 28: Overview of .Net Framework 4.5

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

Page 29: Overview of .Net Framework 4.5

The .NET Framework is

an execution and

development

platform for building

apps for Windows,

Windows Phone,

Windows Server, and

Windows Azure... www.dotnetvideotutorial.com

Page 30: Overview of .Net Framework 4.5

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

Page 31: Overview of .Net Framework 4.5

Bhushan Mulmule

[email protected]

www.dotnetvideotutorial.com

www.dotnetvideotutorial.com