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

Silverlight 2 CoreCLR

  • Upload
    deepak

  • View
    48

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Silverlight 2 CoreCLR

Silverlight 2 CoreCLRBringing the power of .NET to the net

Andrew Pardoe, Common Language Runtime

Page 2: Silverlight 2 CoreCLR

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

Agenda

Page 3: Silverlight 2 CoreCLR

• 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

• 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

A quick introduction to Silverlight 2

Page 6: Silverlight 2 CoreCLR

20 years of progress

Page 7: Silverlight 2 CoreCLR

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

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

Netflix “Watch Now”

Page 10: Silverlight 2 CoreCLR

DEMOSilverlight Chess

Page 11: Silverlight 2 CoreCLR

Bringing .NET to the net

Page 12: Silverlight 2 CoreCLR

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 13: Silverlight 2 CoreCLR

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 14: Silverlight 2 CoreCLR

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

Design with Cider

Page 16: Silverlight 2 CoreCLR

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 17: Silverlight 2 CoreCLR

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 18: Silverlight 2 CoreCLR

Sandboxed executionSilverlight applications execute in a sandbox• One AppDomain per .XAP• AppDomainManager controlled by Silverlight

Communicate through the HTML DOM

Page 19: Silverlight 2 CoreCLR

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 20: Silverlight 2 CoreCLR

DEMOPorting between browser and desktop

Page 21: Silverlight 2 CoreCLR

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 22: Silverlight 2 CoreCLR

Mac OS X support

CoreCLR, MSCorLib, and other platform

assembliesperform system calls

Platform Adaptation

LayerMac OS X (Darwin)

Win32

Page 23: Silverlight 2 CoreCLR

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 24: Silverlight 2 CoreCLR

Unfamiliar features that you will love

Page 25: Silverlight 2 CoreCLR

File system access

Page 26: Silverlight 2 CoreCLR

Accessing storage

Page 27: Silverlight 2 CoreCLR

Increasing storage

Page 28: Silverlight 2 CoreCLR

Defense in depth

Page 29: Silverlight 2 CoreCLR

Silverlight integration

Page 30: Silverlight 2 CoreCLR

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 31: Silverlight 2 CoreCLR

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 32: Silverlight 2 CoreCLR

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 33: Silverlight 2 CoreCLR

DEMOCoreCLR and desktop CLR in one process

Page 34: Silverlight 2 CoreCLR

DLRDynamic Language Runtime brings • IronPython• IronRuby

DLR services are usable by any language• Dynamic type system• Dynamic method dispatch• Dynamic code generation

Page 35: Silverlight 2 CoreCLR

DEMODLR Console

Page 36: Silverlight 2 CoreCLR

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 37: Silverlight 2 CoreCLR

Other sessions

Silverlight liiketoimintasovelluksissa17:30 – 18:30 5.3.2009

An Introduction to F# 09:30 – 10:30 6.3.2009Code Contracts, Pex and CHESS 11:00 – 12:00 6.3.2009.NET Common Language Runtime 4 16:00 – 17:00 6.3.2009

Page 38: Silverlight 2 CoreCLR

Questions?More questions?

mailto://[email protected] 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 bloghttp://weblogs.asp.net/scottgu

Where to find these slideshttp://blogs.msdn.com/apardoe