![Page 1: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/1.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/2.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/3.jpg)
Un peu d’histoire…
![Page 4: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/4.jpg)
.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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/5.jpg)
.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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/6.jpg)
.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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/7.jpg)
.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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/8.jpg)
.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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/9.jpg)
.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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/10.jpg)
.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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/11.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/12.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/13.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/14.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/15.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/16.jpg)
ASP.NET Web Forms 4Client Id / Routing
![Page 17: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/17.jpg)
WPF 4
− Data Grid
− Ribbon
− Multi-Touch
− Windows 7 Enhancements
![Page 18: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/18.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/19.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/20.jpg)
Known vs. Unknown
![Page 21: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/21.jpg)
Client ApplicationsWPF 4 DataGrid / MEF
![Page 22: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/22.jpg)
Entity Framework 4
− Model-First
− POCO
− Lazy Loading
− Foreign Keys
![Page 23: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/23.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/24.jpg)
ADO.NET Data ServicesRow Count and
Server-Side Paging
![Page 25: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/25.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/26.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/27.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/28.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/29.jpg)
Parallel ComputingParallel LINQ (PLINQ)
![Page 30: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/30.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/31.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/32.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/33.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/34.jpg)
DLR Integration
![Page 35: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/35.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/36.jpg)
However!
Primary Interop Assemblies cause many
pain points…
![Page 37: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/37.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/38.jpg)
CLR 4Type Equivalence
![Page 39: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/39.jpg)
.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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/40.jpg)
.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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/41.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/42.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/43.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/44.jpg)
![Page 45: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/45.jpg)
Windows Phone 7
![Page 46: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/46.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/47.jpg)
Developer tools
![Page 48: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/48.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/49.jpg)
Data
Screens
+ =Business
Applications
![Page 50: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/50.jpg)
ETUDIANTS.MS Les initiatives de Microsoft pour les étudiants
![Page 51: MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/51.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022061105/544304c1b1af9f130d8b4835/html5/thumbnails/52.jpg)
POUR NE RIEN MANQUER…
http://www.facebook.com/AfterClassMicrosoft
http://twitter.com/EtudiantsMS
La newsletter etudiants.ms