.NET Framework<br />… v3.0, v3.5, v4.0<br />Bijoy Singhal<br />Developer Evangelist<br />Microsoft India<br />
Developer’s Wish List…<br />Easy to translate requirement into code<br />Easy to locate and fix issues<br />Easy manageabi...
Top considerations of framework design<br />Making Languages more productive<br />Providing APIs for complex patterns<br /...
Key Areas of the Framework<br />
A Look Back…<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 />200...
Additions to the Framework…<br />
What Is The .NET Framework?<br />WPF<br />Win Forms<br />DLR<br />ASP.NET<br />WCF<br />And more!<br />LINQ<br />Base Clas...
.NET Framework 4.0<br />User Interface<br />Data Access<br />Services<br />Windows Presentation Foundation<br />ASP.NET<br...
The goal of CLR 4.0<br />Working Better Together…<br />Faster…<br />With Fewer Bugs…<br />In-Proc SxS<br />Managed Extensi...
.NET 4.0<br />http://brad_abrams.members.winisp.net/Projects/PDC2008/DotNet4Poster/DotNetFramework4PosterDeepZoom.htm<br />
Parallel Computing<br />Task Parallel Library (TPL)<br />Imperative Task Parallelism<br />Work-Stealing Algorithm for maxi...
Managed Extensibility Framework - Summary<br />System.ComponentModel.Composition<br />MEF Core Components:<br />Catalog<br...
Code Contracts - Summary<br />Foundation<br />Design by contract<br />Based on MSR’s SPEC#<br />What does it bring?<br />I...
Garbage Collection - Summary<br />Server Garbage Collection <br />Algorithm maximizes overall throughput – fast – but all ...
Garbage Collection - Summary<br />Definite improvement in performance and scalability of the application<br />Lesser chanc...
Dynamic Language Support<br />Dynamic keyword: <br />mark a property or variable as dynamic at compile time. <br />at runt...
Dynamic in .NET 4.0  - Summary<br />Dynamic Language Runtime<br />Added dynamism to .NET <br />Added runtime type checking...
ASP.NET 4.0<br />ASP.NET MVC<br />Separation of Concerns, Testability<br />High control over market up<br />ASP.NET Dynami...
More Web Goodies…  <br />ADO.NET Data Services<br />REST based exposure of relational data<br />Ability to go “offline”<br...
Some other interesting Enhancements<br />CLR Enhancement<br />Side by Side In Process runtime (CLR)<br />Use ClrVer to see...
Feedback / QnA<br />Your Feedback is Important!<br />Please take a few moments to fill out our feedback form<br />
Contact<br />Blog Address<br />	http://blogs.msdn.com/bsinghal<br />Email Address<br />	bsinghal@microsoft.com<br />
Bijoy Singhal<br />bsinghal@microsoft.com<br />Abhishek Baxi<br />abby@baxiabhishek.info<br />Rishu Mehra<br />rishumehra@...
<ul><li>2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or ...
Upcoming SlideShare
Loading in...5
×

.net Framework

816

