10 Things You Should Know About Microsoft's Silverlight

1 2 3 4 Page 4
Page 4 of 4

7. Silverlight Deliverables Are Not Atomic

Silverlight is delivered to a Web browser in pieces. This means the code is in one or more packages (JavaScript files, assemblies, etc.), the design is delivered as one or more packages (as XAML files), and other assets are separately delivered (including images, fonts and video). First-time Silverlight developers who are familiar with Flash's single-file deliverable may consider this a detraction to the Silverlight platform.

In fact, I believe it is a benefit. The separate packages encourage the creation of dynamic server-side content much more easily than is accomplished today using Flash. It allows us to create compelling and dynamic XAML on the server and simply deliver it the way we do other markup (e.g., HTML). Silverlight has a facility for using Zip files to package up multiple files that are used by the XAML code (images, videos, fonts, script files, etc.) and download them efficiently to the client, but it is not a requirement.

8. Silverlight Is New

As of this writing, Silverlight 1.0 is in a Release Candidate state, and Silverlight 1.1 is in Alpha Release. This is Microsoft's first try at this sort of technology. The technology is immature compared with similar offerings by other companies, most notably Adobe Inc.'s Flash and Flex products. Flash is currently at Version 9.0 and has had a longer time to get ahead in both ubiquity and richness. This is not to say that Silverlight won't catch up. Microsoft has a knack for learning from others' success and failure (see Java and .Net). But it is not a certainty.

If you plan to create applications that are primarily replacements for data-driven desktop applications, you might miss the lack of basic controls and data binding in Silverlight. Silverlight is not a replacement for Windows Forms, Windows Presentation Foundation (WPF), Java Applets or Sharepoint. Simply put, Silverlight was not designed to do line-of-business applications in these early versions. But if you want to create rich, compelling applications with reach across platforms and operating systems, Silverlight is a good fit.

9. Silverlight XAML versus WPF XAML

It is easy to tout XAML as a great benefit because Microsoft's WPF also uses XAML. Unfortunately, these benefits are not as compelling as it may seem because of low WPF adoption and the differences between WPF XAML and Silverlight XAML.

First, anecdotal evidence indicates that WPF adoption rates are still relatively low in comparison with other client-side technologies, such as Visual Basic 6 and .Net's Windows Forms. So the fact that XAML has been in the wild for several years is a benefit, but it is not a big benefit in my opinion.

Second, the Silverlight XAML is a simplified grammar compared to WPF XAML, so Silverlight XAML is not as powerful. This is good and bad. Silverlight XAML is very understandable, but if your developers are coming to Silverlight from WPF, it might seem incomplete.

In my opinion, the smaller grammar is actually best for Silverlight, as the runtime is small and manageable for end users. Silverlight XAML does not include anything that is not necessary for the task at hand. Certainly, it would be beneficial to build more functionality into Silverlight XAML, but the current approach is to be careful about how much is added to keep the application programming interface small and light.

10. Silverlight Is a Great Way to Learn XAML

As seen in the previous section, Silverlight's XAML has a small grammar. This means it is a great way to learn how XAML works. Developers trying to learn XAML and to come up to speed on the technology will appreciate Silverlight as a way to create clear and concise code. Most developers will soon start thinking about features they would like in Silverlight. When they start looking at WPF's XAML, they will see most of those features are already there.

In contrast, developers who start with WPF and pick up Silverlight will need to give up some of the arrows in their quivers.

Silverlight's runtime is about 4.5MB at this point. The .Net 3.0 runtime (the first to support WPF) weighs in at closer to 30MB. Surely not all of .Net 3.0 is WPF, but a large portion of it is. Starting with the smaller Silverlight XAML is a key to learning XAML quickly. You can't get bogged down in the minutiae of advanced WPF XAML concepts, such as templates, theming, data binding and 3-D.

Now is the time to determine where to use Silverlight in your own Web strategy. Silverlight is an exciting technology that should benefit companies, customers and users. I hope this article has helped you dig deeper than the marketing materials and understand the real benefits and limitations of the technology.

Shawn Wildermuth is a Microsoft MVP (C#), MCSD.Net, MCT. He is the founder of Wildermuth Consulting Services, delivering architecture, mentoring and software solutions in the Atlanta area. Shawn has enjoyed building data-driven software for more than 20 years. He is also a speaker on the INETA Speakers Bureau. Currently, Shawn is currently taking his Silverlight Workshop around the country, teaching people how to use Silverlight in their own projects. Shawn is the author of several books including Pragmatic ADO.Net (Addison-Wesley Professional, 2002); he is also co-author of four Microsoft Certification Training Kits for Microsoft Press, as well as the upcoming Prescriptive Data Architectures.

This story, "10 Things You Should Know About Microsoft's Silverlight" was originally published by CIO.

Copyright © 2007 IDG Communications, Inc.

1 2 3 4 Page 4
Page 4 of 4
Shop Tech Products at Amazon