0
MS Day EPITA<br />Visual Studio 2010 et<br />	.NET Framework 4<br />Thomas Conté<br />Architecte<br />Microsoft<br />
Présentations<br />http://fr.linkedin.com/in/tomconte<br />http://twitter.com/tomconte<br />http://blogs.msdn.com/b/thomas...
Un peu d’histoire…<br />
.NET Framework 1.0<br />First public beta at PDC 2000<br />RTM: early 2002<br />Introduced the world to “managed code”<br ...
.NET Framework 1.1<br />RTM Early 2003<br />“managed code” mainstream<br />Ships in Windows Server 2003<br />Rounds out fe...
.NET Framework 2.0<br />RTM Late 2005<br />ASP.NET for the Masses<br />Application Building Blocks<br />Parts, Authenticat...
.NET Framework 3.0<br />RTM end of 2006<br />Windows Presentation Foundation<br />Vector Graphics, Media and UI<br />Enter...
.NET Framework 3.5<br />RTM End of 2007<br />Linq<br />ASP.NET AJAX<br />WCF/WF <br />REST Services<br />Workflow Services...
.NET Framework 3.5 "SP1"<br />RTM Mid 2008<br />ASP.NET Dynamic Data<br />ADO.NET<br />Entity Framework<br />Data Services...
.NET Framework Current "Layer Cake"<br />.NET Framework 3.5 + SP1<br />Entity Framework<br />Dynamic Data<br />Data Servic...
Un peu d’histoire…<br />SP1<br />3.5<br />3.0<br />.NET 1.0<br />.NET 1.1<br />.NET 2.0<br />.NET 4<br />2002<br />2003<br...
Le .NET Framework<br />WPF<br />Win Forms<br />DLR<br />ASP.NET<br />WCF<br />And more!<br />LINQ<br />Base Class Librarie...
Applications Client<br />Applications Web<br />WPF 4<br />MEF<br />Web Forms 4<br />AJAX 4<br />Client/Server<br />WCF 4<b...
Les Bases…<br />Parallel Computing<br />Data Access<br />Runtime<br />DLR Integration<br />Type Equivalence<br />In-Proces...
Web Forms 4 - Client ID<br />1) User Control (No ID)<br />2) User Control (“HeaderForm”)<br />Control Hierarchy<br />3) Dr...
Web Forms 4 - Routing<br />ASP.NET Routing<br />Route:<br />Product/{name} -> Product.aspx<br />Request:<br />Products/Bik...
ASP.NET Web Forms 4Client Id / Routing<br />
WPF 4<br />Data Grid<br />Ribbon<br />Multi-Touch<br />Windows 7 Enhancements<br />
Managed Extensibility Framework?<br />The Managed Extensibility Framework (MEF) is a new libraryin the .NET Framework that...
Open/Closed Principle<br />Software entities should be <br />open for extension, <br />but closed for modification.<br />
Known   vs.     Unknown<br />
Client ApplicationsWPF 4 DataGrid / MEF<br />
Entity Framework 4<br />Model-First <br />POCO<br />Lazy Loading<br />Foreign Keys<br />
A lot of new for WF/WCF 4<br />XAML-only workflows are the new default<br />Unified model between WF, WCF, and WPF<br />Ex...
ADO.NET Data Services 1.5<br />Server Enhancements<br />Row count<br />Server-side paging<br />Friendly feeds<br />BLOB st...
ADO.NET Data ServicesRow Count andServer-Side Paging<br />
Parallel Computing Initiative<br />Avant:Horloges plus rapides<br />Maintenant:<br />Plus de coeurs<br />Fini de rigoler!<...
The Parallel Computing Initiative<br />Letting the brightest developers solve business problems, not concurrency problems....
Parallel Computing with .NET 4<br />Task Parallel Library (TPL)<br />Parallel LINQ (PLINQ)<br />Coordination Data Structur...
Parallel LINQ<br />Parallel LINQ (PLINQ)enables developers to easily leverage manycore with a minimal impactto existing LI...
Parallel ComputingParallel LINQ (PLINQ)<br />
Dynamically-Typed<br />Ruby<br />Python<br />Statically-Typed<br />VB<br />C#<br />Common Language Runtime<br />Why the DL...
Dynamically-Typed<br />Ruby<br />Python<br />Statically-Typed<br />VB<br />Dynamic Language Runtime<br />C#<br />Common La...
.NET Dynamic Programming<br />IronPython<br />IronRuby<br />C#<br />VB.NET<br />Others…<br />Dynamic Language Runtime<br /...
Dynamically Typed Objects<br />Calculator calc = GetCalculator();<br />int sum = calc.Add(10, 20);<br />object calc = GetC...
DLR Integration<br />
Type Equivalence<br />Interop Assemblies translate between managed code and COM<br />For each interface, struct, enum, <br...
However!<br />Primary Interop Assemblies cause many pain points…<br />
Go Away, PIA!<br />Compilers embedthe portions of the interop assemblies that the add-ins actually use<br />Runtime ensure...
CLR 4Type Equivalence<br />
.NET Framework Compatibility<br />.NET 4.0 is a highly compatible release<br />.NET 4.0 does not auto–roll forward<br />Yo...
.NET Framework Compatibility<br />Hang on… if 4.0 is compatible, why not run 3.5 apps automatically on 4.0?<br />The BEST ...
CLR 2 - Existing Side-By-Side<br />2.0 add-in<br />3.0 add-in<br />3.5 add-in<br />1.1 add-in<br />3.5<br />.NET 1.1<br />...
CLR 4 - In-Process Side-By-Side<br />2.0 add-in<br />3.0 add-in<br />3.5 add-in<br />4.0 add-in<br />3.5<br />.NET 4.0<br ...
Visual Studio 2010 Training Kit<br />Download at http://tinyurl.com/vs2010trainingkit<br />
Windows Phone 7<br />
Silverlight<br />Modern application UI framework & runtime<br />Rapid creation of visually stunning apps<br />METRO themed...
Developer tools<br />
http://www.microsoft.com/visualstudio/en-us/lightswitch<br />The simplest way to build business applications<br />for the ...
Data<br />Business Applications<br />+<br />=<br />Screens<br />
ETUDIANTS.MS Les initiatives de Microsoft pour les étudiants<br />
Upcoming SlideShare
Loading in...5
×

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

