Dynamic Silverlight  and a bit of Ruby
About me <ul><li>Tom Adriaenssen </li></ul><ul><li>Freelance Developer </li></ul><ul><li>.Net, PHP, websites, desktop apps...
Talking about <ul><li>Disclaimer  </li></ul><ul><li>CLR </li></ul><ul><li>DLR </li></ul><ul><li>Silverlight </li></ul><ul>...
CLR <ul><li>Common Language Runtime </li></ul><ul><li>Core of the .Net Framework </li></ul><ul><li>Created to support mult...
DLR <ul><li>Dynamic Language Runtime </li></ul><ul><li>Superset of the CLR </li></ul><ul><li>Dynamic language support </li...
DLR <ul><li>Available languages ATM: </li></ul><ul><ul><li>Visual Basic </li></ul></ul><ul><ul><li>Javascript/ecmascript <...
Silverlight <ul><li>The Evil Empire’s version of Flash </li></ul><ul><li>Not   equivalent to AIR </li></ul><ul><li>Runs in...
Silverlight 1.0 <ul><li>XAML (markup) + Javascript (code) </li></ul><ul><li>XAML = display </li></ul><ul><li>Browser = scr...
Silverlight 2.0 <ul><li>XAML (markup) + dll (code) </li></ul><ul><li>Previously  versioned 1.1  </li></ul><ul><ul><li>Stil...
Dynamic Silverlight <ul><li>Adds support for DLR languages to Silverlight </li></ul><ul><li>for end user = result is the s...
Demo <ul><li>VERY  BASIC Silverlight App </li></ul><ul><li>Demonstrates: </li></ul><ul><ul><li>Coded in Ruby (thanks to DL...
Upcoming SlideShare
Loading in …5
×

Dynamic Silverlight

1,909 views

Published on

BarcampGhent 2008 Presentation on Dynamic Language Support in Silverlight.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,909
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
70
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Dynamic Silverlight

  1. 1. Dynamic Silverlight and a bit of Ruby
  2. 2. About me <ul><li>Tom Adriaenssen </li></ul><ul><li>Freelance Developer </li></ul><ul><li>.Net, PHP, websites, desktop apps </li></ul><ul><li>My blogs: </li></ul><ul><ul><li>http://blog.blergh.be </li></ul></ul><ul><ul><li>http://codedump.blergh.be </li></ul></ul><ul><ul><li>http://www.inferis.org/kindjes (shameless plug) </li></ul></ul><ul><li>I run Windows on a Macbook Pro </li></ul>
  3. 3. Talking about <ul><li>Disclaimer </li></ul><ul><li>CLR </li></ul><ul><li>DLR </li></ul><ul><li>Silverlight </li></ul><ul><li>Silverlight 1.0 </li></ul><ul><li>Silverlight 2.0 </li></ul><ul><li>Dynamic Silverlight </li></ul>
  4. 4. CLR <ul><li>Common Language Runtime </li></ul><ul><li>Core of the .Net Framework </li></ul><ul><li>Created to support multiple languages </li></ul><ul><li>Statically typed </li></ul><ul><li>Provider of common services for a language </li></ul><ul><ul><li>JIT </li></ul></ul><ul><ul><li>GC </li></ul></ul><ul><ul><li>Security </li></ul></ul><ul><ul><li>Debugging </li></ul></ul><ul><ul><li>... </li></ul></ul>
  5. 5. DLR <ul><li>Dynamic Language Runtime </li></ul><ul><li>Superset of the CLR </li></ul><ul><li>Dynamic language support </li></ul><ul><ul><li>(shared) dynamic type system </li></ul></ul><ul><ul><ul><li>var foo = bar() </li></ul></ul></ul><ul><ul><li>Hosting model </li></ul></ul><ul><ul><ul><li>Allows apps to include scripting without much work </li></ul></ul></ul><ul><ul><li>Fast codegeneration </li></ul></ul><ul><ul><ul><li>Eval </li></ul></ul></ul>
  6. 6. DLR <ul><li>Available languages ATM: </li></ul><ul><ul><li>Visual Basic </li></ul></ul><ul><ul><li>Javascript/ecmascript </li></ul></ul><ul><ul><li>Ruby </li></ul></ul><ul><ul><li>Python </li></ul></ul><ul><li>Open source: </li></ul><ul><ul><li>source available under the MS-PL </li></ul></ul>
  7. 7. Silverlight <ul><li>The Evil Empire’s version of Flash </li></ul><ul><li>Not equivalent to AIR </li></ul><ul><li>Runs in the browser, not standalone </li></ul><ul><li>Supported on Windows, MacOS X and on Linux through Moonlight </li></ul><ul><li>Uses the “same” markup as WPF </li></ul><ul><ul><li>Silverlight markup can be used in WPF </li></ul></ul><ul><ul><li>Vice versa is more difficult </li></ul></ul>
  8. 8. Silverlight 1.0 <ul><li>XAML (markup) + Javascript (code) </li></ul><ul><li>XAML = display </li></ul><ul><li>Browser = scripting </li></ul><ul><li>Good for media (video, 3D animation) </li></ul><ul><li>No real link with .Net, except for XAML </li></ul>
  9. 9. Silverlight 2.0 <ul><li>XAML (markup) + dll (code) </li></ul><ul><li>Previously versioned 1.1 </li></ul><ul><ul><li>Still in beta </li></ul></ul><ul><li>Subset of the .Net Framework </li></ul><ul><ul><li>Code reuse </li></ul></ul><ul><li>More features than Silverlight 1.0 </li></ul><ul><ul><li>Eg 2.0 has Controls, 1.0 doesn’t have them </li></ul></ul><ul><li>Relatively small footprint (4mb, download once) </li></ul><ul><ul><li>Updates automatically </li></ul></ul>
  10. 10. Dynamic Silverlight <ul><li>Adds support for DLR languages to Silverlight </li></ul><ul><li>for end user = result is the same </li></ul><ul><li>For developer = more choice </li></ul><ul><ul><li>More choice = good </li></ul></ul><ul><li>Specific DLR language runtime support is delivered with each Silverlight app </li></ul><ul><li>Can be packaged separately to reduce download size </li></ul><ul><ul><li>Cached on client </li></ul></ul>
  11. 11. Demo <ul><li>VERY BASIC Silverlight App </li></ul><ul><li>Demonstrates: </li></ul><ul><ul><li>Coded in Ruby (thanks to DLR) </li></ul></ul><ul><ul><li>Calls into C# dll (DLR and CLR interop) </li></ul></ul>

×