Offering regional and national programs, CIO (and CSO) events bring together some of the most respected names and thought leaders in information technology and security. Presented by CIOs and other senior level executives, these invitation-only programs offer timely topics and strong networking. Learn More »
Public Council Teleconference: Application Rationalization — Hidden Costs and Smart Decisions
November 17 at 11:00 am US/Eastern (GMT-5)
Join Honorio Padrón, of The Hackett Group, who will share the drivers for companies to tackle application rationalization and the results of research that define the hidden cost of complexity. Additionally, we will discuss key decision milestones—to start or not, holding the course steady and fulfilling expectations.
Virtual Desktop Cost-Benefit Analysis — Michael Jacobs, Catlin Group
The analysis contained in this presentation measures the cost of everything from the machines and licenses to the infrastructure for virtual vs. traditional desktop environments.
Honor your best senior team members - Apply for the CIO Ones to Watch Award
Get well-earned public recognition for your top up-and-coming team members, your IT organization and your enterprise. Award winners will be announced, publicized and feted in May 2010, great timing to help attract new IT recruits to your company.
Learn more about the CIO Executive Council »PAGE 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 to similar offerings by other companies, most notably Adobe's Flash and Flex products. Flash is currently at version 9.0; it 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, 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 Windows Presentation Foundation (WPF) also uses XAML. Unfortunately, these benefits are not as compelling as it may seem, for two solid reasons: 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 (e.g., 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 API 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, Ga., 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); he is also co-author of four Microsoft Certification Training Kits for Microsoft Press, as well as the upcoming Prescriptive Data Architectures.