1 / 39

Silverlight 2 CoreCLR

Silverlight 2 CoreCLR. Bringing the power of .NET to the net. Andrew Pardoe, Common Language Runtime. Agenda. Programming with the Silverlight 2 .NET Framework is the right client-side solution for the web. Agenda.

feivel
Télécharger la présentation

Silverlight 2 CoreCLR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Silverlight 2 CoreCLR Bringing the power of .NET to the net • Andrew Pardoe, Common Language Runtime

  2. Agenda • Programming with the Silverlight 2 .NET Framework is the right client-side solution for the web

  3. Agenda • Programming with the Silverlight 2 .NET Framework is the right client-side solution for the web • We did some really cool things to make .NET programming fit web scenarios

  4. Agenda • Programming with the Silverlight 2 .NET Framework is the right client-side solution for the web • We did some really cool things to make .NET programming fit web scenarios • The web application model makes some unfamiliar .NET features shine

  5. A quick introduction to Silverlight 2

  6. 20 years of progress

  7. Silverlight is different • What’s wrong with existing Web technologies? • They require specialized knowledge • They have weak development tool support • Silverlight uses your existing .NET skills • .NET is the world’s most popular platform • WPF enables rich, reusable UI design • Use the world’s best development tools • Visual Studio • Expression Studio

  8. Silverlight offers... • Rich, interactive applications • Silverlight 2 features • Adaptive streaming of VC-1 high-def video • Animation, vector graphics, scalable text • Silverlight 3 features • H.264 high-def video support • 3D graphics & GPU acceleration • Broad customer reach • Fast, simple install • Cross-platform support

  9. Netflix “Watch Now”

  10. DEMO Silverlight Chess

  11. Bringing .NET to the net

  12. Three themes • Smaller • Simple application deployment • Subset of desktop that targets the web • More secure • Silverlight offers unrivaled security • Consistent and compatible • You can reuse your desktop skills for the web application models

  13. Web development • Design and development • WPF provides a better workflow through a clean interface separating development from design • Deployment • Simplified deployment: just create a .XAP and link to it from your web page • The rest of the CLR is the same

  14. XAML • eXtensible Application Markup Language • Declarative language describes user interface • UI elements map directly to .NET objects • Created with Expression Blend • Visual Studio contains a WPF designer (“Cider”)

  15. XAML • eXtensible Application Markup Language • Declarative language describes user interface • UI elements map directly to .NET objects • Created with Expression Blend • Visual Studio contains a WPF designer (“Cider”)

  16. Design with Cider

  17. Developer != Designer • Cider is targeted to developers • Toolbox of XAML controls • Gridlines, zoom, split screen • Use Cider to define the interface between functional code and UI elements • x:Name names a object that C# can use • Event handlers hook up actions to functions

  18. Hosting CoreCLR NPCtrl.dll: Hosted in the browser through ActiveX AGCore.dll: Silverlight Presentation Foundation XAML CoreCLR.dll MSCorLib.dll: .NET Framework for Silverlight System.*.dll

  19. Sandboxed execution • Silverlight applications execute in a sandbox • One AppDomain per .XAP • AppDomainManager controlled by Silverlight • Communicate through the HTML DOM

  20. Application models • .NET for Silverlight is the same across desktop and browser application models • Managed languages are the same • WPF and BCL are subsets of the desktop • CoreCLR is the same as the desktop CLR • JIT focuses on startup time • GC runs in interactive (non-server) mode

  21. DEMO Porting between browser and desktop

  22. So what’s different? • Execution engine is 100% compatible • Tuned for interactive applications • BCL (and WPF) are subsets of the desktop • Some things not applicable on the web • Code Access Security removed • No support for full-trust scenarios • APIs consistent across application models

  23. Mac OS X support CoreCLR, MSCorLib, and other platform assemblies perform system calls Platform Adaptation Layer Mac OS X (Darwin) Win32

  24. CoreCLR is... • Smaller • Exposes the subset of functionality that makes sense for the web application model • More secure • Web applications are partial trust • Consistent and compatible • Reuse your existing skills across desktop and web application models

  25. Unfamiliar features that you will love

  26. File system access

  27. Accessing storage

  28. Increasing storage

  29. Defense in depth

  30. Silverlight integration

  31. Transparent code • Security Transparency model replaces CAS • Code is divided into three groups • Transparent code cannot perform actions requiring escalated privilege • Security Critical code does all work requiring escalated privilege • Transparent code cannot call Security Critical code directly

  32. SafeCritical code Transparent User code wants to write to a file on disk [SafeCritical]Validates that request is safe and appropriate [SecurityCritical] Platform code (full-trust) calls Win32 functions

  33. In-process side by side • CLR has never been able to run side by side with itself in a single process • CoreCLR is not intended to replace desktop • If we want to run in a managed browser, we need InprocSxS • You don’t need to worry about a CLR being installed on the user’s machine

  34. DEMO CoreCLR and desktop CLR in one process

  35. DLR • Dynamic Language Runtime brings • IronPython • IronRuby • DLR services are usable by any language • Dynamic type system • Dynamic method dispatch • Dynamic code generation

  36. DEMO DLR Console

  37. What you’ve learned Silverlight .NET Framework is the right choice for client-side web applications • You already know how to code against the Silverlight 2 .NET Framework • The libraries are targeted toward the browser application model • Silverlight is small, fast and secure

  38. Other sessions Interesting talks today: • 14:30 – 15:45 Contracts, Pex and CHESS • 16:15 – 17:30 Silverlight Controls Skinning Fx • 17:45 – 19:00 Windows 7 for developers • Interesting talks tomorrow: • 10:45 – 12:00 LINQ in breadth • 13:00 – 14:15 LiveCoding Silverlight and WPF • 11:00 – 12:00 Code Contracts, Pex and CHESS • 17:45 – 19:00 .NET CLR v4

  39. Questions? More questions? mailto://Andrew.Pardoe@microsoft.com Silverlight – Get Started http://silverlight.net/GetStarted/ Great CLR blogs on MSDN http://blogs.msdn.com/clrteam CLR blog links to other great CLR team blogs Scott Guthrie’s blog http://weblogs.asp.net/scottgu Where to find these slides http://blogs.msdn.com/apardoe

More Related