Microsoft promised it would add dynamic-language support to Silverlight. As of this year’s Mix ‘08 conference, it has done so.
The way Microsoft is delivering support for Ruby, Python and other dynamic languages with its Adobe-Flash competitor is via a Silverlight add-on called Dynamic Silverlight (DSL). (Yep — yet another meaning for the DSL acronym.)
According to a blog posting by Jon Lam, Program Manager on the Dynamic Language Runtime team, the DSL includes a runtime and a software-development kit component. Lam explained:
“The runtime consists of two assemblies: Microsoft.Scripting.dll, and Microsoft.Scripting.Silverlight.dll. You’ll also need the language assemblies, which are IronRuby.dll and IronRuby.Libraries.dll for Ruby and IronPython.dll and IronPython.Modules.dll for Python. The runtime component is a small additional download. Today, the IronRuby Silverlight runtime is just a 712KB download, which takes less than 5 seconds to download over modern broadband.”
Microsoft is making available for download the binaries and sources to Ruby, Python (its IronPython implementation), the dynamic language runtime (DLR), the dynamic language and Silverlight integration, and “Chiron,” a dynamic Silverlight development utility, all in once package, blogged Jimmy Schmenti, a Program Manager on the Dynamic Languages team.
Schementi noted that Microsoft is making the DSL, in all its glory, available under the Microsoft Public License (MSPL) — a full-fledged open-source license — “so feel free to extend it, fork it, etc.”
Microsoft officials have said they want to insure that developers can use any language of their choice running on a variety of browsers (Firefox, Safari, Internet Explorer) and platforms (Linux, Mac OS X and Windows) to write Silverlight 2 applications. Does Microsoft’s addition of support for dynamic languages with Silverlight make you any more interested in writing Silverlight apps/content?
Microsoft, Silverlight, Silverlight 2, Dynamic Silverlight, Extension, Dynamic, Language, Support, MIX08, Development, Programming, Programming Language