Published on

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
816
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
36
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide
  • Windows Server includes key application server functionality directly in the operating system including distributed transactions, message queuing, a Web server and Web services, communications, workflow, and management. Complemented by the .NET Framework and Visual Studio, Windows Server is one of the leading application servers in the market today.
  • Could you explain this What it want to say.
  • What is NGEN & Loader & binder?
  • Parallel ExtensionsWe worked with the Parallel Extensions team to add the Task Parallel Library (TPL), Coordination Data Structures, and Parallel LINQ (PLINQ) to the BCL in .NET 4.0.  This includes an improved ThreadPool scheduling algorithm for tasks, the static Parallel class, concurrent collections in System.Collections.Concurrent, and other coordination data structures such as LazyInit<T>, CountdownEvent, Barrier, SemaphoreSlim, SpinLock, SpinWait, and ManualResetEventSlim. More information is available over at the PFX team’s blog.  Also, check out Daniel Moth’s PDC session on Parallel Programming for Managed Developers with the Next Version of Microsoft Visual Studio.
  • Dynamic Language Support: In the industry see more and more use of dynamic languages such as Ruby and Python by the developer community. I still believe that static typing provides a very important safety net, but on the other hand some tasks are just done much more efficiently done in dynamic languages. Therefore I am very excited about the fact that C# will incorporate dynamic language features in its next version. C# will provide a dynamic keyword which will mark a property or variable as dynamic at compile time. Nevertheless, at runtime the corresponding static type will be assigned to that entity, see the example code below.Declarative Programming: In many ways we over specify our programs by using imperative programming techniques. This not only makes it tedious to program software but also makes it hard for the compiler to catch the intentions of the program in order for it to do optimizations (such as parallel execution). With LinQ and functional programming elements included in the C# language  it is possible to declaratively specify the intention of the code which allow the compiler to optimize more intelligently. http://channel9.msdn.com/pdc2008/TL10/
  • .net Framework

    1. 1. .NET Framework<br />… v3.0, v3.5, v4.0<br />Bijoy Singhal<br />Developer Evangelist<br />Microsoft India<br />
    2. 2. Developer’s Wish List…<br />Easy to translate requirement into code<br />Easy to locate and fix issues<br />Easy manageability and future proofing<br />Easy handling of<br />Data<br />Business Logic<br />User Interface<br />Easy handling of<br />Security<br />Performance<br />Scalability<br />
    3. 3. Top considerations of framework design<br />Making Languages more productive<br />Providing APIs for complex patterns<br />Caching<br />Add-ins<br />Concurrency<br />Synchronization<br />Scaffolding<br />Deployment<br />Powerful Tools<br />.NET SDK Tools<br />Visual Studio<br />
    4. 4. Key Areas of the Framework<br />
    5. 5. A Look Back…<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 />
    6. 6. Additions to the Framework…<br />
    7. 7. What Is The .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 />
    8. 8. .NET Framework 4.0<br />User Interface<br />Data Access<br />Services<br />Windows Presentation Foundation<br />ASP.NET<br />(WebForms, MVC, Dynamic Data)<br />Entity Framework<br />ADO.NET<br />Data Services<br />Windows Communication Foundation<br />WinForms<br />LINQ to SQL<br />Windows Workflow Foundation<br />Core<br />Base Class Library<br />Dynamic Language Runtime<br />Languages<br />Managed Extensibility Framework<br />LINQ<br />Parallel Extensions<br />Common Language Runtime<br />
    9. 9. The goal of CLR 4.0<br />Working Better Together…<br />Faster…<br />With Fewer Bugs…<br />In-Proc SxS<br />Managed Extensibility Framework<br />Native/Managed Interop<br />DLR Integration<br />Threading<br />Parallel Extensions<br />Garbage Collection<br />Profiling<br />Code Contracts<br />Debugging<br />Corrupted State Exceptions<br />
    10. 10. .NET 4.0<br />http://brad_abrams.members.winisp.net/Projects/PDC2008/DotNet4Poster/DotNetFramework4PosterDeepZoom.htm<br />
    11. 11. Parallel Computing<br />Task Parallel Library (TPL)<br />Imperative Task Parallelism<br />Work-Stealing Algorithm for maximum efficiency<br />Higher-level abstraction (no more Thread knowledge necessary)<br />Parallel Linq (PLINQ)<br />Declarative Data Parallelism (focus on the *what*, not the *how*)<br />Simple Parallelism via Linq-To-Objects<br />Coordination Data Structures (CDS)<br />Common structures to help with parallelism tasks<br />
    12. 12. Managed Extensibility Framework - Summary<br />System.ComponentModel.Composition<br />MEF Core Components:<br />Catalog<br />Discovers and maintain extensions<br />CompositionContainer<br />Coordinate creations and satisfy dependencies<br />ComposablePart<br />Offer one or more exports<br />May depend on imports for extension it uses<br />Create reusable components<br />Easy declaration/consumption of extensibility points<br />Watching a specific directory for new extensions<br />No need to create infrastructure from scratch<br />MEF is dynamically composed<br />
    13. 13. Code Contracts - Summary<br />Foundation<br />Design by contract<br />Based on MSR’s SPEC#<br />What does it bring?<br />Improved testability<br />Static verification<br />API Documentation<br />How does it help?<br />Guarantee obligations on entry (parameter validations)<br />Guarantee property at exit (return value range)<br />Maintain property during execution (object invariance)<br />
    14. 14. Garbage Collection - Summary<br />Server Garbage Collection <br />Algorithm maximizes overall throughput – fast – but all managed code has to be paused while it runs.<br />In CLR 4.0, you can be notified before <br /> a Gen 2/ Large Object Heap collection. <br />Useful when you can do load balancing.<br />Workstation Garbage Collection<br />CLR 2.0:<br />Can do most, but not all, of a Generation 2 collection without pausing managed code<br />New allocations go on ephemeral segment <br />But can’t do Gen0 and Gen1 at same time as Gen2. <br />New in CLR 4.0, we have Background Collection<br />Background Collection can do a Gen0 or Gen1 while doing Gen2<br />Only unusual circumstances now lead to long latency<br />
    15. 15. Garbage Collection - Summary<br />Definite improvement in performance and scalability of the application<br />Lesser chance of getting OutOfMemoryException<br />Application health is optimum at all times.<br />Optimum consumption of the processing power.<br />On the server side you can load balance your application usingGCNotifications. <br />Nothing really prevents your from using GCNotifications on workstations.<br />
    16. 16. Dynamic Language Support<br />Dynamic keyword: <br />mark a property or variable as dynamic at compile time. <br />at runtime the corresponding static type will be assigned to that entity.<br />Dynamic Language Runtime<br />Interoperate and interact with the CLR using dynamic languages<br />Get the power of .NET for dynamic languages<br />
    17. 17. Dynamic in .NET 4.0 - Summary<br />Dynamic Language Runtime<br />Added dynamism to .NET <br />Added runtime type checking<br />Full support for IronRuby, IronPython<br />Dynamic Dispatch<br />Introduced new type – dynamic<br />Compiler merely packages information and defers binding to runtime<br />Uses IDispatch interface<br />Create your own dynamic types using:<br />DynamicObject or IDynamicMetaObjectProvider<br />
    18. 18. ASP.NET 4.0<br />ASP.NET MVC<br />Separation of Concerns, Testability<br />High control over market up<br />ASP.NET Dynamic Data support for MVC<br />Easily Create Custom controls and views based on data base<br />ASP.NET better CSS and ID<br />
    19. 19. More Web Goodies… <br />ADO.NET Data Services<br />REST based exposure of relational data<br />Ability to go “offline”<br />ASP.NET AJAX<br />JavaScript UI Templates and Data-binding<br />AJAX Control Toolkit Enhancements <br />Client-side controls<br />DOM selection, manipulation and animation<br />Addition of jQuery<br />
    20. 20. Some other interesting Enhancements<br />CLR Enhancement<br />Side by Side In Process runtime (CLR)<br />Use ClrVer to see more.<br />BCL Enhancements<br />BigInteger<br />Arbitrary length integer supporting all mathematical operations. <br />Tuples<br />Sequence of finite length<br />System.Lazy&lt;T&gt;<br />Framework implements the pattern; Developer uses it.<br />
    21. 21. Feedback / QnA<br />Your Feedback is Important!<br />Please take a few moments to fill out our feedback form<br />
    22. 22. Contact<br />Blog Address<br /> http://blogs.msdn.com/bsinghal<br />Email Address<br /> bsinghal@microsoft.com<br />
    23. 23. Bijoy Singhal<br />bsinghal@microsoft.com<br />Abhishek Baxi<br />abby@baxiabhishek.info<br />Rishu Mehra<br />rishumehra@merawindows.com<br />http://delhiitpro.groups.live.com<br />http://delhidevs.com<br />
    24. 24. <ul><li>2006 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.</li>
    1. A particular slide catching your eye?

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

    ×