Ximian: early history
Ximian: Linux Desktop Startup founded in 1999
“fill the gaps”
Develop missing pieces (and applications).
Mono: .NET on Unix.
Open Source implementation.
Better Developer Tools for Linux developers.
Allow Windows developers to port to Linux:
No need to learn new languages/APIs.
No need to rewrite in Java/C++.
Silverlight, in 3 bullet points.
WPF/E at PDC
WPF/E at Mix 06
Silverlight 1.1 at Mix 07
Awesome, and in our domain.
Interest at Mix 07
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 to provide:
Media Pack for all Moonlight users on Linux.
Regression test suites.
Complete specifications for implementation.
Deliver a 100% compatible Moonlight.
Support it on all major Linux
Previews available now:
No media yet.
Available in June
Previews by the end of the summer.
Final release shortly after MS Silverlight 2
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
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.
Draw inspiration from WPF.
Almost no code reuse possible.
DLR and DLR-based code is open source.
Reuse existing Silverlight 2 controls.
2.1 class libraries
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.
Tools to develop Silverlight apps on Unix.
On Linux, MacOS X, Solaris
Early Prototype of Silverlight designer written.
Bringing our MonoDevelop IDE to MacOS X.
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.
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
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
Only WCF in progress, no WPF at this point.
Microsoft's Open Source Code.
Reuse Microsoft-produced code:
Client side libraries.
ASP.NET AJAX Control Toolkit.
Dynamic Language Runtime
Visual Studio Deployment
Mono is binary compatible with .Net
Same .DLL and .EXE file formats.
Implements the same APIs.
Winforms or ASP.NET apps