An IronPython on Silverlight Collection

A collection of links about using IronPython with Silverlight, the Microsoft 'flash killer' browser plugin.
A post by the MetaDeveloper to get you started developing Silverlight applications with IronPython and the Silverlight Dynamic Languages SDK. It includes the development process using Chiron.
Whilst we're talking about the Dynamic Languages SDK for Silverlight, it's time for a word from the guy responsible for maintaining it: Jimmy Schementi. This is a long post that describes the SDK and answers some Frequently Asked Questions on the subject.

The post starts with:
It would seem the next release will be focused around REPLs, testing, scripting support, and maybe some server-side integration pieces. And you’d be right. Proof is in the project’s public source code repository.
And ends with:
I hope that made some things clear; the DLR, IronRuby, and IronPython are committed to supporting Silverlight developers. Unfortunately, the reverse is less strong, so if this is important to you please talk about it on the silverlight.net forums. Things might be a bit nicer when the inner ring of the DLR (Microsoft.Scripting.Core.dll) is part of the System.Core in Silverlight, but we’ll see.
Definitely worth reading the bits in the middle!
Another MetaDeveloper post, this time describing a Silverlight library that I'd not heard of: SilverlightFX. Apparently, "Silverlight.FX is an application framework for building Rich Internet Applications with Silverlight 2. It focuses on providing building blocks and controls that allows applications to be naturally well-architected".

In this post David shows how to create an IronPython application that uses the SilverlightFX libraries, and shows off some of its declarative XAML goodness.
Thanks to comments from Jimmy Schementi and Richard Klafter I've updated a couple of my IronPython and Silverlight articles. Specifically, the articles on communicating between Javascript and IronPython with the Scriptable attributes and embedding IronPython in a C# application have both been improved.
This is the announcement from Miguel de Icaza about the release of Moonlight 1.0. Moonlight is the Mono implementation of Silverlight for Linux which is being developed with support from Microsoft. Moonlight 1.0 is the equivalent of Silverlight 1.0 - a rendering engine with a Javascript API. It doesn't include the CoreCLR which is the really interesting bit of Silverlight and what allows it to be programmed with IronPython. This is in Silverlight 2.0, and coming in Moonlight 2.0, but in the blog entry Miguel describes the history and progress of Moonlight project - including a screenshot from a very fancy looking 3D visualization written in Python.

You can track the progress of Moonlight 2.0 on its Demo Status Page - which includes some IronPython and IronRuby demos and how well they do or don't work on Moonlight.
I haven't tried this, I don't know what's in it, or even if IronPython works with it - but a beta of Silverlight 3 is now available! The article linked to is on Ars Technica and it looks like that various Silverlight 3 beta 1 downloads (including runtime, SDK and tools) are available for download in advance of the keynote by Scott Guthrie and Bill Buxton at the MIX09 conference currently on in Vegas.

From what I've heard Silverlight 3 isn't a revolutionary change, but adds requested features and fixes annoyances with Silverlight 2. This sounds like the right move as Silverlight is still gaining adoption (although making good progress) and developers are still getting to grips with it.

Personally I find the internet a much more pleasant place with Flash turned off - but there are some useful web applications that use it. The programming model for Silverlight is great, I've really enjoyed using it and being able to program in the browser with Python is a major plus. I just hope we don't start seeing Silverlight used for serving adverts...

Comments

Popular posts from this blog

Extending Abobe Flash Player and AIR with Python and Ruby

IronPython Tools for Visual Studio CTP3

Further Adventures of the Debugger