The online Silverlight QuickStarts should give most developers enough of a feel for the product to get started with simple projects. Additional reference information on MSDN and in the SDKs helps a bit, but a number of Microsoft Technical Evangelists and bloggers have created videos to make the process even clearer. Some of the videos go further afield, covering useful topics you never expected to hear about from Microsoft, such as integrating Silverlight with PHP and Java, and using SVG (Scalable Vector Graphics) assets in Expression Design.
Silverlight 1.0 performance is adequate as long as you don't do too much work in JavaScript; it's certainly more than adequate for streaming videos (which is done by the runtime) and simple XAML animations. I found Silverlight 1.0 sites to be about as responsive as AJAX, Flash, and Flex sites, but less responsive than Curl sites.
The use of JavaScript in Silverlight 1.0 helps make Silverlight compatible with multiple browsers and operating systems, but it also limits Silverlight's performance. There are two relevant issues. First, JavaScript is an interpreted language that is inherently much slower than native code. Second, when JavaScript is running, the Silverlight plug-in stops drawing. Silverlight 1.0 can be used for simple user interfaces that don't spend much time processing events, but it's not appropriate for creating highly interactive applications, such as games. For that, consider Silverlight 1.1.
Now that Silverlight 1.0 has been released, the Silverlight team is devoting most of its energy to Silverlight 1.1, now in alpha, which has a number of additional features over 1.0. Foremost among these is support for development in C# and Visual Basic .Net, offering a speed boost over JavaScript of roughly 200X, judging by the Bubblemark animation test. The Silverlight Chess demo, however, reveals the computational speedup is close to a factor of 1,000. I wouldn't be surprised if the final computational speed of Silverlight 1.1 applications was comparable to that of Curl applications, and Curl is fast enough to do ray-tracing.
Silverlight 1.1 supports a larger subset of the .Net Framework than Silverlight 1.0, enabling the development of some fairly serious applications, not to mention some fairly cool games. In Silverlight 1.1 you can do networking and communication, process XML, use isolated local storage, upload files, and use compiled dynamic languages such as IronPython.
But Silverlight 1.1 is still a work in progress. In the meantime, should you jump for Silverlight 1.0? If I had a site that could benefit from streaming media and simple animations, and was intended for viewing on Windows and Mac computers, I wouldn't hesitate to use Silverlight 1.0, especially if I had a development staff familiar with Visual Studio and XAML. On the other hand, I wouldn't spend the time and money needed to convert an existing Flash or Flex site to Silverlight 1.0. If performance were an issue, I'd revisit the question when Flex 3 and Silverlight 1.1 are released.
If I had a site that displayed embedded videos from YouTube, I'd have to decide if the additional interactive features I could get from Silverlight made up for the additional bandwidth cost. If my videos fit within the free 4GB hosting restriction of Silverlight Streaming by Windows Live, bandwidth wouldn't be an issue, and I'd strongly consider moving my content.
Martin Heller is a contributing editor of the InfoWorld Test Center and writes the Strategic Developer blog.
Talkback
E-mail
Printer Friendly
Reprints




