Successfully reported this slideshow.

Exploring Moonlight: Novell's Implementation of Silverlight on Linux


Published on

Come experience .NET on Linux. Learn how to develop and deploy Microsoft Silverlight and cross platform server applications using Moonlight

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Exploring Moonlight: Novell's Implementation of Silverlight on Linux

  1. 1. Moonlight: Silverlight on Linux. Miguel de Icaza
  2. 2. Getting here.
  3. 3. Ximian: early history Ximian: Linux Desktop Startup founded in 1999  “fill the gaps” Develop missing pieces (and applications).
  4. 4. Mono Project Mono: .NET on Unix.  Open Source implementation. Better Developer Tools for Linux developers. Allow Windows developers to port to Linux:  Bring expertise. No need to learn new languages/APIs. No need to rewrite in Java/C++.
  5. 5. Silverlight, in 3 bullet points. WPF/E at PDC  Cute. WPF/E at Mix 06  Still cute. Silverlight 1.1 at Mix 07  Awesome, and in our domain.
  6. 6. Mix 07. Interest at Mix 07  Journalist quote. Marc Jalabert's “Can you demo it in 3 weeks?”  Start work on May 31st. Remix 07 in Paris, France, June 21st. Microsoft/Novell interoperability framework. 
  7. 7. Microsoft Opening Up. Open source efforts inside the company.  DLR, IronPython, IronRuby and many more. Opening up formats, protocols.  Open Specification Promise (OOXML, WS-*) Scott Guthrie, web guy in charge of .NET.  Bob Muglia's interop initiative with Novell.  Sam Ramji's group. 
  8. 8. Microsoft/Novell agreement. Microsoft to provide:  Media Pack for all Moonlight users on Linux. Regression test suites. Complete specifications for implementation. Novell to:  Deliver a 100% compatible Moonlight. Support it on all major Linux distributions/platforms.
  9. 9. Moonlight
  10. 10. Moonlight Today
  11. 11. Moonlight Roadmap. Previews available now:  No media yet. Moonlight 1.0:  Available in June Moonlight 2.0:  Previews by the end of the summer. Final release shortly after MS Silverlight 2
  12. 12. mopen command tool. mopen launches xaml files from the desktop  Applications can be contained in directories Pure XAML or XAML + managed code. Similar to MacOS X “open” Desklets: window-less XAML applications.  Similar to Widgets, Gadgets.
  13. 13. Original Moonlight Core
  14. 14. Moonlight with MS Media Pack
  15. 15. Moonlight Directions Today Complete/ship 1.0  Integration of MediaPack. Complete our media pipeline. Improve performance (complex scenes, drivers) Parallel work on 2.0:  VM changes developed in parallel.
  16. 16. Silverlight Class Libraries. Core Libraries: Subset of 3.5 .NET Libraries.  Most are a straight subset. A few one have different class hierarchies. Silverlight APIs:  Draw inspiration from WPF. Almost no code reuse possible. DLR and DLR-based code is open source.  Reuse existing Silverlight 2 controls. 
  17. 17. 2.1 class libraries 2.0 2.1 mscorlib mscorlib Add new code from2.1 2.0 Mono Linker mscorlib
  18. 18. Moonlight: APIs today Moonlight 1.0 Moonlight 2.0   Tracks SL 1.0 Track upcoming 2.0 No Mono. Lots of changes  Testing new pipeline Only started on 3.5  Moonlight 1.1 LINQ  Implements SL 1.1 Others Few missing features Missing new work.  Development frozen
  19. 19. Moonlight SDK Tools to develop Silverlight apps on Unix.  Compiler (smcs) Class libraries. On Linux, MacOS X, Solaris IDE  Early Prototype of Silverlight designer written. Bringing our MonoDevelop IDE to MacOS X.
  20. 20. Wishes. Work with other browser vendors:  Opera, WebKit and Konqueror Support BSD and custom Linux variants:  Ship the binary codecs for those systems. Use Moonlight on OSX for designer. 
  21. 21. Mono
  22. 22. Mono. Our implementation of the CLR:  VM, JIT, AppDomains, GC, Remoting, etc. A re-implementation of the class libraries  Reflection, XML, etc ASP.NET, Web Services, ADO.NET Compilers for most .NET languages  C# 3.0, VB.NET  Third party compilers 
  23. 23. Overall Progress. 2.0 mostly complete:  Core, ASP.NET and ADO.NET are done Windows.Forms the only piece on hold. 3.5 the actual heir to 2.0:  C# 3, LINQ, XLINQ mostly done Have not started on DLINQ 3.0 add-on:  Only WCF in progress, no WPF at this point.
  24. 24. Microsoft's Open Source Code. Reuse Microsoft-produced code:  ASP.NET AJAX  Client side libraries. ASP.NET AJAX Control Toolkit. Dynamic Language Runtime  IronPython, IronRuby.
  25. 25. Visual Studio Deployment Mono is binary compatible with .Net  Same .DLL and .EXE file formats. Implements the same APIs. Winforms or ASP.NET apps  Demo
  26. 26. Mono Migration Analysis Demo