Exploring the Dynamic Silverlight SDK

29 Mar 2008

Dynamic Silverlight is the catch-phrase I use to describe the integration between dynamic languages and Silverlight. The fact that I need to even call it by a name means that it isn't the norm, not the standard, not implied, and that sucks. Granted, Ruby on Rails yells in your face that it uses Ruby, so maybe it's not that bad. =) The Dynamic Silverlight SDK is the toolset developers will need on their machines to develop Silverlight applications using dynamic languages. End-users need nothing more than the Silverlight runtime. Getting the bits I will always tell you to download dynamic language support in Silverlight from http://dynamicsilverlight.net/get. This package contains the latest binaries and sources of IronRuby and IronPython, as well as the Dynamic Language Runtime (DLR), which both the languages depend on. However, this is not the only place dynamic languages support exists in Silverlight. These languages, plus Managed JScript, are shipped in the Silverlight2 SDK. Though, these bits are from the end of February, which are significantly older than the bits on http://dynamicsilverlight.net/get ... it's great for getting started with dynamic silverlight if you already have the SDK installed, but it's just a snapshot of the Silverlight integration ... not the latest-and-greatest bits. I'm sure you have some questions already:
Wait, why isn't Managed JScript on http://dynamicsilverlight.net?
How come we need to download the bits?
Will the users of my application have to download this as well?
Why isn't this in Silverlight already?
Looking at the bits

So, you have the package on your disk and you've unzipped it, now what? The package contents are pretty straight-forward, but let me explain what some things mean.

/bin

Contains the compiled binaries for the DLR (Microsoft.Scripting.dll), IronRuby (IronRuby.dll and IronRuby.Libraries.dll), IronPython (IronPython.dll and IronPython.Modules.dll), and Managed JScript (Microsoft.Jscript.Runtime.dll and Microsoft.Jscript.Compiler.dll). Also, it contains Chiron.exe, a command-line tool which lets you develop a dynamic-language application in Silverlight with just a text-editor and a browser. I'll talk about this more later.

/scr

Contains the source to all the binaries in the /bin folder. We've provided a DynamicSilverlight.sln file so you can open it and build in Visual Studio easily. The DLLs it produces can be replaced with the DLLs in the /bin directory, and they will be loaded into Silverlight automatically.

/samples

A few samples in python and ruby to get you started. You can run them with the following scripts:

/server.bat

Runs Chiron in the "server" mode, and causes your default browser to open to the dynamic silverlight directory. You can then navigate into the samples, and click on their HTML file(s) to see them run. Run this only on Windows.

/server

Same as server.bat, except this is for Mac (requires Mono to be installed)

/README.txt

Basically this blog post

/LICENSE.txt

Copy of the license this package is under, which is the Microsoft Public License (MSPL)

That's the Dynamic Silverlight SDK! The next post will be about how to use Chiron to develop a Silverlight application in Ruby or Python.

comments powered by Disqus