MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

52
MS Day EPITA Visual Studio 2010 et .NET Framework 4 Thomas Conté Architecte Microsoft
  • date post

    18-Oct-2014
  • Category

    Technology

  • view

    1.892
  • download

    2

description

 

Transcript of MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Page 1: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

MS Day EPITA

Visual Studio 2010 et.NET Framework 4

Thomas ContéArchitecteMicrosoft

Page 2: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Présentations

−Thomas Conté−EPITA promo 95 (SR)−Architecte DPE chez

Microsoft

− http://fr.linkedin.com/in/tomconte− http://twitter.com/tomconte− http://blogs.msdn.com/b/thomasconte/− http://www.facebook.com/#!/

thomas.conte− http://blogs.msdn.com/b/tconte/− http://dotpunk.wordpress.com/− http://www.conté.com/

Page 3: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Un peu d’histoire…

Page 4: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

.NET Framework 1.0

− First public beta at PDC 2000− RTM: early 2002

− Introduced the world to “managed code”− GC, JIT− C#− Coherent Framework− XSP….ASP+…ASP.NET!− WinForms

Page 5: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

.NET Framework 1.1

− RTM Early 2003− “managed code” mainstream

− Ships in Windows Server 2003− Rounds out features

Page 6: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

.NET Framework 2.0

− RTM Late 2005− ASP.NET for the Masses

− Application Building Blocks− Parts, Authentication, Role

Management, etc− Visual Web Developer

− Client Development− ClickOnce!

Page 7: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

.NET Framework 3.0− RTM end of 2006− Windows Presentation

Foundation− Vector Graphics, Media

and UI− Enters the age of UX

− Windows Communication Foundation− Unified messaging model

− Windows Workflow Foundation− Coordinating work with

durable applications

Page 8: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

.NET Framework 3.5

− RTM End of 2007− Linq− ASP.NET AJAX− WCF/WF

− REST Services− Workflow Services

− Client− Sync− Client app services

Page 9: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

.NET Framework 3.5 "SP1"

− RTM Mid 2008− ASP.NET Dynamic Data− ADO.NET

− Entity Framework− Data Services (Astoria)

− WCF− AtomPub ServiceDocuments

− Client− Client Profile− Performance

− Working set and startup time

Page 10: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

.NET Framework Current "Layer Cake"

.NET Framework 2.0 + SP1

Windows Presentation Foundation

Windows Communication

Foundation

Windows Workflow

Foundation

Windows CardSpace

.NET Framework 3.0 + SP1

.NET Framework 3.5

LINQWF & WCF

EnhancementsAdd-in

FrameworkAdditional

Enhancements

.NET Framework 3.5 + SP1

Dynamic DataEntity

Framework Data Services

Page 11: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Un peu d’histoire…

.NET 1.0 .NET 1.1 .NET 2.0

3.0

3.5

.NET 4

2002 2003 2008 CTP2005-08

CLR 1.0 CLR 1.1 CLR 2.0 CLR 4

SP1

Page 12: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Applications Client

WPF 4MEF

Applications Web

Web Forms 4AJAX 4

Client/Server

WCF 4

Page 13: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Les Bases…Parallel Computing

Task Parallel LibraryParallel LINQ

Data Access

Entity Framework 4Data Services 1.5

Runtime

DLR IntegrationType EquivalenceIn-Process SxS

Page 14: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Web Forms 4 - Client ID

1) User Control (No ID)

2) User Control (“HeaderForm”)

Control Hierarchy3) Drop Down List (“States”)

Resulting Client IDs:1) ctl002) ctl00_HeaderForm3) ctl00_HeaderForm_States

Page 15: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Web Forms 4 - Routing

Request:Products/Bikes

ASP.NET Routing

Route:Product/{name} -> Product.aspx

WebForms Page

File Name:Product.aspx

Route Values:Name = “Bikes”

Response

Page 16: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

ASP.NET Web Forms 4Client Id / Routing

Page 17: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

WPF 4

− Data Grid

− Ribbon

− Multi-Touch

− Windows 7 Enhancements

Page 18: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Managed Extensibility Framework?

The Managed Extensibility Framework (MEF) is a new library in the .NET Framework that enables greater reuse of applications and components. Using MEF, .NET applications can make the shift from being statically compiled to dynamically composed

Page 19: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Open/Closed Principle

Software entities should be open for extension,

but closed for modification.

Page 20: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Known vs. Unknown

Page 21: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Client ApplicationsWPF 4 DataGrid / MEF

Page 22: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Entity Framework 4

− Model-First

− POCO

− Lazy Loading

− Foreign Keys

Page 23: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

ADO.NET Data Services 1.5

− Server Enhancements− Row count− Server-side paging− Friendly feeds− BLOB streams

− Client Enhancements− Row Count− WPF/SL data binding

Page 24: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

ADO.NET Data ServicesRow Count and

Server-Side Paging

Page 25: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Parallel Computing InitiativeAvant:

Horloges plus rapides

Maintenant:Plus de coeurs

Fini de rigoler!

Page 26: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

The Parallel Computing Initiative

Letting the brightest developers solve business problems, not concurrency problems.

”Concurrency for the masses”

