Flash vs. Silverlight: What Suits Your Needs Best?

Advertisement

With the release of Silverlight 1.0 and its subsequent versions, a debate started among designers and developers regarding choosing between Flash and Silverlight. Silverlight faces difficulties in capturing the market because of the maturity of Flash. However, Silverlight has managed to keep up by including certain features that designers and developers have always wanted to see in Flash, such as search engine optimization. In this article, we will discuss some of the technical differences between Flash and Silverlight to help you choose the technology that best suits your needs.

Animation

Flash uses the frame-based animation model. In frame-by-frame animation, we create an object for each frame to produce an animation sequence. For example, if you want to move something across the screen in 3 seconds, calculate how many frames 3 seconds will take, then calculate the matrices required for each frame along the way. Keep in mind that the player won’t actually maintain a frame rate unless you embed a blank audio track; otherwise, 3 seconds might turn out to be 2 or 6 or 5.

Adobe Flash Animation

Silverlight is based on the WPF animation model, which is time-based instead of frame-based, so you define the start and end conditions, and it figures out how to do it. No need to deal with matrices like with Flash. Also, no need to calculate the positions of objects in various frames.

Microsoft Silverlight Animation

File Size

Flash uses a compressed format, and text and images are embedded in the movie, hence the file size of a Flash component is relatively small.

Text representation in Adobe Flash

Silverlight uses XAML for its description language, and it is non-compressed, so the size of a Silverlight component is usually larger.

Text representation in Microsoft Silverlight

Scripting

ActionScript is used to program Flash objects. ActionScript is an object-oriented language with a full range of controls for designing user interfaces. And it can be integrated with back-end technologies that use other languages and frameworks, such as PHP, ASP and Ruby On Rails. It comes with a huge, powerful class library for developing online browser-hosted applications and stand-alone desktop applications.

Action Script

For Silverlight scripting, you can choose from among a number of programming languages such as Visual C#.Net and Visual Basic.Net, including client-side scripting with JavaScript. C# and VB.NET can be used to write managed code that runs on and uses all of the enhancements and capabilities of Microsoft’s .NET framework.

Visual Basic

Video And Audio

Flash supports multiple video formats. The latest codec is very high quality, and the bandwidth usage is nice. There is one problem, though: if you create a tool that outputs Flash content, the formats it supports aren’t really used by anyone else. The original video codec, Sorenson’s proprietary H.263 implementation, is a mutant version of H.263. The compression follows the spec fairly closely, but a bunch of features were left out, and you can’t exactly just go find complete specs on how to build your own encoder.

Video Codec

Silverlight implements the industry-standard VC-1 codec for video, and supports WMV and WMA. Just about everyone already has Windows Movie Maker, but if someone doesn’t, it’s not a big deal because Microsoft makes available a free SDK encoder for producing WMA and WMV. So, not only would you be using formats that people would more likely be able to encode themselves, but Microsoft provides your product with SDKs if you want to do the encoding yourself.

Sound Processing

ActionScript offers a set of sound classes that can be used to generate and control sound in a movie. You can add sounds from the library while the movie clip is playing and control those sounds. If you do not specify a target when you create a new sound object, there are methods to control sound for the whole movie.

Sound Processing

Silverlight doesn’t have the low-level audio APIs you would need to write an audio application in the browser. It doesn’t even support playback of WAV files because .NET has very little audio playback support.

Accessibility

Flash provides rich accessibility features for those who have hearing and vision problems or who rely on keyboard shortcuts. Providing captions for video solves accessibility challenges for people who are deaf and hard of hearing, but people who are blind or have low vision or other physical disabilities need the video playback controls to be keyboard-accessible and to function properly with assistive technologies such as screen readers and screen magnifiers. Users who rely on keyboard access can use a variety of familiar shortcuts to control video. Buttons such as “Play/Pause,” “Stop,” “Rewind,” “Mute” and “Closed Captions” can be tabbed to and activated with the spacebar. Slider controls such as for volume and playhead position controls can be accessed via the arrow keys, and the “Home” and “End” keys can be used to skip directly to the beginning or end of a range. The volume slider also accepts numeric keys to set playback audio levels in one quick step.

Accessibility

Accessibility

Accessibility

Silverlight 3 is the first browser plug-in to provide access to all system colors, allowing people with partial vision to use familiar operating system controls to make changes, such as switching to high-contrast color schemes for ease of readability. These features are far fewer than those provided by Flash.

Platform Compatibility

Flash supports Windows Vista/XP/2000, Windows Server 2003/2008, Mac OS 10.1/10.5 (PowerPC), Mac OS 10.1/10.5 (Intel), Linux 5, openSUSE 11, Ubuntu 7.10 or later and Solaris 10.

Silverlight supports only Windows Vista/XP/2000, Windows Server 2003/2008, Windows Mobile 6, Mac OS 10.1/10.5 (PowerPC) and Mac OS 10.1/10.5 (Intel). Because Linux and Solaris support is missing, users of those operating systems won’t be able to experience Silverlight on their machines.

Text Representation/SEO

Flash stores fonts using shape definitions and the player doesn’t understand TTF, hence we cannot separate the text layer from the movie. Typically the text written on a flash component was not SEO friendly however Adobe has made the modifications to Flash so that it will be indexable, and the search engines have begun to index Flash.

Currently Google is the only search engine that is noticeably reading Flash files. They have worked closely with Adobe to develop the right toolset for the Googlebot in order to read the files for indexing. Yahoo is working on it and MSN is working with their own format, Silverlight, so they probably won’t be developing the toolset necessary to read Flash files.

To read more about how to make Flash SEO friendly, please read the following articles:

In Silverlight applications, user interfaces are declared in XAML and programmed using a subset of the .NET Framework. XAML can be used for marking up the vector graphics and animations. Text is deployed on web server as separate entity and can be read and accessed separately. Textual content created with Silverlight is searchable and indexable by search engines as it is not compiled, but represented as text (XAML).

Supported Image Formats

Flash supports almost all image formats.

Silverlight supports only PNG and JPEG file formats. Some other file formats are supported by Silverlight but in a limited way. A full list can be found here.

Socket Programming

The XMLSocket object implements client sockets that allow computers running the Flash player to communicate with a server computer identified by an IP address or domain name.

To use the XMLSocket object, the server computer must run a daemon that understands the protocol used by the XMLSocket object. The protocol is as follows:

  • XML messages are sent over a full-duplex TCP/IP stream socket connection.
  • Each XML message is a complete XML document, terminated by a zero byte.
  • An unlimited number of XML messages can be sent and received over a single XMLSocket connection.

Socket Programming with Flash

Silverlight doesn’t support socket programming. Silverlight supports sockets programming through the System.Net.Sockets namespace. Silverlight supports asynchronously sending data back and forth across a socket over ports ranging from 4502 to 4534. Silverlight supports cross-domain socket communications between a Silverlight application and any server, provided that a special security policy file is in place on the server.

Webcam Support

Flash has webcam and microphone support for live video and audio transmission, and using them is really easy in Flash. It takes only a few lines of ActionScript code to invoke the camera object.

Camera.get Returns a default or specified camera object, or null if the camera is not available.
Camera.setMode Sets aspects of the camera capture mode, including height, width and frames per second.
Camera.setMotionLevel Specifies how much motion is required to invoke Camera.onActivity(true) and how much time should elapse without motion before Camera.onActivity(false) is invoked.

Silverlight doesn’t support webcam or microphone.

Deployment

The Flash deployment package contains only a single Shockwave (SWF) file, and all images, text and animations are incorporated in this file. Because of the compressed nature of a Flash component, its images and text are not indexed by search engines, and thus not searchable.

The deployment process of Silverlight is far more complex; all individual components need to be deployed separately. The following components typically get sent to the client for each Web request of Silverlight:

  • XML files,
  • DLL files (if necessary),
  • Silverlight.js file,
  • Any other JavaScript file,
  • Resources (images, audio, video).

Silverlight Deployment

Read the full documentation on Silverlight deployment.

Windows Application

A Flash movie can be compiled into a Windows application and run as a standalone EXE file. It can also be played on a desktop that has an appropriate Flash player.

Flash EXE Builder

Silverlight doesn’t support playing the movie as a Windows application.

Media Streaming

Flash provides no such service to host the content and application with them. Thus, building a video website with Flash is not as cost-effective as building one with Silverlight.

Microsoft Silverlight Streaming by Windows Live is a companion service for Silverlight that makes it easy for developers and designers to deliver rich media as part of their Silverlight applications. The service allows Web designers and developers to host and stream cross-browser media and interactive applications that run on both Windows and Mac. This service can be combined with Microsoft Expression Studio and other third-party tools to create and develop interactive contents.

Silverlight Streaming by Windows Live is currently in beta testing and offers 10 GB of free hosting for rich-media applications.

Microsoft Silverlight Streaming

Conclusion

Selecting the right technology for rich Internet applications is often critical, and choosing between Flash and Silverlight depends entirely on your requirements. If you expect that some of your users will be on Linux or Solaris, then you should go with Flash. If you want your website to be indexed by search engines, then Silverlight may be better.

Besides, as Doug S. is points out in the comments, it’s worth noticing that a minority of web users actually have a Silverlight plugin installed on their machine, while most users do have Flash-support. The Flash Player 9 and higher support streaming of the H.264 video codec which means anyone with a video program that can output an MP4 can stream to Flash. There are literally hundreds of free apps on Mac, PC and Linux that can do this. It’s also important to mention that the latest version of Flash Player supports 3D rendering while Silverlight does not and that SWF, FLA, FLV, and AS are all open-standard formats, while Silverlight is 100% proprietary.

