Download presentation
Presentation is loading. Please wait.
Published byDonald Gibbs Modified over 9 years ago
2
Scott Hanselman Principal Program Manager Microsoft DTL303
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
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
17
ASP.NET Web Forms 4 Client Id / Routing Scott Hanselman Principal Program Manager Microsoft
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
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
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”
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
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.