moonlight special
TRANSCRIPT
Mono meeting
Moonlight Special
Silverlight
Silverlight 1.0 (beta)
Silverlight 1.1 (alpha)
XAML
WPF Subset (ex. WPF/E)
Internet Explorer / Firefox / Safari
Windows Intel Mac PPC Mac
Managed Code
online / offline executable
Shapes, Texts, Videos, Audio, Animation
Ok, these slides are not rich. Show me some rich stuff!
Technology Layers
OSagcore (SL native runtime)managed code runtime
(small CLR)DLRhosting APISilverlight applications (HTML,
Javascript, dll)browser
pluginssilverlight.jsDLRagclr
(managed wrapper)Web browsers
Reduced CLR core libraries
Xml(.Core)
System
mscorlib
XmlReaderXmlWriter
XmlDocument, XPath, XSLT, Schema, Serialization
Uri, collections, Debug,
HttpWebRequest, Regex
ECMA 335 minus security(?)
ComponentModel, Configuration
no ADO.NET, no ASP.NET, no XML Web services
Remoting, runtime serialization
Linq
System.Core.dll exists
Linq to XML will be supported
no XPath / Schema in System.Xml.Core
Linq to SQL / Linq to Entity ...
DLR
on top of reduced CLR
IronPython 2.0 alpha
MS-PL
IronRuby (2007/07?)
Dynamic Language Runtime
VB.NET
JScript
C#
agclr / agcore
WPF subset
XAML parser
DependencyObject DependencyProperty
closed source
Image, MediaElement, Polygon, Storyboard, Shapes
Browser Plugins
ActiveX control on IE
Mozilla nsplugin on Firefox
? on Safari
Opera (not supported yet)
Developers just (indirectly) uses silverlight.js
features
reads XAML and loads Canvas (or whatever)
CLR hosting (1.1 only)
Moonlight
... is Silverlight for Linux
ReMix 07 in Paris
Implementing Silverlight in 21 days
... let's see what happened there
http://journal.mycom.co.jp/news/2007/06/22/016/index.html
OSSSilverlightMoonlight - 3!
http://japan.cnet.com/news/media/story/0,2000056023,20351226,00.htm
SilverlightLinuxMoonlight
Moonlight Layers
OSmoonmono runtime (reduced)DLR (from MS)hosting
APImozilla
pluginsilverlight.jsMS langsagclrWeb browsersMono
langsGTK+hostMoonlight applications (HTML, Javascript, dll)
Code Modules
moon
the runtime
plugin
gtk+ hosting
olive
agclr : managed wrapper
hosting API
JScript compiler and runtime
mono/mcs : (reduced) CLR
installation: laterusage: browser: use in HTML
gtk host: mopen [xxx.xaml]
Moon: the runtime
Written in C++
(WPF hierarchy)
C
(only for DllImport)
Videos - ffmpeg (tentative)
Images cairo
Texts - pango-cairo
Polygon - cairo AntiGrain?
Animation
unmanaged XAML parser
(object)
unmanaged DependencyObject
/ DependencyProperty
()
Downloader
(XAML parser)
Moonlight plugin
only mozilla/firefox for now.
control rendering using Gtk Canvas
Mono embedded API (libmono.so)
libmoonplugin.so
libmoonloader.so
Downloader support
script object access- ToDo
Opera support ToDo
Managed Code support
DLR : just reuse IronPython 2.0 (alpha)
agclr, hosting API : mono implementation
agclr mostly DO/DP wrappers
System.Silverlight (not done yet)
Browser DOM access [DllImport(moonplugin)]
JSON serializer, HttpWebRequest, SoapHttpClientProtocol
core class library reduction (not done yet)
NET_2_1 profile in mcs/class/*
hide and inject some members w/ Cecil
Some issues
Licensing
moon currently uses ffmpeg: GPL
moon wants AntiGrain 2.5 : GPL
Name conflicts
Mozilla people say no to Silverlight
(No web standard)
Future Directions
Gtk# Widgets (Desklets)
Media Codecs (to replace ffmpeg)
Moonlight Designer / MonoDevelop integration
Click to edit the title text format
Click to edit the outline text format
Second Outline Level
Third Outline Level
Fourth Outline Level
Fifth Outline Level
Sixth Outline Level
Seventh Outline Level
Eighth Outline Level
Ninth Outline Level