260 likes | 471 Views
Moonlight: Silverlight on Linux. Miguel de Icaza miguel@novell.com. Getting here. Ximian: early history. Ximian: Linux Desktop Startup founded in 1999 “fill the gaps” Develop missing pieces (and applications). Mono Project. Mono: .NET on Unix. Open Source implementation.
E N D
Moonlight: Silverlight on Linux. Miguel de Icaza miguel@novell.com
Ximian: early history Ximian: Linux Desktop Startup founded in 1999 “fill the gaps” Develop missing pieces (and applications).
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++.
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.
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.
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.
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.
Moonlight Roadmap. Previews available now: http://www.go-mono.com/moonlight No media yet. Moonlight 1.0: Available in June Moonlight 2.0: Previews by the end of the summer. Final release shortly after MS Silverlight2
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.
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.
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 Silverlight2 controls.
2.1 class libraries 2.0 mscorlib 2.0 mscorlib 2.1 mscorlib Add new code from2.1 Mono Linker 2.0 mscorlib 2.0 mscorlib
Moonlight: APIs today Moonlight 1.0 Tracks SL 1.0 No Mono. Testing new pipeline Moonlight 1.1 Implements SL 1.1 Few missing features Development frozen Moonlight 2.0 Track upcoming 2.0 Lots of changes Only started on 3.5 LINQ Others Missing new work.
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.
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.
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
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.
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.
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