Adobe Flash vs Microsoft Silverlight

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.

Flash-silverlight in Flash vs. Silverlight: What Suits Your Needs Best?

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.

Flash-frame in Flash vs. Silverlight: What Suits Your Needs Best?

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.

Silverlight-frame in Flash vs. Silverlight: What Suits Your Needs Best?

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.

Flash-text in Flash vs. Silverlight: What Suits Your Needs Best?

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

Silverlight-text in Flash vs. Silverlight: What Suits Your Needs Best?

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.

Flash-actionscript in Flash vs. Silverlight: What Suits Your Needs Best?

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.

Silverlight-script in Flash vs. Silverlight: What Suits Your Needs Best?

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 in Flash vs. Silverlight: What Suits Your Needs Best?

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.

Flash-sound in Flash vs. Silverlight: What Suits Your Needs Best?

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.

Silverlight-accessibility1 in Flash vs. Silverlight: What Suits Your Needs Best?

Silverlight-accessibility2 in Flash vs. Silverlight: What Suits Your Needs Best?

Silverlight-accessibility3 in Flash vs. Silverlight: What Suits Your Needs Best?

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.

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.

Flash-socket in Flash vs. Silverlight: What Suits Your Needs Best?

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).

Silverilght-deployment in Flash vs. Silverlight: What Suits Your Needs Best?

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 in Flash vs. Silverlight: What Suits Your Needs Best?

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.

Silverlight-stream in Flash vs. Silverlight: What Suits Your Needs Best?

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

No comments:

Labels

