moonlight special

Download Moonlight Special

If you can't read please download the document

Upload: atsushi-eno

Post on 16-Apr-2017

1.037 views

Category:

Technology


0 download

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