Mono's Silverlight update.

1 view
Skip to first unread message

Miguel de Icaza

unread,
May 13, 2007, 12:29:50 PM5/13/07
to Mono Olive - developing 3.0, 3.5 and Silverlight, st...@jazd.com, ar...@claassen.net, mono-de...@lists.ximian.com
Hey folks,

In the last few days we have been doing a little bit of research
on what is needed to complete SIlverlight. The major sticking point
is deciding on a rendering engine and currently some people are
testing Antigrain, Cairo and GDI+ to get an idea of the performance of
these libraries as well as looking at our options when it comes to
media decoding and playback.

We have tried to keep the status on the Moonlight page up-to-date
on the Mono site, so you might want to read either the diffs, or read
the actual page every once in a while. Some of my rough notes as I
go around Silverlight can be found on the /WPFNotes page in the mono
wiki (I should probably move them here though).

The class hierarchy for instance (on the WPFNotes page) looks
fairly simple, there are two kinds of classes there: those that derive
from DependencyObject, and those that do not. The ones that derive
from DependencyObject participate in the whole notification/
propagation system and the others do not.

It is probably simple for those that want to contribute to start
work on the classes that do not derive from DependencyObject. We
should follow the regular process: write nunit test cases to
understand the API, and then write the API.

One thing that seems clear to me is that the rendering should be
done in the unmanaged world. Just like the full WPF does, it seems
like the managed code is merely a front-end that communicates with the
backend and creates the object in the unmanaged world. The unmanaged
world actually does all the rendering. There are a couple of
questions as to how much needs to go in the unmanaged world, but at
least it is clear that anything that derives from Visual as well as
the majority of the things references from them (Brushes and
Transforms at least, and maybe also PathSegments?)

I have stubbed out some classes in olive/class/agclr, but have not
really done any of the real work in there, just something to get to
understand how these pieces fit together.

So we currently have a few areas that must be worked on that can
be started without finalizing the rendering research or that require
changes to the JIT (the security system):

* Non-DependencyObject classes in agclr assembly.
* System.ServiceModel.Web

In addition to those two, I should be able to post next week the
status pages for the various class libraries that are part of
Silverlight, so we get a better understanding of what we might be
missing in mscorlib, System and a handful of others.

A bit of a problem with the classes in agcore is that there is no
Silverlight documentation for them, you must extrapolate from the .NET
3.0 documentation to make some sense of them. They are slightly
different and contains fewer base classes, fewer abstractions and a
very limited set of exposed methods and properties if you compare them
to the 3.0 stuff. Implementation of these should be based only on
the public methods shown by the Object Browser in Visual Studio or the
output of monop2 -d -r:agcore.dll TYPENAME.

System.ServiceModel.Web.dll is not part of Silverlight 1.1 as
shipped I think, but many of its components are on the Silverlight
poster as technologies that will be part of the final product, in
particular it is worthy to note the following namespaces in this
assembly (you need the Orcas beta to get the documentation for it):

* System.ServiceModel.Syndication (Atom, RSS support)
* System.Xml (Json reader/writer), some helper code is in other
places in the same assembly

These are fully documented in Orcas, and can be tested/developed
in advance, you will need to download Orcas though to read the
docs.

When writing code, please make sure that you follow the
conventions and policies in:

http://www.mono-project.com/Contributing
http://www.mono-project.com/CodingStyle

In particular, never, ever, absolutely never decompile or
disassemble Microsoft assemblies. If you need to figure something
out, figure it out with test cases, which have the dual advantage of
becoming a regression test suite that help us avoid regressions and it
helps programmers understand how things work.

Miguel.

Atsushi Eno

unread,
May 13, 2007, 12:46:22 PM5/13/07
to mono-...@googlegroups.com, st...@jazd.com, ar...@claassen.net, mono-de...@lists.ximian.com, mono-s...@googlegroups.com
Hi,

A bit of follow up.

System.ServiceModel.Web.dll is part of Summer of Code project,
so if any of you would like to participate the development,
it would be nicer if you get contact with Kenny (Parnell)
who will be working on this assembly.

In our current plan, syndication support is the last thing
on the development plan, so if anyone else is interested, that
would not conflict with the SoC work.

