Comparison between Flash and Silverlight

With the release of the Silverlight1.0, a dilemma occurs among designers and developer that how to make choice between flash and slivertlight. Adobe flash claimed that more than 90% of users choose flash. However, Silverlight has managed to include some features that designers and developer want to see in flash. In this article, I will share some technologies difference between flash and Silverlight to help you to do the best choices. The comparison will be done based on the following aspects:


Animation
Flash uses frame-based animation model. The flash format itself has no notion of animation except transformation matrics. You can use a matrics to an element on a per frames basis to move it around. If you want to move something across the screen in 3seconds, you need to calculate how many frames 3 second will take, then calculate the matrixes required for each frame along the way. Please make sure that player won’t actually maintain any frame rate unless you embed blank audio tracks; 3 seconds might turn out to be 2 or 6 or 5.
Silverlight supports WPF animation model, which is time-based instead of frame-based. So you can define the start and end conditions and it will count how to do it.

File Size
Flash adopt a compressed format. Text and images are embedded in the movie. Therefore, the size of flash is relatively small. While Silverlight uses XAML for its description language, in addition, it uses non-compressed format. Thus the size of it is relatively large.

Video and Audio
Flash supports multiple video formats. The latest codec is high quality and the bandwidth usage is nice. But one problem is that the formats it supports aren’t really used by others if you create a tool that outputs flash content. The original video codec is a mutant version of H.263. The compression follows the spec fairly closely, but bunch of features were left out. And you cannot exactly just go find complete specs on how to build your encoder.
Silverlight runs the industry-standard VC-1 codec for video, as well as supporting WMV and WMA. Just about everyone already has Windows Movie Maker, but if they don’t, it is not big deal because Microsoft makes available a free SDK encoder for developing MWA and WMV.

Scripting
Flash objects are programmed by adopting ActionScript. It can be integrated with back-end technologies that use other languages and frameworks. It comes with a huge, powerful class library to develop online browse-rhosted applications and stand-alone desktop applications.
A lot of programming languages can be used for Silverlight to write managed code, such as Visual C#.Net and Visual Basic.Net, JavaScript.

Platform Compatibility
Flash supports Windows Vista/XP/2000, Windows Server2003/2008, Mac OS 10.1/10.5, Mac OS 10.1/10.5, Linux 5, open SUSE11, Ubuntu 7.10 or later and Solaris10.
Silverlight only supports Windows Vista/XP/2000, Windows Server 2003/2008, Windows Moblie 6, Mac OS 10.1/10.5 and Mac OS 10.1/10.5. It doesn’t Linux and Solaris.

It is very important and critical to choose an appropriate technology for rich internets applications. I believe you will have a clear mind about how to choose between flash and Silverlight based on the above analysis.

This entry was posted in Flash Tutorial and tagged .

Leave a Reply

Your email address will not be published. Required fields are marked *