Lead Mono developer Miguel de Icaza says that an experimental Mono-based …

Share this story

Mono project lead developer Miguel de Icaza says that the Mono development community plans to have an experimental Linux-based Silverlight browser plug-in ready for testing by the end of the year. Silverlight, Microsoft's new .NET-based technology for rapid development of interactive rich media applications, is currently only supported on Windows and Mac OS X. The Mono developers intend to use the documentation published by Microsoft to create a plug-in that is compatible with Silverlight 1.1, which is currently still in early stages of development.

Mono is already a relatively complete .NET runtime, but there are still some missing pieces that will be required to provide full compatibility with Silverlight. Fortunately, Microsoft released the source code of .NET's new Dynamic Language Runtime (DLR)—a critical component of Silverlight—under a highly-permissive open-source license. According to de Icaza, Microsoft's DLR can be incorporated into Mono and won't have to be reimplemented. In fact, after a few temporary fixes to resolve minor compatibility issues, de Icaza was able to get the DLR to compile on top of Mono.

In the past, de Icaza has stated that the Mono team does not intend to produce a complete Windows Presentation Foundation implementation. Last month, in a humorous poke at increasingly common requests for Mono WPF support, de Icaza presented a new curses-based console interface library as Mono's "answer" to WPF. Joking aside, de Icaza points out that WPF support has not been a high priority because of the heavy investment required to get it operational, concluding that "only a minority of existing users (Windows.Forms) were willing to rewrite their software to move it to WPF."

Although full WPF support isn't on Novell's agenda right now, de Icaza thinks that Silverlight's relatively slim API can be feasibly implemented in a reasonable amount of time. Silverlight incorporates a limited subset of WPF that is very minimalistic. "This I think is what makes Silverlight so interesting to me," says de Icaza. "Compared to WPF which is a complete framework for desktop applications, [Microsoft is making] an effort to keep the APIs to a minimum."

Linux support could contribute to Microsoft's efforts to make Silverlight support ubiquitous, a strategy that the company hopes will eventually make it possible for Silverlight to unseat rival web application development technologies like Flash and Flex. The architectural approach that Microsoft has taken with Silverlight—making it possible to dynamically load XML content that can be manipulated through a DOM interface—is appealing to web developers because it is more consistent with conventional Ajax techniques. Silverlight also benefits from support for common dynamic programming languages like Ruby and Python, which are more flexible and syntactically expressive than JavaScript or ActionScript. The availability of a Linux-based plug-in for Silverlight will also make it easier for Linux users to test and develop Silverlight content, which could also help expand the technology's developer mindshare.