100 million active users 100BYear 10125 128 gb iphone 6 128 gb tablet 1320 1520M 2008 512 mb ram 5th generation Apple ipod Touch Aaron Accel Acceptance Accounts Accurate AcquiHiring Acquire Acquired Acquires Acquisition Across Activity ad ad placement ad review center ad size Adoption adsense Advertising Affects After Aimed Alerts Alibaba Almost Already alternative to password amazon america Analytics Andreessen Android android 4.4 android app android games android is boring android issues android jellybean android wear android wear price Angry app store Appixia apple apple bug fixes apple china apple india offer apple iPad apple iPad accessories apple ipod features apple online store apple tablets apple university Apple-1 auction Apples Application Applications apps AqcuiHires ara Arent arm architecture Armor Around asia astrobotic ASUS Zenwatch review atm Attendance Attribution Australia authentication google Authors automated update Automatically Azimo Banjo barcelona battery baytrail beacon Beautiful Because BeHere best best app best convertible for newbies best iPad apps of 2015 best linux torrent client best mid-budget smartphone best mobile processor best philantrophist best phone best phone in world best ringtone ever best smart watch best tablet best torrent clients for linux best tweets best ultrabook Better big data bill gates bill gates and microsoft bill gates microsoft Billion Birds birthday bitcoin bitcoin wallet bitstamp Blackberry blackberry rio Blasio BlinkMail blog blog famous blueray drives Board Books Boost Boostvc Boston boston dynamics Breaking Bring Brings budget kitkat phone budget phablet BUILD Builder calender calender app calling in whatsapp camera Canada canal+ candies Capability Celebrities Cellular ces 2015 cheap android Childrens china china mobile china regulatory approval ChinaVision chinese government chrome os Chromebook Claims Classes Classifieds Close Closing Clubs CoFounder Collects Comes Commerce Company Comparison competitive ad filter computer history museum concept Confirmed Confirms Connected connectivity consoles Consumers content Conversation Conversations convertible cortana cortex a57 costliest tablet Could CourseSmart cover cover lockscreen facebook home cpc Create criminals Crowdfunding Crowdtilted cut and paste cut and paste in mac os x cybercrime Cyrus Debuts Decks deepmind Default Delivers design desktop Despite Developers disadvantages of google glass Disrupt Documents DoubleExposure Draper Drifty Driver Dropbox Dualshock controller Dubble eAccess Early ebook health radiation damage ebooks ee Email energy from air Engineer Engineers Engines Enough Entertainment Equity Estate eTextbook europe Eventbrite Events excel Expand Expansion Experience Experiential Experiment ExSpotify facebook facebook messenger facebook paper facebook profit facebook update facelock Fantasy features Ferdowsi FileThis filtered tweets Final finnish nokia First Fitbit fixes Flappy flat ui flipkart flipkart moto g Flypay Focus food Force Fortune Framework France FRAND FreeToPlay Fresh Friedman froyo Functionality Fundamentals of Electric Circuit by Alexander and Sadiku PDF Free download Future future smartphones future tech future watch Gadgets gamers Games Gaming Gather geohot Getting gingerbread Gives Global gmail gmail app google google glass google lunar xprize google moto x google now google prize google space travel GoogleLike Googles gpu grande valse Green Greycroft Greylock Growth hack hackathon hacked Hackers hacking harvard hd resolution health Healthy Hellman help high graphic games for android Hooks Horowitz Hours how to get vertical display in samsung gear fit hp htc HTML Tutorial huawei huawei ascend human bill gates iBeacon ice cream sandwich icloud ics Includes Incubate india india tax dispute Indian Inexpensive Influence Ingram Initial Innovate Installer intel intel gpu Internet Introduce Investment Investor Ionic iOS ios 7 ios 7 contacts ios 7 iphone notifications ios 7 launcher ios 8 ios is costly ios theme for android ios type calender iPad ipad 3 iPad accessories ipad air iPad air 2 ipad with retina display iphone iphone 5s iphone 3013 iphone 5s iphone 5s review iphone 6 apple iphone 6 china leak iphone 6 features iphone 6 leak iphone 6 leaks iphone 6 price iphone 6 quick start guide iphone 6 specs iphone for android iphone ios 7 lockscreen iphone latest iphone leaked iphone office iphone theme for android iphone touch id ipod ipod ios screenshots isohunt Israeli israeli startup Israels iTunes itunes library itunes radio iwatch japan Japanese jelly bean Journalism Kabam Khosla kinect Kinnevik kitkat kitkat phone kitkat samsung phone Klout Lands Laplanche laptop laptop steal Largest Lastfm Later latest let technology latest phone specs latest science wonder Launches leaked specs Learn Learning Leaves Lending lenovo Levie lg lg circular circle watch lg g watch lg g watch android wear watch lg g watch price lg r watch specs linux torrent Lithium Local Lollipop review Lollipop screenshots Lollipop Update Lookback lte lte ipad lte technology lumia lumia 930 lumis 635 m6 Mac mac hackers mac os x mac virus mac virus bugs macbook macbook air macintosh mail sorting app for android mailbox MailboxLike Mailtracker Majority make android look like iphone make money online Makers making blog famous malaria maps mark zuckerberg Market Marketing Marketplace Massive Matches Material Design Mayor mdk Meals Media messenger messenger voice calling metro apps microsoft microsoft ceo microsoft kinect microsoft office Million Minuum Mistrust mit technology review Mobile mobile world congress Model modern ui modular development kit Mogul mokey selfie Monday money moto 360 moto g review moto x moto x camera motorola motorola moto x camera Movie Mulls multitasking Music MWC myspace mytaxis Native Nearby nest labs netflix Network new and improved twitter web profile page new ipad news feeds Nexus 5 nokia nokia kitkat nokia theme nokia tune nokia x nokia-microsoft deal North North Korea internet north korea internet outrage notification nsa spying nuawei Objects office office 365 for ios office for ios office source code Offline ohio onedrive online Orankl Organize os x Others Outweighed Ovaskainen Overstated page rank pandora paper Partners password patent fees Patents Payments paypal percentage of android persistent code Personal phablets Phoenix phone photography photos in different light conditions on moto x PhotoSharing pinned tweets pirate bay back online pirate bay mirrors piratebay Pishevars PitchOff Planning Plans Platform play store Players playstation playstation 4 playstation camera playstation network playstation now game streaming playstation now on samsung Playstation Vita Point polio saver Popcorn PostSpotify PostTextbook powerpoint Presentations Priceline Private Prize processor Producer ProductivityFocused Profiles project ara promoting blog pros and cons prototype PS3 ps4 Pulled Pushes Pwnium Qlika qualcomm qualcomm antitrust law china qualcomm Soc Quikr radiation Radio Raise Raises Raising Reaches Reading Readmill RealTime Realty Recall Receipt Recommendation Recommendations Recorder reminders in smart watch Renaissance Renaud renewable energy replacement for ios and android Report Reportedly Reports Responsive Restaurant Retailers retina display revenue Revenues review reviews Rewards rich ringtone robert kirkman robocoin Rocket Ropes Rover safer internet Sales samsung samsung galaxy samsung galaxy ace style samsung gear fit samsung tv save battery Scalable science SciencePowered Score Scores Scoring Screen screen protection screenshots Scrobbling Search season 1 season one seattle second largest facebook country security security exploits SelfPublishing Series server Service Settling Sharing Sherpas Shervin Shifting should i buy iphone Shuts Sigfox Signal silicon valley siri Sitting SketchDeck skydrive Slide slow Small Smarter Smartphone smartphone as password smartphone display smartwatch smartwatches snap-tcha snapchat snapdragon snapdragon 808 processor snapdragon 810 processor Social social network Softbank Softcover Softwares sony sony playstation sony xperia z2 source code of office Sources Speak specifications SpeedReader Spend spotify Sprig Spritz SRCH2 Stake Starts Startup Startups State Steal steve jobs Streaming Stripe subscriptions suggestion sunlight visiblity Supercell Support Swine swipe gestures for mail syncing tablet tablets Tapvalue tax Teachers Technical Technology Telco television networks Terms Terrible Testing tf1 thermal imaging thomas dolby Those Three Threes Throttle Tinder Tipbit Tipping tizen os smart watch Tools torrent reviews touch screen watch touchscreen touchscreen windows Touchten Track Tracker Transfer trending feature facebook Triage Trulioo Turns Twitter twitter homepage twitter new design twitter on android Tynker ui freezes ultrabook Under Unite Units Update UPDATE Upshift Users Using utorrent Valuation Vendors Verified Verify Version vertical display in gear fit video ads on facebook Violating Virtual virtual money vision correcting display Voice voice calling voice calling in whatsapp voip vulnerability vuze WaiterFree Walking Walking dead walking dead season 2 walls war wearables Webflow Website weibo WhatsApp Which should i choose wikimedia news wikipedia Windows windows 10 windows 10 launch date windows 8 windows 8 updates download windows 8.1 windows 8.1 update windows 8.1 update 1 Windows Phone windows phone 8.1 wonder material word WorldRemit WristBased xbox 360 xbox one xeon xperia yahoo YCBacked youtube Zoobean Zuckerberg