1,678

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,678
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. MS Day EPITA<br />Visual Studio 2010 et<br /> .NET Framework 4<br />Thomas Conté<br />Architecte<br />Microsoft<br />
  2. 2. Présentations<br />http://fr.linkedin.com/in/tomconte<br />http://twitter.com/tomconte<br />http://blogs.msdn.com/b/thomasconte/<br />http://www.facebook.com/#!/thomas.conte<br />http://blogs.msdn.com/b/tconte/<br />http://dotpunk.wordpress.com/<br />http://www.conté.com/<br />Thomas Conté<br />EPITA promo 95 (SR)<br />Architecte DPE chez Microsoft<br />
  3. 3. Un peu d’histoire…<br />
  4. 4. .NET Framework 1.0<br />First public beta at PDC 2000<br />RTM: early 2002<br />Introduced the world to “managed code”<br />GC, JIT<br />C#<br />Coherent Framework<br />XSP….ASP+…ASP.NET!<br />WinForms<br />
  5. 5. .NET Framework 1.1<br />RTM Early 2003<br />“managed code” mainstream<br />Ships in Windows Server 2003<br />Rounds out features<br />
  6. 6. .NET Framework 2.0<br />RTM Late 2005<br />ASP.NET for the Masses<br />Application Building Blocks<br />Parts, Authentication, Role Management, etc<br />Visual Web Developer<br />Client Development<br />ClickOnce!<br />
  7. 7. .NET Framework 3.0<br />RTM end of 2006<br />Windows Presentation Foundation<br />Vector Graphics, Media and UI<br />Enters the age of UX<br />Windows Communication Foundation<br />Unified messaging model <br />Windows Workflow Foundation<br />Coordinating work with durable applications<br />
  8. 8. .NET Framework 3.5<br />RTM End of 2007<br />Linq<br />ASP.NET AJAX<br />WCF/WF <br />REST Services<br />Workflow Services<br />Client<br />Sync<br />Client app services<br />
  9. 9. .NET Framework 3.5 "SP1"<br />RTM Mid 2008<br />ASP.NET Dynamic Data<br />ADO.NET<br />Entity Framework<br />Data Services (Astoria)<br />WCF<br />AtomPubServiceDocuments<br />Client<br />Client Profile<br />Performance<br />Working set and startup time<br />
  10. 10. .NET Framework Current "Layer Cake"<br />.NET Framework 3.5 + SP1<br />Entity Framework<br />Dynamic Data<br />Data Services<br />.NET Framework 3.5<br />Add-in <br />Framework<br />LINQ<br />WF & WCF Enhancements<br />Additional Enhancements<br />.NET Framework 3.0 + SP1<br />Windows Presentation Foundation<br />Windows Communication Foundation<br />Windows Workflow Foundation <br />Windows CardSpace<br />.NET Framework 2.0 + SP1<br />
  11. 11. Un peu d’histoire…<br />SP1<br />3.5<br />3.0<br />.NET 1.0<br />.NET 1.1<br />.NET 2.0<br />.NET 4<br />2002<br />2003<br />2008 CTP<br />2005-08<br />CLR 1.0<br />CLR 1.1<br />CLR 2.0<br />CLR 4<br />
  12. 12. Le .NET Framework<br />WPF<br />Win Forms<br />DLR<br />ASP.NET<br />WCF<br />And more!<br />LINQ<br />Base Class Libraries<br />The CLR<br />JIT & NGEN<br />Garbage Collector<br />Security Model<br />Exception Handling<br />Loader & Binder<br />
  13. 13. Applications Client<br />Applications Web<br />WPF 4<br />MEF<br />Web Forms 4<br />AJAX 4<br />Client/Server<br />WCF 4<br />
  14. 14. Les Bases…<br />Parallel Computing<br />Data Access<br />Runtime<br />DLR Integration<br />Type Equivalence<br />In-Process SxS<br />Task Parallel Library<br />Parallel LINQ<br />Entity Framework 4<br />Data Services 1.5<br />
  15. 15. Web Forms 4 - Client ID<br />1) User Control (No ID)<br />2) User Control (“HeaderForm”)<br />Control Hierarchy<br />3) Drop Down List (“States”)<br />Resulting Client IDs:<br />ctl00<br />ctl00_HeaderForm<br />ctl00_HeaderForm_States<br />
  16. 16. Web Forms 4 - Routing<br />ASP.NET Routing<br />Route:<br />Product/{name} -> Product.aspx<br />Request:<br />Products/Bikes<br />WebForms Page<br />File Name:<br />Product.aspx<br />Route Values:<br />Name = “Bikes”<br />Response<br />
  17. 17. ASP.NET Web Forms 4Client Id / Routing<br />
  18. 18. WPF 4<br />Data Grid<br />Ribbon<br />Multi-Touch<br />Windows 7 Enhancements<br />
  19. 19. Managed Extensibility Framework?<br />The Managed Extensibility Framework (MEF) is a new libraryin 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<br />
  20. 20. Open/Closed Principle<br />Software entities should be <br />open for extension, <br />but closed for modification.<br />
  21. 21. Known vs. Unknown<br />
  22. 22. Client ApplicationsWPF 4 DataGrid / MEF<br />
  23. 23. Entity Framework 4<br />Model-First <br />POCO<br />Lazy Loading<br />Foreign Keys<br />
  24. 24. A lot of new for WF/WCF 4<br />XAML-only workflows are the new default<br />Unified model between WF, WCF, and WPF<br />Extended base activity library<br />Simplified WF programming model<br />Support for arguments, variables, expressions<br />Major improvements to WCF integration<br />Runtime and designer improvements<br />Service discovery for WCF<br />Hosting & management via "Dublin“<br />
  25. 25. ADO.NET Data Services 1.5<br />Server Enhancements<br />Row count<br />Server-side paging<br />Friendly feeds<br />BLOB streams<br />Client Enhancements<br />Row Count<br />WPF/SL data binding<br />
  26. 26. ADO.NET Data ServicesRow Count andServer-Side Paging<br />
  27. 27. Parallel Computing Initiative<br />Avant:Horloges plus rapides<br />Maintenant:<br />Plus de coeurs<br />Fini de rigoler!<br />
  28. 28. The Parallel Computing Initiative<br />Letting the brightest developers solve business problems, not concurrency problems.<br />”Concurrency for the masses”<br />
  29. 29. Parallel Computing with .NET 4<br />Task Parallel Library (TPL)<br />Parallel LINQ (PLINQ)<br />Coordination Data Structures (CDS)<br />System.Threading Improvements<br />
  30. 30. Parallel LINQ<br />Parallel LINQ (PLINQ)enables developers to easily leverage manycore with a minimal impactto existing LINQ programming model<br />var q = from p in people<br />        where p.Name == queryInfo.Name && <br />p.State == queryInfo.State &&<br />p.Year >= yearStart &&<br />p.Year <= yearEnd<br />        orderbyp.Year ascending<br />        select p;<br />.AsParallel()<br />
  31. 31. Parallel ComputingParallel LINQ (PLINQ)<br />
  32. 32. Dynamically-Typed<br />Ruby<br />Python<br />Statically-Typed<br />VB<br />C#<br />Common Language Runtime<br />Why the DLR?<br />
  33. 33. Dynamically-Typed<br />Ruby<br />Python<br />Statically-Typed<br />VB<br />Dynamic Language Runtime<br />C#<br />Common Language Runtime<br />Why the DLR?<br />
  34. 34. .NET Dynamic Programming<br />IronPython<br />IronRuby<br />C#<br />VB.NET<br />Others…<br />Dynamic Language Runtime<br />Expression Trees<br />Dynamic Dispatch<br />Call Site Caching<br />PythonBinder<br />RubyBinder<br />COMBinder<br />JScriptBinder<br />ObjectBinder<br />
  35. 35. Dynamically Typed Objects<br />Calculator calc = GetCalculator();<br />int sum = calc.Add(10, 20);<br />object calc = GetCalculator();<br />TypecalcType = calc.GetType();<br />object res = calcType.InvokeMember("Add",<br />BindingFlags.InvokeMethod, null,<br />newobject[] { 10, 20 });<br />int sum = Convert.ToInt32(res);<br />ScriptObject calc = GetCalculator();<br />object res = calc.Invoke("Add", 10, 20);<br />int sum = Convert.ToInt32(res);<br />Statically typed to be dynamic<br />dynamic calc = GetCalculator();<br />int sum = calc.Add(10, 20);<br />Dynamic method invocation<br />Dynamic conversion<br />
  36. 36. DLR Integration<br />
  37. 37. Type Equivalence<br />Interop Assemblies translate between managed code and COM<br />For each interface, struct, enum, <br />delegate, and member, contains a <br />managed equivalent with marshalling data<br />
  38. 38. However!<br />Primary Interop Assemblies cause many pain points…<br />
  39. 39. Go Away, PIA!<br />Compilers embedthe portions of the interop assemblies that the add-ins actually use<br />Runtime ensures the embedded definitions of these types are considered equivalent<br />
  40. 40. CLR 4Type Equivalence<br />
  41. 41. .NET Framework Compatibility<br />.NET 4.0 is a highly compatible release<br />.NET 4.0 does not auto–roll forward<br />You must add a configuration file with a specific switch to get 3.5 apps to run on 4.0<br />
  42. 42. .NET Framework Compatibility<br />Hang on… if 4.0 is compatible, why not run 3.5 apps automatically on 4.0?<br />The BEST thing is always to prefer running on the version of the framework you built against<br />
  43. 43. CLR 2 - Existing Side-By-Side<br />2.0 add-in<br />3.0 add-in<br />3.5 add-in<br />1.1 add-in<br />3.5<br />.NET 1.1<br />3.0<br />.NET 2.0<br />Host Process (i.e. Outlook)<br />
  44. 44. CLR 4 - In-Process Side-By-Side<br />2.0 add-in<br />3.0 add-in<br />3.5 add-in<br />4.0 add-in<br />3.5<br />.NET 4.0<br />3.0<br />.NET 2.0<br />Host Process (i.e. Outlook)<br />
  45. 45. Visual Studio 2010 Training Kit<br />Download at http://tinyurl.com/vs2010trainingkit<br />
  46. 46.
  47. 47. Windows Phone 7<br />
  48. 48. Silverlight<br />Modern application UI framework & runtime<br />Rapid creation of visually stunning apps<br />METRO themed UI controls, defined in XAML<br />XAML, C#, HTML & JavaScript<br />500,000 developers spanning Windows and Web<br />Rich media support<br />
  49. 49. Developer tools<br />
  50. 50. http://www.microsoft.com/visualstudio/en-us/lightswitch<br />The simplest way to build business applications<br />for the desktop and cloud.<br />
  51. 51. Data<br />Business Applications<br />+<br />=<br />Screens<br />
  52. 52. ETUDIANTS.MS Les initiatives de Microsoft pour les étudiants<br />
  53. 53. SUR LE WEB<br />Bons plans / Réductions spéciales étudiants<br /><ul><li>Windows 7 à 35€
  54. 54. Office 2010 à 69€
  55. 55. Souris et Clavier Arc
  56. 56. XBOX (et bientôt Kinect)
  57. 57. Plus de 20 logiciels en téléchargement gratuit : OneNote, Project, …</li></ul>Toutes les infos pour trouver le job ou stage de vos rêves<br /><ul><li>Plus de 150 offres de stages et apprentissages en Vente, Technique et Marketing
  58. 58. Offres d’emploi du programme MACH pour jeunes diplômés
  59. 59. Conseils de la RH
  60. 60. Témoignages de Microsoftees et fiches métier</li></ul>Toutes les ressources pour monter vos projets<br /><ul><li>Démo des projets étudiants sur pc, web, mobile et dans le cloud
  61. 61. Conseils et outils pour démarrer vos projets
  62. 62. Découverte des projets de Microsoft Research</li></ul>Gagnez un voyage à New York grâce au concours Imagine Cup<br /><ul><li>Concours international
  63. 63. 5 catégories : Digital Media, Software Design, Game Design, IT Challenge, Embedded Development
  64. 64. Plus de 100 000€ à gagner</li></li></ul><li>POUR NE RIEN MANQUER…<br />La newsletter etudiants.ms<br />http://www.facebook.com/AfterClassMicrosoft<br />http://twitter.com/EtudiantsMS<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×