Presentation is loading. Please wait.

Presentation is loading. Please wait.

Scott Hanselman Principal Program Manager Microsoft DTL303.

Similar presentations


Presentation on theme: "Scott Hanselman Principal Program Manager Microsoft DTL303."— Presentation transcript:

1

2 Scott Hanselman Principal Program Manager Microsoft DTL303

3

4 Send #scottha is cool #scottha is not cool How am I doing? Send #scottha hello Let me know you’re here! This session on Twitter

5

6

7

8

9

10

11 What This Is

12 What This Is NOT

13 If I’m Lucky

14 A Look Back….NET 1.0.NET 1.1.NET 2.0 3.0 3.5.NET 4 200220032009 CTP2005-08 CLR 1.0 CLR 1.1 CLR 2.0 CLR 4 SP1

15 Web Forms 4 - Client ID

16

17 ASP.NET Web Forms 4 Client Id / Routing Scott Hanselman Principal Program Manager Microsoft

18

19 AJAX 4 - Client Templates Server-Side (WebForms): Client-Side {{ Name }}

20 AJAX 4 - DataContext ASMXASMX WCFWCF ADO.NET Data Services ADO.NET ASP.NET MVC JsonResult JsonResult Etc.Etc. 1. Request 2. JSON Data DataContextDataContext 3. Modify Data 4. Save Data * DataContext includes change tracking automatically

21 ASP.NET AJAX 4 Client Templates / DataContext Scott Hanselman Principal Program Manager Microsoft

22 WPF 4 Data Grid Ribbon Multi-Touch Windows 7 Enhancements

23

24

25 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

26

27 Open/Closed Principle Software entities should be open for extension, but closed for modification.

28 Known vs. Unknown

29 Client Applications WPF 4 DataGrid / MEF Scott Hanselman Principal Program Manager Microsoft

30 The Parallel Computing Initiative Letting the brightest developers solve business problems, not concurrency problems. “Concurrency for the masses”

31

32 Parallel Computing with.NET 4 Task Parallel Library (TPL) Parallel LINQ (PLINQ) Coordination Data Structures (CDS) System.Threading Improvements

33 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; 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;

34 Parallel Computing Parallel LINQ (PLINQ ) Scott Hanselman Principal Program Manager Microsoft

35 Common Language Runtime Statically-Typed C# VB Ruby Python Dynamically-Typed Why the DLR?

36 Common Language Runtime Statically-Typed C# VB Ruby Python Dynamically-Typed Dynamic Language Runtime Why the DLR?

37 Python Binder Ruby Binder COM Binder Runtime Binder.NET Dynamic Programming Dynamic Language Runtime Expression Trees Dynamic Dispatch Call Site Caching Iron Python IronRubyIronRubyC#C#VB.NETVB.NETOthers…Others…

38 DLR Integration Scott Hanselman Principal Program Manager Microsoft

39 Dynamically Typed Objects Calculator calc = GetCalculator(); int sum = calc.Add(10, 20); 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); 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); ScriptObject calc = GetCalculator(); object res = calc.Invoke("Add", 10, 20); int sum = Convert.ToInt32(res); dynamic calc = GetCalculator(); int sum = calc.Add(10, 20); dynamic calc = GetCalculator(); int sum = calc.Add(10, 20); Statically typed to be dynamic Dynamic method invocation Dynamic conversion

40 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

41 However! Primary Interop Assemblies cause many pain points…

42 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

43 CLR 4 Type Equivalence Scott Hanselman Principal Program Manager Microsoft

44

45 .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

46 .NET Framework Compatibility Hang 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 Contact netfxcf@microsoft.com and submit your app for testing!netfxcf@microsoft.com

47 CLR 2 - Existing Side-By-Side Host Process (i.e. Outlook).NET 2.0 2.0 add-in 3.03.0 3.53.5 3.0 add-in 3.5 add-in 1.1 add-in.NET 1.1

48 CLR 4 - In-Process Side-By-Side.NET 2.0.NET 4.0 2.0 add-in 3.03.0 3.53.5 Host Process (i.e. Outlook) 3.0 add-in 3.5 add-in 4.0 add-in

49

50 CLR 4 In-Process Side-By-Side Scott Hanselman Principal Program Manager Microsoft

51 Related Content Breakout Sessions WUX201 – ASP.NET Web Forms 4 WUX315 – ASP.NET AJAX 4 DTL06-INT – Parallel Computing DTL328 – Managed Extensibility Framework WUX204 – WPF 4 SOA401 – WorkFlow 4 DTL401 – Entity Framework 4

52 www.microsoft.com/teched Sessions On-Demand & Community http://microsoft.com/technet Resources for IT Professionals http://microsoft.com/msdn Resources for Developers www.microsoft.com/learning Microsoft Certification & Training Resources Resources Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online. Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online. www.microsoft.com/learning Microsoft Certification and Training Resources

53 Track Resources Visit the DPR TLC for a chance to win a copy of Visual Studio Team Suite. Daily drawing occurs every day in the TLC at 4:15pm. Stop by for a raffle ticket. http://www.microsoft.com/visualstudio http://www.microsoft.com/visualstudio/en-us/products/teamsystem/default.mspx Please visit us in the TLC blue area.

54 Be well, write good code, and stay in touch scottha@microsoft.com http://hanselman.com @shanselman on Twitter

55 Complete an evaluation on CommNet and enter to win! Required Slide

56 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Required Slide


Download ppt "Scott Hanselman Principal Program Manager Microsoft DTL303."

Similar presentations


Ads by Google