silverlight 2 coreclr
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/1.jpg)
Silverlight 2 CoreCLRBringing the power of .NET to the net
Andrew Pardoe, Common Language Runtime
![Page 2: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/2.jpg)
• Programming with the Silverlight 2 .NET Framework is the right client-side solution for the web
Agenda
![Page 3: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/3.jpg)
• 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
Agenda
![Page 4: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/4.jpg)
• 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
Agenda
![Page 5: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/5.jpg)
A quick introduction to Silverlight 2
![Page 6: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/6.jpg)
20 years of progress
![Page 7: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/7.jpg)
Silverlight is differentWhat’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
![Page 8: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/8.jpg)
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
![Page 9: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/9.jpg)
Netflix “Watch Now”
![Page 10: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/10.jpg)
DEMOSilverlight Chess
![Page 11: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/11.jpg)
Bringing .NET to the net
![Page 12: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/12.jpg)
Three themesSmaller• 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
![Page 13: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/13.jpg)
Web developmentDesign 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 pageThe rest of the CLR is the same
![Page 14: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/14.jpg)
XAMLeXtensible 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”)
![Page 15: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/15.jpg)
XAMLeXtensible 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”)
![Page 16: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/16.jpg)
Design with Cider
![Page 17: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/17.jpg)
Developer != DesignerCider 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
![Page 18: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/18.jpg)
Hosting CoreCLR
NPCtrl.dll: Hosted in the browser through ActiveX
AGCore.dll: Silverlight Presentation Foundation
CoreCLR.dllMSCorLib.dll: .NET Framework for SilverlightSystem.*.dll
XAML
![Page 19: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/19.jpg)
Sandboxed executionSilverlight applications execute in a sandbox• One AppDomain per .XAP• AppDomainManager controlled by Silverlight
Communicate through the HTML DOM
![Page 20: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/20.jpg)
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
![Page 21: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/21.jpg)
DEMOPorting between browser and desktop
![Page 22: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/22.jpg)
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
![Page 23: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/23.jpg)
Mac OS X support
CoreCLR, MSCorLib, and other platform
assembliesperform system calls
Platform Adaptation
LayerMac OS X (Darwin)
Win32
![Page 24: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/24.jpg)
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
![Page 25: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/25.jpg)
Unfamiliar features that you will love
![Page 26: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/26.jpg)
File system access
![Page 27: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/27.jpg)
Accessing storage
![Page 28: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/28.jpg)
Increasing storage
![Page 29: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/29.jpg)
Defense in depth
![Page 30: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/30.jpg)
Silverlight integration
![Page 31: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/31.jpg)
Transparent codeSecurity Transparency model replaces CASCode 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
![Page 32: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/32.jpg)
SafeCritical code
Transparent User code wants to write to a file on disk
[SecurityCritical] Platform code (full-trust) calls Win32 functions
[SafeCritical]Validates that request is safe and appropriate
![Page 33: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/33.jpg)
In-process side by sideCLR has never been able to run side by
side with itself in a single processCoreCLR is not intended to replace
desktop• If we want to run in a managed browser,
we need Inproc SxS• You don’t need to worry about a CLR
being installed on the user’s machine
![Page 34: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/34.jpg)
DEMOCoreCLR and desktop CLR in one process
![Page 35: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/35.jpg)
DLRDynamic Language Runtime brings • IronPython• IronRuby
DLR services are usable by any language• Dynamic type system• Dynamic method dispatch• Dynamic code generation
![Page 36: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/36.jpg)
DEMODLR Console
![Page 37: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/37.jpg)
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
What you’ve learned
![Page 38: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/38.jpg)
Other sessions
Interesting talks today:14:30 – 15:45 Contracts, Pex and CHESS16:15 – 17:30 Silverlight Controls Skinning Fx17:45 – 19:00 Windows 7 for developers
Interesting talks tomorrow:10:45 – 12:00 LINQ in breadth13:00 – 14:15 LiveCoding Silverlight and WPF11:00 – 12:00 Code Contracts, Pex and CHESS17:45 – 19:00 .NET CLR v4
![Page 39: Silverlight 2 CoreCLR](https://reader030.vdocument.in/reader030/viewer/2022033022/5681601c550346895dcf1bd1/html5/thumbnails/39.jpg)
Questions?More questions?
mailto://[email protected] – Get Started
http://silverlight.net/GetStarted/Great CLR blogs on MSDN
http://blogs.msdn.com/clrteamCLR blog links to other great CLR team blogs
Scott Guthrie’s bloghttp://weblogs.asp.net/scottgu
Where to find these slideshttp://blogs.msdn.com/apardoe