Download presentation
Presentation is loading. Please wait.
Published byNoelia Turnbull Modified over 9 years ago
1
Silverlight 2 CoreCLR Bringing the power of.NET to the net Andrew Pardoe, Common Language Runtime
2
Programming with the Silverlight 2.NET Framework is the right client-side solution for the web Agenda
3
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
4
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
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
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
13
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”)
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
Design with Cider
16
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
17
Hosting CoreCLR NPCtrl.dll: Hosted in the browser through ActiveX AGCore.dll: Silverlight Presentation Foundation CoreCLR.dll MSCorLib.dll:.NET Framework for Silverlight System.*.dll XAML
18
Sandboxed execution Silverlight applications execute in a sandbox One AppDomain per.XAP AppDomainManager controlled by Silverlight Communicate through the HTML DOM
19
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
20
DEMO Porting between browser and desktop
21
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
22
Mac OS X support CoreCLR, MSCorLib, and other platform assemblies perform system calls Platform Adaptation Layer Mac OS X (Darwin) Win32
23
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
24
Unfamiliar features that you will love
25
File system access
26
Accessing storage
27
Increasing storage
28
Defense in depth
29
Silverlight integration
30
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
31
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
32
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 Inproc SxS You don’t need to worry about a CLR being installed on the user’s machine
33
DEMO CoreCLR and desktop CLR in one process
34
DLR Dynamic Language Runtime brings IronPython IronRuby DLR services are usable by any language Dynamic type system Dynamic method dispatch Dynamic code generation
35
DEMO DLR Console
36
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
37
Other sessions Silverlight liiketoimintasovelluksissa 17:30 – 18:30 5.3.2009 An Introduction to F# 09:30 – 10:30 6.3.2009 Code Contracts, Pex and CHESS 11:00 – 12:00 6.3.2009.NET Common Language Runtime 4 16:00 – 17:00 6.3.2009
38
Questions? More questions? mailto://Andrew.Pardoe@microsoft.com 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 http://blogs.msdn.com/clrteam Scott Guthrie’s blog http://weblogs.asp.net/scottgu http://weblogs.asp.net/scottgu Where to find these slides http://blogs.msdn.com/apardoe
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.