26
Moonlight: Silverlight on Linux. Miguel de Icaza [email protected]

Exploring Moonlight: Novell's Implementation of Silverlight on Linux

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

Moonlight:Silverlight on Linux.

Miguel de [email protected]

Page 2: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

Getting here.

Page 3: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

Ximian: early history

Ximian: Linux Desktop Startup founded in 1999 “fill the gaps” Develop missing pieces (and applications).

Page 4: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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++.

Page 5: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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.

Page 6: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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.

Page 7: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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.

Page 8: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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.

Page 9: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

Moonlight

Page 10: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

Moonlight Today

Page 11: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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 Silverlight 2

Page 12: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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.

Page 13: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

Original Moonlight Core

Page 14: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

Moonlight with MS Media Pack

Page 15: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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.

Page 16: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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.

Page 17: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

2.1 class libraries

2.0 mscorlib

2.1mscorlib

2.0 mscorlib

2.0 mscorlib

2.0 mscorlib

Add new code from2.1

Mono Linker

Page 18: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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.

Page 19: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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.

Page 20: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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.

Page 21: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

Mono

Page 22: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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 languagesC# 3.0, VB.NETThird party compilers

Page 23: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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.

Page 24: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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.

Page 25: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

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

Page 26: Exploring Moonlight: Novell's Implementation of Silverlight on Linux

Mono Migration Analysis

Demo