Atsushi Eno

Miguel de Icaza

unread,
May 13, 2007, 2:27:05 PM5/13/07
to Mono Olive - developing 3.0, 3.5 and Silverlight
Hello,

> System.ServiceModel.Web.dll is part of Summer of Code project,
> so if any of you would like to participate the development,
> it would be nicer if you get contact with Kenny (Parnell)
> who will be working on this assembly.
>
> In our current plan, syndication support is the last thing
> on the development plan, so if anyone else is interested, that
> would not conflict with the SoC work.

Question: is part of this SoC project to implement the JSon APIs?

Miguel.

Atsushi Eno

unread,
May 13, 2007, 7:38:57 PM5/13/07
to mono-...@googlegroups.com
Hi,

Yes. Actually JSON reader/writer will be the first step.
http://code.google.com/soc/mono/appinfo.html?csaid=D56F2065305F80B3

Atsushi Eno

Michael Letterle

unread,
May 13, 2007, 10:05:39 PM5/13/07
to Mono Olive - developing 3.0, 3.5 and Silverlight
Is anyone worried about Microsoft's latest saber rattling, re:
patents, might affect this effort?

M. David Peterson

unread,
May 13, 2007, 10:33:28 PM5/13/07
to mono-...@googlegroups.com
Take a look @ http://silverlight.net/Samples/1.1/Video-Library/run/default.html (requires Silverlight, and therefore Windows or Mac) and then play the first video: Mike Harsh WPF/E

In it he specifies that MSFT plans to work with partners to bring WPF/E to Linux as well as to a variety of devices.  With the desire to bring Silverlight to every computer, device, etc. would it really make sense for them to begin throwing their legal weight around in this regard?  And if they did, wouldn't the recent MSFT/Novell agreement suggest at least some level of protection?  Of course, this is all a combination of speculation and educated guesses, but it would seem to me that there are too many reasons for MSFT *NOT* to move in this direction for them to suddenly begin making legal threats in this particular arena.

On 5/13/07, Michael Letterle <michael....@gmail.com> wrote:

Is anyone worried about Microsoft's latest saber rattling, re:
patents, might affect this effort?







--
/M:D

M. David Peterson
http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155

Miguel de Icaza

unread,
May 13, 2007, 11:56:20 PM5/13/07
to mono-...@googlegroups.com
Is anyone worried about Microsoft's latest saber rattling, re:
patents, might affect this effort?

We went through this six months ago.  

We have a strict patent policy, see our FAQ for details, and see my blog entries around the time that Novell and Microsoft signed the agreement.  Regardless of the agreement between Microsoft and Novell, Mono is a community project and we must abide by stricter rules.

Miguel.


Stephen A. Jazdzewski

unread,
May 16, 2007, 6:12:41 PM5/16/07
to mono-de...@lists.ximian.com, mono-...@googlegroups.com, mig...@novell.com, ats...@ximian.com
Miguel,

If it does not collide with SOC2007, I would like to start work on the tests for System.ServiceModel.Syndication

----- "Miguel de Icaza" <miguel....@gmail.com> wrote:
> ...


> System.ServiceModel.Web.dll is not part of Silverlight 1.1 as
> shipped I think, but many of its components are on the Silverlight
> poster as technologies that will be part of the final product, in
> particular it is worthy to note the following namespaces in this
> assembly (you need the Orcas beta to get the documentation for it):
>
> * System.ServiceModel.Syndication (Atom, RSS support)
> * System.Xml (Json reader/writer), some helper code is
> in other places in the same assembly

-Stephen

Stephen

unread,
May 31, 2007, 3:49:38 PM5/31/07
to Mono Olive - developing 3.0, 3.5 and Silverlight
I did end up colliding with Joel Reed
http://ropeonfire.blogspot.com/2007/05/systemservicemodelsyndication.html

He is working on System.ServiceModel.Syndication now.

-Stephen

On May 16, 6:12 pm, "Stephen A. Jazdzewski" <s...@jazd.com> wrote:
> Miguel,
>
> If it does not collide with SOC2007, I would like to start work on the tests for System.ServiceModel.Syndication
>

Reply all
Reply to author
Forward
0 new messages