Page 27: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Parallel Computing with .NET 4

1. Task Parallel Library (TPL)

2. Parallel LINQ (PLINQ)

3. Coordination Data Structures (CDS)

4. System.Threading Improvements

Page 28: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Parallel LINQ

Parallel LINQ (PLINQ) enables developers to easily leverage manycore with a minimal impact to existing LINQ programming model

var q = from p in people        where p.Name == queryInfo.Name && p.State == queryInfo.State && p.Year >= yearStart && p.Year <= yearEnd        orderby p.Year ascending        select p;

.AsParallel()

Page 29: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Parallel ComputingParallel LINQ (PLINQ)

Page 30: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Common Language Runtime

Statically-Typed

C#VB

RubyPython

Dynamically-Typed

Why the DLR?

Page 31: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Common Language Runtime

Statically-Typed

C#VB

RubyPython

Dynamically-Typed

Dynamic Language Runtime

Why the DLR?

Page 32: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

PythonBinder

RubyBinder

COMBinder

JScriptBinder

ObjectBinder

.NET Dynamic Programming

Dynamic Language Runtime

Expression TreesDynamic Dispatch

Call Site Caching

IronPython

IronRuby C# VB.NET Others…

Page 33: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Dynamically Typed Objects

Calculator calc = GetCalculator();int sum = calc.Add(10, 20);

object calc = GetCalculator();Type calcType = calc.GetType();object res = calcType.InvokeMember("Add", BindingFlags.InvokeMethod, null, new object[] { 10, 20 });int sum = Convert.ToInt32(res);

ScriptObject calc = GetCalculator();object res = calc.Invoke("Add", 10, 20);int sum = Convert.ToInt32(res);

dynamic calc = GetCalculator();int sum = calc.Add(10, 20);

Statically typed to be

dynamic

Dynamic method

invocation

Dynamic conversion

Page 34: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

DLR Integration

Page 35: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Type Equivalence

Interop Assemblies translate between managed code and COM

For each interface, struct, enum, delegate, and member, contains a

managed equivalent with marshalling data

Page 36: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

However!

Primary Interop Assemblies cause many

pain points…

Page 37: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Go Away, PIA!

1. Compilers embed the portions of the interop assemblies that the add-ins actually use

2. Runtime ensures the embedded definitions of these types are considered equivalent

Page 38: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

CLR 4Type Equivalence

Page 39: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

.NET Framework Compatibility

− .NET 4.0 is a highly compatible release

− .NET 4.0 does not auto–roll forward− You must add a configuration file with a

specific switch to get 3.5 apps to run on 4.0

Page 40: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

.NET Framework CompatibilityHang on… if 4.0 is

compatible, why not run 3.5 apps automatically on 4.0?−The BEST thing is always to

prefer running on the version of the framework you built against

Page 41: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

CLR 2 - Existing Side-By-Side

Host Process (i.e. Outlook)

.NET 2.0

2.0 add-

in

3.0

3.5

3.0 add-

in

3.5 add-

in

1.1 add-

in

.NET 1.1

Page 42: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

CLR 4 - In-Process Side-By-Side

.NET 2.0.NET 4.0

2.0 add-

in

3.0

3.5

Host Process (i.e. Outlook)

3.0 add-

in

3.5 add-

in

4.0 add-

in

Page 43: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Visual Studio 2010 Training Kit− Download at

http://tinyurl.com/vs2010trainingkit

Page 44: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
Page 45: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Windows Phone 7

Page 46: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Silverlight

Rapid creation of visually stunning

apps

Modern application UI framework &

runtime

METRO themed UI controls, defined in XAML

XAML, C#, HTML & JavaScript

Rich media support

500,000 developers spanning Windows and Web

Page 47: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Developer tools

Page 48: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

The simplest way to build business applications

for the desktop and cloud.

http://www.microsoft.com/visualstudio/en-us/lightswitch

Page 49: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

Data

Screens

+ =Business

Applications

Page 50: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

ETUDIANTS.MS Les initiatives de Microsoft pour les étudiants

Page 51: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

SUR LE WEBBons plans / Réductions spéciales étudiants Windows 7 à 35€ Office 2010 à 69€ Souris et Clavier Arc XBOX (et bientôt Kinect) Plus de 20 logiciels en

téléchargement gratuit : OneNote, Project, …

Toutes les infos pour trouver le job ou stage de vos rêves Plus de 150 offres de stages

et apprentissages en Vente, Technique et Marketing

Offres d’emploi du programme MACH pour jeunes diplômés

Conseils de la RH Témoignages de

Microsoftees et fiches métierToutes les ressources pour

monter vos projets Démo des projets étudiants sur pc, web,

mobile et dans le cloud Conseils et outils pour démarrer vos projets Découverte des projets de Microsoft Research

Gagnez un voyage à New York grâce au concours Imagine Cup Concours international 5 catégories : Digital Media,

Software Design, Game Design, IT Challenge, Embedded Development

Plus de 100 000€ à gagner

Page 52: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0

POUR NE RIEN MANQUER…

http://www.facebook.com/AfterClassMicrosoft

http://twitter.com/EtudiantsMS

La newsletter etudiants.ms