The following table summarizes the features discussed above. Rather than including arrows to indicate whether each platform has a particular feature, we’ve simply marked “better” to show the areas in which each technology beats out the other.

Features Flash Silverlight
Animation better
File size better
Scripting better
Video/Audio better
Sound processing better
Accessibility better
Platform compatibility better
Text representation/SEO better
Supported image formats better
Socket programming better
Webcam support better
Deployment better
Windows application better
Media streaming better

Further Resources

The following articles are suggested for further reading:

(al)

  1. 1

    everonsoft.com

    May 9th, 2009 6:30 am

    very nice article…. great work again…

    0
  2. 2

    You forgot to mention:

    1. Only about 10-30% of the web has Silverlight while 99.97% of the web has Flash 9 or higher.

    2. The Flash Player 9 and higher support streaming of the H.264 video codec which means anyone with a video program that can output an MP4 can stream to Flash. There are literally hundreds of free apps on Mac, PC and Linux that can do this.

    3. The latest version of Flash Player supports 3D rendering. Silverlight does not.

    4. SWF, FLA, FLV, and AS are all open-standard formats. Silverlight is 100% proprietary.

    5. Actionscript is based off the same root as javascript and AS 3.0 and javascript are extremely similar. Silverlight uses Windows-centric code languages that are meant for the desktop and are likely only to be known by desktop-app developers. Higher learning curve.

    Oh, and my personal favorite:
    6. Silverlight is Microsoft, Flash is Adobe. Say what you want, Adobe does right by the web whenever they can. Microsoft does not. Wouldn’t you rather go with the company who doesn’t go out of it’s way to make your life harder?

    0
  3. 3

    Because Linux and Solaris support is missing, users of those operating systems won’t be able to experience Silverlight on their machines.

    Sure, there is Moonlight Moonlight Project

    0
  4. 4

    Interesting article (although I only quickly scanned it)

    0
  5. 5

    Dave Redfern

    May 9th, 2009 6:43 am

    Hi, great article.

    I will always be a flash supporter purely because I don’t like MS.

    It’s sods law that this article comes out a week after i had to hand in an article comparing flash and silverlight for uni…

    0
  6. 6

    Silverlight apps are literally zipped into .xap files, and tend to be about the same in size, if not smaller. There’s a guy who implements samples in both and compares… do a search.

    Silverlight does not use “scripts.” It’s a fully object-oriented platform.

    On what basis could you possibly describe Flash as “better” for socket programming? You don’t offer any reason. Silverlight has the entire System.Net.Sockets namespace of the regular .NET Framework, as well as System.Threading, something that Flash sorely lacks. Flash is horrible for dealing with asynchronicity.

    The only real arguments about which to use involve penetration rates and suitability for line-of-business apps. At 25% penetration, Silverlight is absolutely not suitable for use on home pages. But for writing UI intensive LOB apps, Silverlight is much better suited for the task. Beyond that, there are enough pros and cons for each that you use whichever one you know. Just remember that millions of .NET developers can dive into Silverlight pretty easily, which will only encourage its use.

    0
  7. 7

    “If you expect that some of your users will be on Linux or Solaris, then you should go with Flash.” This will probably be the case for ANY website, which makes flash in my opinion the way to go.

    0
  8. 8

    Nice article, but…

    …you forgot something: to build Flash Applications, you need a large amount of money to buy Adobe Flash CS (1,2,3, or 4) to build them. For silverlight you don’t. That’s why I’m using silverlight.

    0
  9. 9

    It seems that there was no mention of Adobe’s Flash media server solutions. These are streaming solutions that use Flash’s proprietary RTMP protocol.

    And, as a previous commentator noted, Flash 10 is compatible with H.264/AVC, which is an MPEG-4 standard. Just about anybody now can encode H.264 on any platform, with tools like MediaCoder, QuickTime, Adobe Media Encoder, HandBrake, and so on. This is far more reaching than the limited VC-1 support that Silverlight has, which may be an ‘industry standard’ but which is supported by far fewer applications.

    0
  10. 10

    Collin Rountree

    May 9th, 2009 6:56 am

    You also neglected to mention the development environment. Flash can be developed on either OS X or Windows, while Silverlight requires you to be using Windows to develop any silverlight applications, and not just Windows, but the Visual Studio development kit for Windows which is not in the typical arsenal for web development. No matter how you slice and dice it, Silverlight is Microsofts attempt at redefining the standard, and in my opinion, adding support for search engines in your web application is not worth the switch when it could just be embedded in the encompassing html. Someone else mentioned the price tag on Flash, you don’t have to buy the full CS suite to buy flash. Silverlight is cheap if you don’t want to use the advanced “scripting” features found in the VisualStudio. Every version of Silverlight I saw were plugins to Visual Studio, which is not cheap either. At least as a Mac user I can develop in flash, no choice since Microsoft went the usual proprietary way.

    0
  11. 11

    I Personally prefer AJAX (or more correctly, the dynamic html+javascript UI) over flash or silverlight coz AJAX is popular because it builds directly on current web skills (javascript, html, css), doesn’t require a client-side plugin or support (even though the javascript can sometimes be an even larger download) is generally cross-platform, solved an immediate problem (async data) and for the most part, didn’t provide the enormous flexibility that Flash or Silverlight do today. Developers could wrap their heads around it, and build apps without having to have a designer background. Still, it’s hard to beat the flexibility and SEO response of HTML/CSS & AJAX in compare to Flash and Silverlight.

    Nice writing Muhammad… good analysis and great reading… Thanks for sharing.

    DKumar M.
    @instantShift

    0
  12. 12

    Never even heard of Silverlight. Never will try or even use it.
    M$ sucks.

    -1
  13. 13

    Mats Taraldsvik

    May 9th, 2009 7:07 am

    Regarding Platform Compability :

    What is “Linux 5″ ?

    Has the author looked into Mono and Moonlight – the Open Source implementation of the .NET stack and Silverlight, respectively? I think there is also support in MonoDevelop for creating Moonlight stuff.

    Mono runs on most platforms (BSD, Linux, Solaris, Mac, Windows.. ), including the Wii, iPhone and PS3. I’m sure Moonlight and Monodevelop will gain more cross-platform compability soon…

    mono-project.com

    0
  14. 14

    connecticut websites

    May 9th, 2009 7:09 am

    there’s no distinct compelling reason to choose Silverlight over Flash – the differences are subtle at best.

    0
  15. 15

    I agree with most of the article. Some of the comparisons are either already outdated or will become outdated with Silverlight 3. Silverlight 2 supports sockets. Silverlight 3 will include H.264 support, webcam support, 3d rendering support, and many other new features that will help it to get up to speed with Flash.

    My personal favorite: Silverlight is Microsoft. Programming Silverlight is fantastic. The millions of developers who do .Net can very easily learn to do Silverlight. Programming AS3 is terrible, with no unified IDE. People are quick to criticize Microsoft, but they are the most successful software company for a reason. Their development tools are unrivaled and their products are quite good. (I realize many designers are reading this and love their Macs, so please don’t attack me…)

    I like both products. They are competing in a large market and will co-exist side-by-side. I choose Silverlight when the programming will be complex and Flash when the graphical side of it is more complex. Competition will make both much better.

    0
  16. 16

    finally a non bias comparison.

    0
  17. 17

    Courtny Cotten

    May 9th, 2009 7:38 am

    SM reads my mind….just yesterday I was introduced to Silverlight by one of our engineers…how eerie…

    Good to point out the differences I asked a lot of these same questions when discussing which was better to use.

    0
  18. 18

    Wearing a developer’s hat, I can’t help but note the missing enterprise perspective. We recently made a comparison of Silverlight 3 (can run standalone) and Flash/Flex with Adobe Air. We were quite surprised that when it comes to LOB (Line of Business) applications, Silverlight already crushes Flash completely. The most important factors of ours were:

    - Tool vendors from both ASP.NET and Windows Forms are making their move towards Silverlight. There’s already a broad range of high-quality commercial components available that cover common data visualization scenarios like grids, charting, reporting etc and the buzz is swarming with excitement – there’s a lot more to come.
    - What people tend to ignore: Silverlight has a more development-centric community. While Flash was and still is a designer’s tool, your typical senior .NET guy has a deeper understanding of software architecture and the development lifecycle. When it comes to the enterprise, this is a critical factor.
    - There’s an upgrade path to WPF where you have the full .NET framework with literally 10’000s of APIs at your disposal. Silverlight XAML is nearly a 100% compatible to WPF’s, so migration is not an issue.
    - Both Silverlight 3 and Flash (Air) can run as standalone tools (out of browser). Silverlight 2 currently doesn’t provide the feature, so it’s out of the picture.

    When it comes to your typical design-centric website, Flash would be the tool of my choice – the tools are just more mature and deployed runtimes are a crucial factor. But for the enterprise, this is a completely different game.

    Cheers,
    Philipp

    0
  19. 19

    Charlie Robbins

    May 9th, 2009 7:51 am

    Silverlight supports both Frame based animations and non-frame based animations. If you are using Blend (the Silverlight designer), then your animations default to key frame based animations by default. You can control them very much in the same way as you would in Flash.

    See more on the MSDN site:
    DoubleAnimation
    DoubleAnimationUsingKeyFrames

    0
  20. 20

    Anthony Persaud

    May 9th, 2009 7:57 am

    You forgot to mention that Flash is part of the set of tools (ecosystem) provided by Adobe to make it easier to create engaging experiences by separating the workflow but keeping all items in sync.

    This article could be improved by taking into account the Flex SDK as a more developer tool/platform and the Flash IDE (“a designer’s tool” as pointed in the article).

    0
  21. 21

    Just a couple of other Silverlight facts worth mentioning:

    Languages – if you’re more into scripting languages than compiled ones such as C# and VB.NET, you can use IronRuby and IronPython to create SL apps: IronRuby and Silverlight

    You don’t need to pay for Visual Studio to use it to create Silverlight apps – Visual Studio Web Express (one of the free versions) works fine.

    And if you don’t want to use Visual Studio (or Windows), you can use the Eclipse plug-ins for Silverlight on your Mac: Silverlight with Eclipse

    0
  22. 22

    Flash lacks HTML support, Flex component such as the rich text edtitor is really worthless.
    Making a CMS in Flash you will end up using javascript HTML overlays… pretty lame.

    Website interactivity/animation/surveys/banners : Flash.
    Interactive Business Applications : Silverlight
    Flex Builder versus Visual Studio: Visual Studio.

    0
  23. 23

    Dean Janssen

    May 9th, 2009 8:09 am

    Nice writeup. Bear in mind though, that Silverlight Mac PowerPC support has been discontinued as of version 2.0.

    0
  24. 24

    Doug C. – The great thing about the article is, it’s unbiased… unlike your comment =]

    0
  25. 25

    Great article. Would just say that Flash is quite a bit better for all but the most basic, canned animation.

    0
  26. 26

    There are wrong facts here, first of all, you are comparing it to Flash CS3, when Flash CS4 has been out for a WHILE and it doesnt use the frame by frame anymore.

    And seconds, to the guy that says you need to spend a lot of cash to build a flash application, just download the Flex SDK (open source and free) and go to town.

    0
  27. 27

    Design-Notes

    May 9th, 2009 9:28 am

    Nice Article and
    Hello No 18 Philipp
    You seem to know better. Do you have a blog or website?

    0
  28. 28

    Wow, exellent article. ++A!

    0
  29. 29

    Marc Hampson

    May 9th, 2009 9:36 am

    Comparing the tech specs of the way information is distributed in the presentation of animation is one thing, but you’ve completely glazed over the fact that flash offers virtually endless possibilities in it’s web animation capabilities and experience while Silverlight offers quick canned basics. To say that it’s better or offers more in the way of animation is just wrong. I’d be lying if I said I wasn’t already a fan of Flash, and I think Silverlight brings some great stuff to the table overall. But for web animation, it’s just not a player in the same game.

    That grumbling aside, I found this article very informative as always:)

    0
  30. 30

    What about Flex ? (flex vs silverlight)

    0
  31. 31

    Flex and Flash is pretty much the same thing, but my opinion is that the comparasion should have been about Flex and Silverlight.

    0
  32. 32

    There is no “Linux 5″

    0
  33. 33

    This was long awaited article. Though there has been many comparison, a step by step and concise is this one.

    0
  34. 34

    Nice coverage of both, but the fact that there’s no official Silverlight IDE for the Mac (and most likely never will be) pretty much ends the discussion. Microsoft wants designers and creative content providers to adopt Silverlight into their workflow, yet purposely ignores the fact that the overwhelming majority of us use Macs because we can’t stand MS products. Sure, I know you can use Eclipse and all that, but the fact remains that they require you to use their OS in order to get anything significant done. I would rather be boiled in molten lead than go back to using Windows, so I guess I’m out of luck if I ever need to develop a Silverlight app.
    The dislike for all things MS is not just a snobby elitist thing, either. People who care about design have a much lower tolerance for things that are poorly designed. Microsoft’s products seem to come from a fantasy world wherein everyone – including designers – uses and loves their products. They have yet to wake up to the fact that it’s no longer the mid-90′s, and that intelligent consumers and users have moved on to things that better suit their needs.
    Silverlight, the strategy behind it, and nearly all of Microsoft’s products are just more reminders that they simply want more market share. They couldn’t care less about empowering us to design better user experiences, and really just want to get people tethered to Windows and all their proprietary .NET stuff. No thanks!

    Personally, I’ll be surprised if Silverlight still exists five years from now. Remember Microsoft Liquid Motion?
    http://en.wikipedia.org/wiki/Microsoft_Liquid_Motion

    0
  35. 35

    It seems like the author is a flash fan-boy.

    I have been developing in Flash for about 6 years now, and there are many many irritating things like the way flash handles threading (slowing down the movie on each thread running) etc. And communication between Flash and your web application is tedious to say the least. That being said, I am relatively new to Silverlight, so I havent yet discovered what will irritate me about it.

    0
  36. 36

    The article was useful but only gives a limited idea of what is possible with either technology – both can be ‘better’ than the other in a lot comparisons depending on how you choose to use what is available. You say silverlight has ‘better’ animation support – but it doesn’t have full IK (bones) deformation and animation to my recollection – also you talk about Flash animations be frames-based this is true but there is also the capabilities for time-based animations too – Flash has so many ways to achieve a result it can be both incredibly powerful but also easy to miss the potential ‘best way’ to do something. I’m sure Silverlight is similar too – personally I felt let down by the tools MS provided as they didn’t maximise the technology’s potential – but this is improving with each iteration.

    Oh, and for video – you gloss over Flash’s standard codec support like it only has the bastardised sorenson – that was so long ago – it had the on2 VP6 codec since then – and now has mpeg4/h.264 support with aac audio – it will play standard quicktime mov files (which typically use an mpeg4 codec) as well most mobile phone video content .3gp as I understand it. It also has speex codec and server support for creating your own VOIP / video conferencing apps (amongst other things) Again, I’m sure Silverlight has a similar advanced feature set so I don’t want to appear like a Flash fanboy – but this article is misleading because it suggests this is the majority of what the technologies do – but they can do a lot more!

    P.S. you don’t have to compile all your assets into the SWF – you can load them dynamically at runtime if you want them to indexable in there own right, or just for convenience, plus not all text is stored as shape outlines, dynamic textfields cannot be stored this way and so the text has to be present in the SWF, and also can be changed to text created with script or loaded remotely. Again I would think SIlverlight could do this too ;)

    0
  37. 37

    it is simple
    after all my effort given to flash doubtlessly i will stick with it
    no matter what silverlight or “goldenlight” might be

    0
  38. 38

    Flash is expensive, really? Try downloading FlasDevelop and the FlexSDK and you’ll be on your way without paying a dime. There are tons of classes out there to facilitate doing stuff like Augmented Reality, 3D, physics, tweening, preloading, multi-touch, etc, not to mention the plethora of tutorials, blogs, guides and forums out there to help anybody learn Actionscript. Flash is the clear winner.

    Having said that, I’m glad Adobe has a competitor just to keep them in check and innovating.

    0
  39. 39

    DaveDigerati

    May 9th, 2009 11:18 am

    How could you forget to mention that Flash is ALREAD INSTALLED on close to 100% of the computers out there, while Silverlight is down around 25%?!? And that Flash will be similarly dominant in the mobile players?! HUGE OMISSION.

    And btw, you should look at Microsoft’s own http://vine.net website where they USE FLASH INSTEAD OF THEIR OWN SILVERLIGHT. That should tell everyone something about the importance of ubiquity…

    0
  40. 40

    Yes, the comparison should’ve been Flex vs. Silverlight. MXML vs. XAML – not ActionScript vs. XAML. The equivalent of Flash in the Microsoft ecosystem would be something like Expression Blend.

    Good article, however I have to disagree on the Silverlight beating out Flash on the animation side. For anyone that’s ever built interactions using triggers in Blend, I think they’ll agree that it’s substantially easier to build the same interaction in Flash using event listeners and timeline-based animations.

    The latest version of Flash has so much more to offer with regard to animation. Bones and rigging anyone? 3D support? Flash is a VERY solid animation tool – and beats Silverlight hands down.

    0
  41. 41

    This is article is biased to the point of being fanboi, with a couple of “pro-Flash” points put in to pretend it’s not. Example: “Industry standard VC-1″? Really? Except that H.264 is available in virtually every single place that VC-1 is except for MS products, and in an order of magnitude more places total (Flash, iPods, DirecTV boxes, mobile phones, etc).

    And does no one remember the ActiveX fiasco? The only difference there was that MS had enough market share at the time where they could afford to make ActiveX only run on IE/Windows. What happens when MS decides Silverlight is well-supported enough that, say, version 5 is going to be IE only? Or purposely makes it perform so poorly on the Mac or on other browsers besides IE that IE becomes the default choice? There’s no denying that these are possibilities because they’ve done similar things in the past countless times. I can’t imagine any serious web developer risking being subject to MS lock-in again.

    0
  42. 42

    Linux 5? Do you mean Operating system 4? or Computer 6?

    Interesting article but there are obvious gaps in what relates to non-Windows OSs ( e.g. Ubuntu is not Linux?). The author does not seem to know what Linux is when he does not name the popular distributions or confuses kernel with operating systems and distributions. There are other issues. For example, the author does not specify if Microsoft is providing its WMA encoders on Linux, and if there is a decoder available (what would you do with your data once it is formatted for Silverlight?). I don’t think MovieMaker is available on Linux either… and what about the Mono project (& moonlight: http://mono-project.com/Moonlight )?

    Also, Flash support interpolations where you just need to define begin and end conditions. That makes the comment on Animations incomplete. I am not a Flash expert, but I thought I read something about Flash server and streaming (Google gives that link for example : http://www.adobe.com/products/flashmediaserver/fvss/). I have no idea how that compares to Silverlight streaming but it sounds related to me. Finally, I was surprised there is no mention of Flex or the Mono project, or even Adobe AIR.

    The article does not look at software interoperability either. Does Silverlight works as well with Firefox (or Opera, Konqueror, etc.) as with Microsoft IE? As one commenter says above, the business environment should be considered. If you are a Microsoft shop then Silverlight has obvious advantages but may be not as much if you are a Java shop, a PHP shop, a Linux-based business, etc. Future articles could look into that direction. A comparison of interoperability features and “playing nice” with IT environments would be interesting as well.

    0
  43. 43

    Awesome article. Good job!

    0
  44. 44

    Hmmm.. I’ve been using Flash since v. 3.0. With all those irritating things in Flash it is such a powerfull tool not only for programmers/developers but for graphicians too. Author didn’t mentioned it, as he focused on tech-level comparision, which is a huge mistake for such comparision. How do you say, SL has better audio/video support? What about learning curve, what about single-file-deployment in Flash. I’ve tried to use SL but it’s typical MS tool – too much complicated, thousands of separate files… Flash advantage is very huge in most cases, while its weaknesses are rather subtle. I personally was quite impressed how artists are making a use of Flash while the cannot do a single thing in SL. I saw some apps made in SL – they are slow and very unstable, even on MSIE. Have you ever heard of unstable Flash application? Once it works properly, it does work everytime on different machines/systems. And… games. Please, show me SL games. They present the level of early 90′s games made on Amiga.

    0
  45. 45

    read more at boycottnovell.com

    May 9th, 2009 11:53 am

    Silverlight is a lie and a proven patent trap.
    Moonlight is NOT – and will never be – equal to the Windows version.
    It’s all about microsoft’s fud and obsession to own everything and everyone.

    0
  46. 46

    I’m really surprised how that article did get on this site. It’s not about differences about technologies – it’s an article about flash and how to find ways to show that it’s better than silverlight – including lying. Author read something about silverlight and to find its problems and things that it’s missing. Not knowing about Moonlight (and Monodevelop which allows to create and run silverlight apps on Windows, Linux and Mac OS X – there’s also IDE based on Eclipse to do the same).
    On the license side of both technologies – there are no differences. Microsoft Silverlight and Adobe Flash are proprietary, both file formats are publicly documented standards.
    When it comes to programming – silverlight gives much more – it’s language independent since version 2.0 (the logic can be written in any .NET language). It supports playback of WMA, WMV, MP3 and AAC, H.264 since Silverlight 3. It also supports 3D, pixel shaders and uses GPU to accelerate those operations. It does support socket programming – on much higher level. There are tools for creating executable files from silverlight applications – even free ones. Moonlight on the other hand did make it possible to use silverlight applications as desktop widgets.
    I’m not a fan of silverlight technology – I do know a bit about it – just a bit but I see that it’s more that author of this article did know about when searching for information for this article.
    There is one big problem with silverlight with which I have to agree – flash is more popular and it makes it more difficult to develop in silverlight rather than flash. that’s why from time to time I have to develop in flash (and hack it to do what I want – especially when using AS2) insted of any other technology.
    don’t get me wrong – I’m not a MS fanboy – I try to choose and use technologies that are usefull for certain needs – I just see that some people hate MS so much that they will write anything to show other how much it suck.

    0
  47. 47

    @Radeksonic: What part of open standards didn’t you understand? You don’t HAVE to use Adobe’s IDE to get the job done, there’s plenty of free third-party IDEs for that.

    0
  48. 48

    It’s only a dream in someone’s imagination that those of us who use *nix have any real interest in Mono. Whenever anyone tries to push Microsoft software on us they always say “It runs on Mono!” as if that means anything to us and makes us have a burning desire to install or use it.

    It’s also funny to see Windows developers think Silverlight is so much better because it integrates well with Windows and Microsoft tools. This means nothing to us who don’t use either and have no use for either.

    The internet is a *nix world, no matter what Microsoft wants you to believe and think, and it will never be Microsoft’s world.

    0
  49. 49

    This article doesn’t say that Flash is good over silverilght. Its a technical comparison and if flash is good then its good.

    I liked the comparison though!

    0
  50. 50

    No one mentioned Flash Media Server or Flash Lite
    As Flash developer I cant see anything interesting here – sorry

    0
  51. 51

    It’s odd how the Flash users think this article is biased towards Silverlight and misses the benefits of Flash, and the Silverlight users and Flash ‘dislikers’ seem to read this article like it is biased towards Flash… As a long-time Flash user I think it unfairly misses some of what makes Flash a superb technology. As a lightly-trained Silverlight developer who works for .Net focused companies I feel it incorrectly weighs things up when really both technologies can do pretty much anything you’d ask of them if you learn how to use them. I don’t feel this article was a deep look at the technologies’ capabilities. But ultimately if you are a .Net developer you’ll think Silverlight rocks (largely because it gives you the power to create something that you used to have to turn to the mysticism of Flash and it’s developers for) But from a code point of view both .Net languages, and AS3 (including pixelbender and Alchemy) provide such fantastic capabilities a comparison should be less about features, and more about “which do you like to develop better?” It’s a personal choice – but for me, until Silverlight (player) has reached the adoption level of Flash (player) then it’ll be Flash whenever I need some ‘rich interactive blah blah blah’. For each case/project you should think of what markets you want to reach and then work out which technology provides the most easy/best/cost-effective approach, taking into account you and your company’s skillset – there is no true winner between these technologies – they are as much different as they are rivals – I hope people make their decisions based on their own research and testing and not fairly shallow comparisons.

    0
  52. 52

    expressions

    May 9th, 2009 1:15 pm

    Thank You SM,
    And to readers, the article is about pros and cons :)
    I know flash. Its great.
    I am learning Silverlight because of easy learning curve.

    0
  53. 53

    Is Silverlight the plugin that has made my browsing experience worse? In past times, clicking a pic link would open that pic, i.e. the browser would browse its way to that file and display it. Now, the current page dims, an Aero-looking spinning icon appears, then a new frame expands into view with my picture in it. And I can’t right click on it. And I have to aim for a tiny (sometimes nonexistent) ‘close’ button on the bottom of the picture. Pics are scaled, too, with no option for manipulating the size (which I am used to, being a firefox user with addons specifically for this task).

    Guess you could call it a strictly end-user persepective, but I FSCKING HATE THAT. I’m not even using Silverlight, or an MS browser for that matter!

    0
  54. 54

    I can’t believe one can compare the quality of flash’s animation tools with the toddler tools silverlight gives you. Flash’s animation tools are so many, there are a thousand and one ways to animate with it. You’re not limited to one tool, to fbf, to tween, to do swap symbol animation etc. It gives you so many options from beginer options such as basic tweens to the after effects advanced motion tween system with the ability to reuse animation. Silverlight has a long way to go in my opinion before it reaches flash level.

    0
  55. 55

    Charlie Hayes

    May 9th, 2009 1:32 pm

    This article is wrong on nearly every item. The author of this article should be ashamed of themselves.

    0
  56. 56

    Oh wow….just wow. What a misleading article. I really expected better of Smashing Magazine; at the very least an editor could have done a quick fact-check of these points. Virtually every point about Silverlight is outdated by 6 months to a year, except for the ones that are completely wrong.

    For example, claiming that Silverlight doesn’t allow for the creation of a desktop app. Silverlight by definition is a subset of WPF, which primarily exists to create desktop apps. Also, deployment for most folks is just embedding a .xap file into your html with a single line of code – how is that complex? It also supports tabbing between fields, has audio playback support, supports sockets, etc etc.

    Again, I’m very disappointed to see this here. Criticism is one thing, but trolling a few message boards and rewriting half-truths as fact for a “legit” comparison is quite another.

    0
  57. 57

    @Leon: it is fun to read about Silverlight features outdated by 6 months, when author fails to mention things that were available years ago in Flash (mxml, media servers, h264 support and a few more) – so – please don’t complain ;)

    Oh, and as per pricing – I understand that people aren’t happy about paying for tools and I guess it is fine if you do open source or free work, but most people use Flash and microsoft tools to do real work, as in “for money”, so paying for tools isn’t really a big deal, especially that development services tend to be costly.

    As mentioned before – Flash development can be free – flex sdk is the way to go and it is pretty straightforward, but my choice here is Powerflasher FDT for Eclipse, it saves me hours of every project time.

    0
  58. 58

    Flash is my preference for obvious reasons. It’s has better file compression, integration with PHP, ASP and Ruby On Rails, it supports all image formats, it has webcam support, it’s easy to deploy and supports SWF, FLA, FLV and AS, all open-standard formats, while Silverlight is 100% proprietary. One more thing, I’m a Linux user, Silverlight doesn’t work on Linux.

    0
  59. 59

    I dont understand how SIlverlight can be better in Video/Audio?
    If im right you can play FLV, MP4, M4A, MOV, MP4V, 3GP and 3G2 with flash?

    0
  60. 60

    Richard Sakai

    May 9th, 2009 2:23 pm

    Go with flash, Silverlight doesn’t officially support Linux and also Flash adoption is higher very close to 99% whereas Silverlight is much less.

    0
  61. 61

    No microsoft, i won’t install your bad attempt at stealing adobe’s market.
    Another reason why you shouldn’t use silverlight, you won’t reach stubborn people like me, less $ for your bussiness.

    Oh and, how the hell do you explain silverlight beating flash in video?!

    0
  62. 62

    bolomkxxviii

    May 9th, 2009 2:30 pm

    Silverlight requires .net. That is a non-starter for me. Also, for those who have mentioned moonlight for linux and solaris, you obviously haven’t tried it. It is a poor cousin to Silverlight. The ONLY good thing about Silverlight is it will push Adobe to fix some of the weaknesses in flash.

    0
  63. 63

    Silverlight = DRM.

    0
  64. 64

    This article reflects a sound knowledge of author regarding these two products which are major market shareholders. It really gives me good overview of both technologies. Great!!! Keep it up.

    0
  65. 65

    oliver, priest

    May 9th, 2009 2:49 pm

    I’m using Flash/(FLEX).
    Silverl. is kind of nice but .. meh … u know ;)

    0
  66. 66

    You really shouldn’t compare Flash to Silverlight, compare Flex instead!

    0
  67. 67

    Wow, I don’t even know where to start with the factual inaccuracies of this article. I hope that anyone seriously interested in learning the differences between Flash and Silverlight continue searching, and forget they ever found this page…

    Don’t even get me started on recommending outdated formats like WMV over codecs like H.264 because “everyone has access to Windows Movie Maker”…

    0
  68. 68

    This is a great in-depth description of these two technologies, and I like that it keeps an impartial tone. I tend to go with technologies that are compatible with most browsers (Flash), but have worked with both and they both have advantages and disadvantages. Excellent!

    0
  69. 69

    I think that its important to note that the author is refering to Silverlight 1 deployement when they say you have X number of files you have to deploy. Silverlight can be deployed JUST like flash and uses a .XAP file, which is really just a zip file (change the extension to zip to see the files) and can be embedded into an object tag just like an .SWF

    0
  70. 70

    Make sure you do the most important comparison of all – see how well your page works in Linux and Mac.

    0
  71. 71

    Martin Doms

    May 9th, 2009 4:50 pm

    FYI Silverlight does indeed compress application files. The client receives a .xap file which is a zipped, minified version of the client XAML and resources.

    0
  72. 72

    Sorry for posting again.

    Besides the obvious, we can agree that both Flash and Silverlight have about the same scope of functionality, even if one has a slight edge over the other. If your goal is to stick an animation into a HTML page, then sure, I would say use Flash. I have been using flash for 6 years now, and come from a programming background. AS being a loosely typed language, rather sketchy intellisense and lacking some cool functionality to jump to methods by with the “go to definition” functionality MS tools have, I find that given you take the time get to know the IDE and power that access to all the core libraries that .NET has gives you, I dont think Flash will snuff out Silverlight. Then take into account how far Silverlight has come in a few short years, as opposed to Flash then we are starting to notice that Silverlight today might only be the giant waking up. Im not a MS fanboy, I choose the tool thats best suited for a job.

    From a personal perspective, I also have to mention that the Silverlight IDE compares well against the flash IDE and after a long day’s coding and recoding, my code just feel more manageable in Silverlight (if that even makes sense)

    0
  73. 73

    Wow, after reading all the comments, it’s clear that this “comparison” does just as lousy of a job describing Flash as it does Silverlight.

    What’s even sadder is that I can count on one hand the number of commenters who are able to look past their biases enough to realize this.

    0
  74. 74

    the only reason I prefer Silverlight, is because if I stream something full-screen in silverlight, it doesnt take up 40% of my E8400 (both cores…) to do it. Flash for some reason decides in needs almost half of my powerful CPU, and thats really annoying to me…. I’ve tried on XP/Vista/7, and flash behaves the same way.

    0
  75. 75

    Chris Morledge

    May 9th, 2009 7:15 pm

    Seems to be a few out dated or just plainly incorrect statements in this article. Plus some comparisons where not exactly like for like. Not of the high standard I tend to find on SM.

    0
  76. 76

    You have animation and video won by Silverlight, I work designing for both platforms, and I would argue this conclusion as currently, Silverlight has no transparent video support, making it very difficult to implement smooth canned video animations, say, rendered in After Effects. Sometimes in the real world it is not practical to code animation sequences, and therefore the option to bring in a transparent video asset is priceless. Great article, I enjoyed it immensely. You are also brave for touching upon a topic that is bound to cause a flame war of bias and untruths.

    0
  77. 77

    Another anti microsoft, mac-nix article from smashing. Stick to what you do best and go compile another “top ten jquery” article, and leave the writing of these articles to people who care enough to provide educated insight. As a designer who works primarily with ms tools (rare enough) I find the consant attempt to jutify a mac purchase a little tiresome.

    0
  78. 78

    @Gonzobot: that’s ajax code, has nothing to do with Flash or Silverlight.

    @Lucky to call Expression Blend a “toddler tool” tells me you haven’t invested any time in it. Don’t confuse lack of experience with lack of capability.

    @Addi surely you’re kidding

    As for Linux users in the comments: well, you’re important for sure, and I want to see both tools have the broadest reach possible, but your web browsing market share is currently less than the iPhone’s. Just saying the web is a “nix world” doesn’t make it true.

    As to the article. I can only comment on the Silverlight inaccuraces (except for a few things that even *I* knew were wrong regarding Flash), but this article has so many issues that I’m embarassed to see it on the net. I hope folks who read it also read all the comments here so they can see just how wrong this article really is. It’s a research paper without any research, a supermarket tabloid-level comparison of two awesome technologies.

    XAML is absolutely compressed. At the very least, it is compressed by the standards-based compression method used for the application package – zip.

    On languages, don’t forget that you can use IronRuby and IronPython. There is no back-end server requirement, so all the same back-end technologies that work with flash (PHP, ASP, Ruby on Rails) all work with Silverlight. C# is an open standard language more so than ActionScript if you want to be picky. Silverlight’s support for .NET is a subset of .NET, not the “full power” or for that matter, full install and footprint, of the .NET CLR. 4.5mb gets you everything you need.

    Media: I can’t remember the last time I saw serious video done in Windows Movie Maker :P. On formats, why did you leave out Flash and Silverlight H.264 support? Please note that Silverlight 3 has native support for H.264 and also allows you to easily create your own codecs in managed code. Those same APIs can be used to dynamically create audio (see my synthesizer example here: http://bit.ly/FtCNs ). This approach isn’t as nice as what you get with Flash, but there is an example showing how to play .wav files as well.

    Accessibility: Silverlight has support for the accessibility APIs used by screen readers and other tools. It also has support for keyboard navigation. I seems you didn’t do much investigation there. I haven’t investigated Flash on this front, but my colleages on that side of the aisle tell me the accessibility support in Silverlight is much better.

    Platform: Silverlight 2 and 3 do not support PowerPC Mac. Linux support is provided by the Moonlight team – an open source version of Silverlight that runs Silverlight applications without requiring a proprietary player.

    SEO: Your example is really a red herring. Flash does not support indexing of the most important thing: dynamic content. What does it matter if field labels and static content can be indexed? That’s a pretty small part of the picture. Silverlight 3 and .NET RIA Services have a great SEO story, and fully support deep-linking into Silverlight apps. As with any RIA, it’s still more work than straight HTML, but the results are very promising.

    Sockets: It should be stated that the Socket support in Silverlight is true sockets support, not something that imposes another protocol over sockets. What Flash supports is not really sockets, so to say it is better is just silly. Perhaps compare Flash “sockets” with Silverlight WCF Duplex then.

    Deplyment: You are two versions out of date with your Silverlight deployment information. Silverlight requires one thing: a .xap file. The .js file is a helper just like the flash helpers out there. The .xap file is conceptually similar to a .swf, but is easily inspectable as it is based on the standard zip file format. The two are equal here with Silverlight having an ever so slight edge in that you can inspect the deployment package and alter config files and whatnot without resorting to a proprietary tool.

    Windows app: Most silverlight 2 code can be compiled as WPF with minimal changes. Not exactly a hands-off process though. In Silverlight 3, we have cross-platform desktop application support. Similarly, Adobe has AIR. Not sure why that was left out of your comparison. If you want a windows-only solution, there are free solutions out there that host Silverlight apps out of browser in windows with no code changes.

    Streaming: Silverlight 3 also support IIS Smooth Streaming.

    You also forgot things like hardware acceleration, easing, keyframe animation, behaviors, true multithreading, simple network access for SOAP, WCF, REST, JSON and other services, the 3d transformations and pixel shaders available in Silverlight 3, the awesome Blend tooling which truly integrates design and development for good round-tripping and many other things. You can also build Silverlight applications using free tools on Windows, Linux and Mac OSX (Eclipse4SL).

    While it’s hard to put together a good comparison between the two products, it’s obvious to me that you didn’t even try. Anyone who thinks this is non-biased simply didn’t do their homework.

    0
  79. 79

    FWIW, this article is *so* bad that I would actually like to see it pulled. It does neither technology any justice.

    0
  80. 80

    Jeff Putz said ” Silverlight is absolutely not suitable for use on home pages. ”

    You say that like Flash IS suitable to be a home page. Flash Web site, despite how often it is misused for this purpose. Web = hypertext, Flash is not hypertext.

    Silverlight is based on Xaml and is a reduced set of Microsoft’s WPF (Windows Presentation Foundation) application technology. Silverlight is just getting started. WPF is amazing compared to previous application technologies in its power, ease of use and fine graphics detail. Adding a hardware-accelerated pixel shader is as simple as adding an XML tag in a Xaml document. Latest demo I saw was a working 2-D control (a textbox) mapped onto a 3-D surface. When it can’t be hardware accelerated, it falls back to software rendering.

    These technologies will make it into Silverlight when it matures (3.0 due out this fall). The only thing slowing it down is making sure everything works cross platform (Linux / Windows, Mac).

    Flash will have a challenge ahead.

    Many more of the technologies in WPF will make its way to Silverlight, just give it time.

    …and yes, Silverlight technologies do work on Linux. Use “Moonlight”, the open source linux implementation.

    0
  81. 81

    Windie Chai

    May 9th, 2009 8:56 pm

    Silverlight deployment is simple as flash, flash file is a swf file, silverlight file is a xap file, why flash is better?
    And Silverlight can play as a windows application like flash in silverlight 3.

    0
  82. 82

    Scott Barnes

    May 9th, 2009 9:04 pm

    This entire article has had shallow research on both platforms. I actually find myself disagreeing with majority of the points on both platforms not just the one i look after.

    I’d ask that the author reach out more to the owners of both brands to get a more detailed perspective in future – as clearly the comments beneath the article indicate folks are in vocal disagreement.

    -
    Scott Barnes
    Rich Platforms Product Manager
    Microsoft.

    0
  83. 83

    Note: Silverlight 3 is not released. So stop talking like Silverlight 3′s features are currently available. They won’t be for at least another 4-6 months.

    0
  84. 84

    Extremely poor article. A lot of false information and representation, many vital points are missing.

    0
  85. 85

    @Dude

    Silverlight 3 will be out “this summer” and is currently available in public beta. Otherwise, point taken. Even if you compare Silverlight 2 to the current version of Flash, this article doesn’t even come close to getting the facts straight on either side. It compares parts of the September 2007 release of Silverlight (Silverlight 1) with info from the Silverlight 1.1 alpha of May 2007 against some old release of Flash that didn’t support h.264.

    Silverlight 2 was released to production in October 2008.

    0
  86. 86

    I think the article was not bad. It missed stuff on both sides – the biggest is it’s totally mistaken claim that SL isn’t compressed and requires deployment of several files. It is compressed and requires deployment of precisely one .xam file which is just a .zip file with different extension. My personal take is that flash has the better animation stuff and if you only need light programming and heavy animation it’s probably the way to go. For heavy lifting on the programming side, I’ve used both Flash and SL and C# is a much better language in a much better IDE for heavy programming than ActionScript. And if you don’t like it, use C++ or IronRuby or IronPython or J++ or F# or… There’s just no comparison when you’re comparing languages, especially when it’s a large family of languages for Silverlight vs. only one (ActionScript) for Flash. Also, Flash has been around for a LONG time which is good for it’s market penetration – definitely a point in its favor, but all these technical issues like Webcam, etc. – SL has come a long way in a short time and I can certainly expect that it will have all or most of them very shortly.

    0
  87. 87

    Jasvinder Singh

    May 9th, 2009 10:43 pm

    Nice article.
    Expecting some more article and resources on silverlight. Specially for designers

    0
  88. 88

    Brian Houston

    May 9th, 2009 11:24 pm

    That MS is given equal footing on Smashingmagazine – with their latest FUD encrusted crappy copycat “embrace and extend” technology – is quite dissapointing.

    Do not fall into the Microsoft patent trap. I smell MS payola in some of the comments here as well.

    Please f-off and die Microsoft – I for one remember J++, Internet Explorer 6, and no inclusion of Java runtime.

    0
  89. 89

    I wonder why such a stories never change…
    Which is born before? The chicken or the hen?
    It seems that the comparison (and most of the comments) arise fron the radical hating for MS (as the richest Co), but not from objective reviews, instead.

    Techinacally speaking, I would have strongly separated WHO is using this kind of techonologies: I guess that SmashingMagazine is most a web-deisgner community, so the Flash solution will be always appreciated…no doubt!
    I am a desktop developer (not a web one), having LOB solutions in mind. I surely find better to share the same sources between desktop and web…the market uses MS at most: why have I to drive crazy developing in two-three different languages?…The costs are absolutely out of target…
    As a huge estimator of WPF, I still haven’t see anything similar as a compromise of: simplicity, realibility, flexibility and economy…anyway, I am ready to change my opinion…
    This is an HUGE impacting factor when developing a commercial solution!

    For the “crucial” choice between MS or “anyone else”…
    Adobe isn’t a saint: the Co. value is 1/10 the MS, but it is among the most powerful in the world…PDF, Flash, PS are proprietary formats, even “open”…what does mean “open”?
    As for me “open” hasn’t any particular meaning, because I must think that about 100% of customers do knows “PDF” as document format, have “Flash” installed (shipped with Win) and (probably) a PS-driver printer…

    So, please…tend to make reviews, comparisons and comments adherent to an objective point of view.
    Cheers

    0
  90. 90

    Just repeat:
    “it is simple
    after all my effort given to flash doubtlessly i will stick with it
    no matter what silverlight or “goldenlight” might be”

    0
  91. 91

    @Pete Silverlight 3 cannot be used for any live applications today, and is therefore entirely irrelevant to this comparison. There is not even a “go live” license for the beta of this product that’s available and the history of Microsoft announcements that use vague release dates like “this Summer” hardly sets any kind of precedent for believing it or basing any kind of decision on whether to use it for work being undertaken today.

    The article is (and should be) comparing what can be done (and released on the web) with products TODAY. Silverlight 3 CANNOT be used today to release anything on the web, so is irrelevant to the comparison.

    That being said, I agree that the article is unfair to both sides. But you only have to look at the replies here to realise that whilst those dissing the article for poor research and facts are equally culpable in their replies!

    0
  92. 92

    It is really not fair to not mention moonlight because, imho, it will be (starting with version 2.0) a better silverlight on linux than the linux flash plug-in compared with the flash plug-ins for the other platforms.
    Silverlight 3.0 and Moonlight 2.0/3.0 will be not only an alternative to flash but also to Adobe Air on all platforms. Also Moonlight will probably be a nicer enviroment for making iPhone apps than Objective-J and the tools from the SDK if Apple plays nice.

    0
  93. 93

    Using MIcrosoft? Of course!!! But only in jokes.

    0
  94. 94

    I find it completely scary that a reputable design site is even considering the benefits of Silverlight. It’s Flash competition just for the sake of it. Just like Zune, they are doing something just so they can be seen to be competing in events they’ll never win.

    The only thing Microsoft has given the online community was IE 5 for mac. Since then it has only brought us down by providing incredibly poor products and forcing them upon the world. IE 6, 7 and 8 are all far below par and are holding back the entire development of the web. Anyone who actually designs and builds for the web knows this.

    The sooner Microsoft is dead the better. You can assist this process by not ever using their software and advising those around you to do the same.

    0
  95. 95

    Bishoy Labib

    May 10th, 2009 1:23 am

    I have a note on the file size issue.
    Starting from Silverlight 2.0 it generates a .xap file which is actually a zip file that you can extract the various project files from, including .NET assemblies that contains xaml files.
    This means that the non compression technique discussed above is not valid on Silverlight versions 2.0 and later.

    0
  96. 96

    the author should have compared flash and silverlight in terms of server push too

    0
  97. 97

    good one! this time
    i m bored with logo n other graphics posts

    0
  98. 98

    bassem zaitoun

    May 10th, 2009 2:36 am

    Very useful article ya Muhammad

    0
  99. 99

    I’m not sure about the exact stats, but surely php is a more commenly server technology, so surely this is a pretty good reason to use flash. MS servers cost alot more money to host on, most clients would be turned off by this.

    0
  100. 100

    flash is the best for me

    0

  1. 1

    I think that the comment are too much more biased than the article itself. Actually the article is nice, and just traces a parallel between both tools. Obviously the writer has no one (or very small) experience with SilverLight. But – what the heck – I doubt that anyone here (or anywhere) can tell that has DEEP experience in SL!

    Anyway, I have seen people above speaking in defense of Flash and others doing the same regarding to SL – what in my opinion is very childish since as developers we would be always focused on find the better tools instead to fight each other in name of big companies. Come on, people – not MS neither Adobe will be sharing their revenues with you just because your passionate comments! LoL!

    Anyway, back to the point I think that both platforms has advantages and disadvantages. I am a Flash guy and a .NET developer for years now and my better wish would be to see Flash incarnated into the .NET platform (AKA SilverLight).

    However, as usual (and again!) Microsoft has released a product in a rush with an apparently unfinished tool instead to make their homework accordingly. It sounds at least as stupidity to release a web tool by ignoring Linux.

    I am about to develop a desktop application for the company I work for because they are MS freak and they want one of our old Flash tool converted into SL. It will be very fun for me! But obviously my situation is very comfortable as I will be paid to learn SL as by my bosses request, then even if SL becomes a big failure in the future I won’t have lost anything…

    However, for all the ones that work as freelance developers, I think that it is a dangerous bet. At least for a while. It may mean a big learning curve, and after then, ends as a faulty idea. In my almost 30 years of experience I have seen lots of great nice tools come and go. Anyway, I think that is better to be careful.

    I think that SL MAY be a great tool some day, but for now it just look like a nice golden pill. The fact is that I don’t think that it is fair enough to compare a mature tool with over a decade of attested success with a new born. It is not fair for both ones.

    Let’s try again in 3 years or so. And, of course only if it become Linux friendly. Otherwise, not even in century!

    PS: Just for the records – I am NOT a Linux user – I am only a realistic and conscientious developer!

    :)

    +11
  2. 2

    Obviously, this comment is also biased. For example, the “smooth streaming” as is worth noting, is nothing but a technique similar to the good’ol RealMedia streaming, sacrificing video quality for continuous playback.
    Silverlight is lacking in many respects, just like Flash is, but they each have their own specific drawbacks. Overall, neither of the two is suitable for streaming HD video, no matter what is claimed – this is from practical experience. Flash puts a heavier load on the CPU than Silverlight does, which makes Microsoft’s solution better for potentially embedded use, but at the same time, the actual quality of the result is seriously lacking.

    +5
  3. 3

    This is definitely a biased article. Many things about Silverlight have been overlooked based on lack of experience.
    File size is actually smaller for silverlight if you know how to use the tools Microsoft has provided in their toolkits. As well as all of the files are automatically zipped in to a .xap file by Visual Studio. So there is no need to worry about all of the files it generates. Some of the files listed like Silverlight.js aren’t needed on an ASP.NET server because they are already provided. The Silverlight.js just exists as a helper for sites that don’t necessarily have server-side functionality.
    The sound processing is somewhat lacking in Silverlight. Although Microsoft provided a way for your code to process incoming media streams before they arrive to the MediaElement. This is something that is done seemlessly without modifying the existing functionality. One example of this is Microsoft’s Smooth Streaming technology. This is something that this article failed to mention but is definitely worth noting. Expression Encoder will encode videos at multiple bitrates (generally about 8). And as your watching the video, the appropriate bitrate will be selected based on your computer’s processing power as well as download bandwidth. The transitions between bitrates are smooth. There is no jitter. The video just get clear or blurry. And videos always start immediately.
    The accessibility features of Silverlight are all the same as flash if not better. Silverlight supports close captions and hotkeys as well. And it seems the author just didn’t know about those features.
    Something this article completely left out was Moonlight. It is the Mono Project’s Linux implementation of Silverlight. Mono has some sort of contract with Microsoft to provide the implementation exclusively. And from what I’ve read, they have the Silverlight source code as a reference. So Silverlight is supported on Linux platforms as well. And Microsoft makes this known on their own site.
    I’ve found Silverlight handles images very well. As well as another format called “Deep Zoom”. With Deep Zoom your images are split up in to several files, much like the smooth streaming. As more and more information for the image is downloaded, the image becomes more crisp. Silverlight will only download the information necessary to display the image at the rendering size untill you try to zoom in on the image.
    Socket programming is very limited, but for security reasons. Still most scenarios can be supported with Silverlight. And time-saving tools exist to really speed up communication scenarios. Silverlight supports WCF (Windows Communication Foundation). This is the same framework that .NET has been using since version 3.0. In addition, Microsoft has provided a new product called RIA Services. Which allows you to do database operations and ui binding without writing any code. Aside from binding your xaml elements, it’s all drag and drop. RIA Services also has full customization for field validation. A really impressive toolkit, completely integrated in to Visual Studio.
    Silverlight 4 beta supports webcam and microphone. Sure they’re a little behind. But it’s version 4. What version is Flash at?
    I found deployment to be way simpler than the auther makes it out to be. Infact Microsoft provided a complete javascript framework to provide functions I used to spend hours searching the internet trying to find ways to do with flash.
    There is no mention of “Out-of-Browser” mode for Silverlight. It basically puts a link to the application directly on your desktop. It runs in it’s own window not contained in any browser window. As well as the entire Silverlight program is an ActiveX COM dll. So you can include it in any application. In addition, writing apps for Silverlight is the scaled down version of writing them for WPF and .NET 3.5. So if you wanted to make a stand-alone exe, you would just create it as that type of project. Code can be cross-referenced from both types of projects.
    I haven’t seen true 3D hardware accelerated graphics in either. Infact, what I have seen in flash looks like prerendered alpha video. Unless flash has a poor 3D engine and is rendering those “compressed video blocky” effects. I’m guessing if this is the case, 3D is prerendered in your flash designer. Silverlight does have support for true 3D transformations of 2D objects. Alot can be achieved with this, but still no 3D games. I’m sure some day we’ll see true 3D hardware acceleration from both. But until then, 3D alpha video is the best solution. As any 3D toolkits will be extremely slow.
    Microsoft also has a toolkit that allows you to export your 2D XNA games to Silverlight. This means the same framework you use to make games for PC and XBox 360 can now be used to create games for Silverlight as well. Simplified, yes? And with that hanging over their head, I’m sure 3D support is coming soon.
    Silverlight 4 beta also has full printing support and full mouse support. It also supports a wide range of new media services including downloadable digital copy DRM and full 1080p HD.

    +4
  4. 4

    This is article is sad.

    This shows how media is capable of showing facts upside down.

    I am disappointed with smashingmagazine to present such inaccurate information . It is unfortunate that this article gets a high rank on search engines. I think smashingmagazine should be more responsible and not just bring articles from any author. This author obviously is not qualified to write about Silverlight.

    I feel bad for people who make decision based on this article.

    Anybody with a basic understanding of Silverlight knows that 80% of information here are just wrong!!! Sahme.

    +4
  5. 5

    @Ramon

    FACT: Flash was not a technology of Adobe but of Macromedia.

    +4
  6. 6

    You’re misinformed about Actionscript. Doing your game and animations with frames is just an option, not a requirement. And it isn’t one that’s typically used by serious actionscript programmers. AS3 is also far more similar to C# and Java than it is to javascript.

    I would actually say that Flash is a better platform for games than Silverlight is. The display list heirarchy, event system and object model just really works well for this, as does the integration with their graphic tools. Silverlight is much closer to Flex in terms of how you author applications and what it’s great for creating.

    .NET developers interested in making games really should give Flash a chance. Learning AS3 after knowing C# is a breeze, particularly if you’re used to some of the newer features in C#. You’ll miss some things, such as LINQ, but you may find yourself surprised by the effectiveness of some of the solutions it has, such as E4X for dealing with XML. Creating event driven flow is quicker than in most languages (including C# – though I agree the delegate system there is really pretty nice), and in many ways I feel like the language lends itself nicely to encouraging good programming practice by not making it too painful to do. Adobe took a lot of ideas from Java and C# when they remade the language for AS3, and while it’s missing some features that make those languages mature, it IMHO makes up for it by having an API that’s second to none for what it’s meant to do.

    One tip for people coming from Visual Studio – I find the combination of the free FlashDevelop IDE and the flex sdk to be far more appealing to work with than FlashBuilder or Flash CS5. It’s nice to be able to create content visually in CS5, but for coding, I find FlashDevelop is far more enjoyable. Free is also good.

    +4
  7. 7

    Silverlight is not dead! HTML5 and Flash are a subset of features in Silverlight 4. High end buisness applications such as SAP are written in Silverlight. Windows Phone will always use it. As far as the Mental Miget Colony of “open sores” software goes, you will always be angry because you couldn’t cut it with MIcrosoft products for development. So enjoy your 4% market share.

    +3
  8. 8

    www.Batchass.fr

    June 13th, 2009 6:19 pm

    I used to love Visual Studio, then I discovered Flex Builder (Flash Builder now), based on Eclipse, which is a great development environment to build SWF files. I been using it for 2 years now, it rocks, and I won’t try to learn Silverlight.
    The funny thing is that I found a lot of support from flex developpers on the internet, whereas in ms world, it seems people don’t give information so easily…
    Also, the open source flex SDK is free to use, so no need to buy a flash license if you don’t want to.

    +3
  9. 9

    Hey Gay Joe,
    What’s with all the gay bashing? You know they say that what people hate about other people the most is what they see in themselves.

    And as far as straight people using Flash and gay people using Silverlight, my brother-in-law is gay and uses Flash. He won’t even give Silverlight a try. I myself am straight and use Silverlight. And I gotta say, it’s fun, it’s easy, and there is soooo much Silverlight work out there right now.

    Only an idiot/closet gay could be as ignorant as you.

    +3
  10. 10

    Did somebody care to mention that Flash has lead of few years over Silverlight. All MS haters at the end are writing S/W supported on MS environments to make living.
    Like it or not, a pure OO is much better than kludgy scripting environments. Its matter of time when both technologies will be comparable apples to apples.

    +2
  11. 11

    one of the previous posters said: “4. SWF, FLA, FLV, and AS are all open-standard formats. Silverlight is 100% proprietary.” How can this be true if you are required to have adobe installed to open/read FLA and FLV files? where as with silverlight all you need is notepad to open the XAML.

    +2
  12. 12

    I am a software developer (I don’t develop on flash or silverlight). I develop on Linux at work and my personal box at home is also Linux. I used to be the windows hater guy few years ago, but I’ve learned to judge things on merit rather than propaganda.

    So I watched last night’s football game on nbc.com, which uses silverlight for streaming and let me tell you I am impressed. I did a bad job with cooling my personal desktop at home and whenever I try to watch hulu videos on it, it gets my processor so hot that the computer shuts down automatically. Flash just sucks life out of processors. Silverlight in comparison is way way better. I can watch it without killing my computer. It adjusts the bitrate automatically and does not use much of my processor.

    I, as a user, think silverlight is better than flash.

    +2
  13. 13

    Ok, a whole part of the article is not trus at this time, with Silverlight 3 (and soon 4), but I still think this article is biased, not intentionaly, but rather by lack of information. The one that is mostly untrue is the fact that the IDE is not free, it is free with Visual Studiio Express.

    +2
  14. 14

    I have used Flash and all the other Adobe Programs and don’t really have much interest to learn SilverLight just for the fact that Microsoft doesn’t do creative creation programs (Microsoft Paint is useless). I have never personally used Silverlight’s creation program, it being a Microsoft product makes me feel dirty when my browser pops up that I need it. I know that what ever that it is needed for could have been done in Flash instead.

    What about the creative environment of the program? Does Silverlight’s creation program support Vector art? Can you create artwork and animated it to the point that it comes a live like a cartoon? Flash has been a strong place for Designers that want to be creative. Adobe has been the creative program company, Microsoft is the OS company, that alone makes me doubt Microsoft’s usefulness in this area.

    If you can’t create art in Silverlight, I think Microsoft should just walk away… I don’t want them wining a war that would take away creativity from us Designers. Flash is more then scripting!!

    +2
  15. 15

    @125: Wrong. You can host a Silverlight app on a Gameboy, if it’s a Gameboy that can serve HTTP. You don’t know what you’re talking about.

    +1
  16. 16

    Fact checker

    May 10th, 2009 9:16 am

    This article is a piece of sh*t with an obvious serious lack of research behind not to mention the comments are just a bunch of zealots on a closed minded agenda (with VERY few exceptions).
    It would be foolish to base any decisions on this article.

    +1
  17. 17

    @Jeff surely you realize Adobe is doing the same thing.

    @ryguy and the MLB experience this time around blew as well with just as many complaints if not more. Maybe they’ll try JavaFX next time and get three strikes? I don’t think the problem there is with Flash or Silverlight.

    As to the rest of the folks who pick Flash because it isn’t proprietary: what are you thinking? Surely you realize that Flash is just as proprietary as any other RIA solution unless you stick with pure W3C HTML and JavaScript.

    Agreed on SL3 comments for now. It would have been nice if the article at least compared Silverlight 2 then to the current version of Flash/Flex. The article didn’t even do that.

    +1
  18. 18

    Silverlight, making crappy .NET developers think they are creative since ’07.

    EDIT: For some background, I work with 3 .NET developers who don’t have a creative bone in their bodies. Yet they open up Silverlight and all of a sudden they think they have the qualifications to talk about front end.

    +1
  19. 19

    Seriously, it’s weird how many people will die saying “I hate microsoft” and have the phrase on their tombstone.

    I mean really…is microsoft really hitler?

    +1
  20. 20

    LOL @ the folks saying you can’t develop with Silverlight 3 yet – anyone with an MSDN account has been using it since March :v

    +1
  21. 21

    Errors
    Flash is frame based. Error Flash from CS3 can be programmed from the timer object.
    Deployment. Flash contains only one swf file. This is up to the object design.
    Summary
    ‘it’s worth noticing that a minority of web users actually have a Silverlight plugin installed on their machine’ Aint that the truth!
    Wish List
    Microsoft build CS3/4 support for the IDE/Microsoft ,’assist’ all of there users to include silverlight, it would only need an ‘update’.
    Microsoft need to give more backwards compatibilty, my IBM PC is not getting automatic updates when booting from basica. I have not had an update since 1986

    +1
  22. 22

    Daniel Greitens

    May 10th, 2009 10:23 pm

    One fact is not true: “Silverlight uses XAML for its description language, and it is non-compressed, so the size of a Silverlight component is usually larger.”
    Silverlight uses XAML, thats right. But it is compiled and packed in an zip. So THERE IS a very good compression.

    Someone mentioned flex. When comparing to something, then you must compare it to WPF (which is much more powerfull than flex).

    Daniel Greitens
    MVP Visual Developer Expression

    +1
  23. 23

    What cracks me up reading these comments is how people look at Silverlights current 25% market share as a deal breaker.. so I guess if a low market share is a reason to disregard a technology then I guess Silverlight not supporting Linux is just fine.. I mean that OS only has 1% of the workstation market.. so great, one less reason to dislike Silverlight…right? Flash was first released in 1996 over a DECADE ago… Silverlight version 1 was released in 2007.. and is now at version 3 and for the most part is on par with Flash. So all you people that want to harp on Silverlights market share better have at it while you can…. for better or worse it won’t last for long. I for one think it is for the better for both groups of developers as it gives Adobe a real reason to quickly improve their product and the same goes for MS. So far I have been pretty impressed with the speed to which MS has improved Silverlight. I think Adobe and the previous owners got a little lazy.. I mean over a Decade? By now Flash should just read your thoughts.. and BAM project done! I think that will probably ship in Silverlight 4.

    +1
  24. 24

    This article is not completely biased. The *ignorant* author does what he can to ensure that both technologies get what he thinks is a good representation.

    Here’s a flash dev’s quick POV:

    Animation: while time-based tweening isn’t completely there yet for flash, the article supposes that everyone’s doing timeline animation. hardly so. if you want my opinion, check out jack doyle’s Tween* classes. ’nuff said.

    File Size: totally irrelevant comparison. sorry. I agree with most posters: compare SL with Flex instead.

    Video: have you been on the internet in the last two years? flash is clearly on the ball with the latest video technologies. vc-1? industry standard? you’ve got to be kidding me. I read all of the responses here, laughing particularly hard at the ones mentioning that vc-1 was the codec of choice for dvds from major motion picture agencies. IRRELEVANT AGAIN.

    I’ll make this the last one:

    Accessibility: The author actually talked to someone worth their salt when they said that Google was working with Adobe to make flash accessible. I’m surprised no flash devs here brought up other efforts to make flash sites SEO compatible, namely Gaia (of which I’m a HUGE fan). SEO, not a problem. Dynamic text, yeah still a problem, but show me an ajax site that can have all its dynamic content indexed. Not happening because it’s not possible.

    +1
  25. 25

    @148 like I said … won’t last for long. You think Flash was born at its current penetration level? Some how clients went for it just fine.. so I hope that is not all you are pinning your future client base on. When Flash was born in 1996 Netscape had like 80% of the browser market and MS had around 15% and we all know how that turned out. In fact I think MS is pulling an IE all over again…does anyone doubt that Silverlight will be installed on the impending Windows 7? Anyone? I don’t think Flash will go the way of Netscape as it requires a larger investment (in time and training) for people to just switch willy nilly. Also, why are people are acting like having a user install the Silverlight player is some huge deal… ahh… it’s like a mouse click.. the same mouse click it takes to upgrade to the next version of the Flash player.

    +1
  26. 26

    Andrei Gonzales

    May 11th, 2009 2:17 am

    LOL. I learned more from the comments than from the article.

    Good one SM. Rubbish attempt at journalism once again.

    +1
  27. 27

    I want to add here, that the most flexble power of Flash is the code based animation. The Flash have various scripting libraries to make animations based on ActionScript. You have the native Tween, the Tweener (caurina), gTween, bTween, TweenLite, TweenMax, and much more. With Flash you have a community on the back giving you support arround the world, and powerfully tools, like Gaia Flash Framework.

    The Silverlight should work so much to become a tool better than Flash!
    (sorry for weak english)

    +1
  28. 28

    A Good Article but I think if You compare Adobe Flex Vs silverlight then it will be better because Adobe Flex and Silverlight are companions and i am sure Adobe Flex will get maximum marks, as a adobe lover i believe Its Always the best as for as graphic and media soft wares are concerned

    +1
  29. 29

    I own Adobe Create Suite 4 Production Premium, Expression Studio 1, and Visual Studio 2005/8. I really like everything about CS4 and Visual Studio. I don’t like Expression Suite because it’s not mature, has poor documentation, and Microsoft keeps nickeling and diming me for upgrades to get the tools that support Silverlight. I like ActionScript 3 and C#. I like Flash, AfterEffects and Premier Pro. I like Media Encoder from both products, but I favor the Adobe Media Encoder because I use it more, and I refuse to upgrade my Expression Studio.

    I agree with 18. Phillip above. If you are building a web application, use Flash. If you are building a LOB application or an Intranet application in a Windows environment, use Silverlight.

    I have tried to keep an open mind with both products because I really don’t care. It’s up to my clients what development environment I’m going to use. So I can use both, which makes me more productive. I love this stuff, and I don’t care who wins.

    +1
  30. 30

    ‘Microsoft will make sure Silverlight is only available to Windows systems.’
    FAIL

    http://www.mono-project.com/Moonlight

    +1

Leave a Comment

Yay! You've decided to leave a comment. That's fantastic! Please keep in mind that comments are moderated and rel="nofollow" is in use. So, please do not use a spammy keyword or a domain as your name, or it will be deleted. Let's have a personal and meaningful conversation instead. Thanks for dropping by!

↑ Back to top