Microsoft Silverlight: 10 reasons to love it, 10 reasons to hate it
A year or so ago I wrote a post called Adobe AIR: 10 reasons to love it, 10 reasons to hate it. Here’s the same kind of list for Microsoft’s Silverlight, based on the forthcoming Silverlight 2.0 rather than the current version. The items are not in any kind of order - they also reflect my interest in application development rather than design. It is not a definitive list, so there are many more points you could make - by all means comment - and it will be interesting to have another look a year from now when the real thing has been out for a while.
- Execute .NET code without deploying the .NET runtime. The Silverlight plug-in does include a cut-down .NET runtime, but instead of dealing with a large download and the complexities of the Windows installer, the user has a small download of about 4MB, all handled within the browser. In my experience so far, installation is smooth and easy.
- Performance is promising. Silverlight comes out well in this prime number calculator, thanks no doubt to JIT compilation to native code, though it may not compare so well for rendering graphics.
- Support for Moonlight means there will be an official open source implementation of Silverlight, mitigating the proprietary aspect.
- Silverlight interprets XAML directly, whereas Adobe’s XML GUI language, MXML, gets converted to SWF at compiling time. In fact, XAML pages are included as resources in the compiled .XAP binary used for deploying Silverlight applications. A .XAP file is just a ZIP with a different extension. This also means that search engines can potentially index text within a Silverlight application, just as they can with Flash.
- Third-party component vendors are already well on with Silverlight add-ons. For example, Infragistics, ComponentOne and DevExpress.
- Take your .NET code cross-platform. With Macs popping up everywhere, the ability to migrate Visual Basic or C# code to a cross-platform, browser-based Silverlight client will be increasingly useful. Clearly this only applies to existing .NET developers - I guess this is the main market for Silverlight, but it is a large one. The same applies to the next point:
- Uses Visual Studio. Microsoft’s IDE is a mature and well-liked development environment, and since it is also the tool for ASP.NET you can use it for server-side code, as well as for the Silverlight client. For those who don’t get on with Visual Studio, the Silverlight SDK also supports command-line compilation.
- Choose your language. Support for multiple languages has been part of .NET since its beginning, and having the .NET runtime in Silverlight 2.0 means you can code your client-side logic in C#, Visual Basic, or thanks to the Dynamic Language Runtime (DLR) Iron Ruby or Iron Python.
- Isolated storage gives Silverlight applications local file access, but only in a protected location specific to the application, providing a relatively secure way to get this benefit.
Next page: The cons
You have been tricked by Icaza/MS
Right now, people having Moonlight had the first issue.
They couldn't watch Olympics on NBC because it was Silverlight 2 based.
Same people can't enjoy any "big name" NET 3.x software because Mono either doesn't support it or it is not practically the same thing as Java "write once" philosophy.
If you ask MS, they will say they support windows media on Mac too. The fact is, Windows Media player for Mac, actual version is DEAD, it is a security and system stability hazard and performance killer on Intel macs.
I wanted to give an example of how big liar can MS be when they advertise their products multi platform (!) ability.
Don't agree with some points
>Silverlight is late to the game.
No! Silverlight isn't yet another Flash. Flash was made for multimedia, while the Silverlight market is rich Internet applications.
>The design tools are Expression Blend and Expression Design
>- but who uses them? The design world uses Adobe PhotoShop.
Once again. Silverlight is not for fancy graphics, it is for rich user experience.
>Silverlight is a browser-only solution
Yes, but have you ever heard about WPF? Silverlight its younger browser. WPF uses XAML as well, so it won't take much time to port your web app to desktop and vice versa.
@People who think SVG is an alternative
What the fuck are you talking about? Yeah, SVG is a great format for Scalable Vector Graphics, but in what way does it provide anything like the functionality Silverlight or, to a lesser extent Flash, offer? How, for example, would you make an SVG file in which you can drag and drop various elements, or have a data grid with dynamic sortable columns in, etc?