Jump to content

Comparison of HTML5 and Flash: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Line 369: Line 369:
! {{depends|Some browsers support the [[Software patent|patented]] [[H.264]], and some the [[royalty-free]] [[WebM]] and [[Ogg Theora]] (see [[HTML5 video]])}}
! {{depends|Some browsers support the [[Software patent|patented]] [[H.264]], and some the [[royalty-free]] [[WebM]] and [[Ogg Theora]] (see [[HTML5 video]])}}
! {{yes|H.264, [[Sorenson Spark]], and [[VP6|On2 VP6]]}}<ref>{{Cite web|publisher=Adobe Systems|title=Supported Codecs|url=http://helpx.adobe.com/flash/kb/supported-codecs-flash-player.html|accessdate=July 29, 2012}}</ref>
! {{yes|H.264, [[Sorenson Spark]], and [[VP6|On2 VP6]]}}<ref>{{Cite web|publisher=Adobe Systems|title=Supported Codecs|url=http://helpx.adobe.com/flash/kb/supported-codecs-flash-player.html|accessdate=July 29, 2012}}</ref>
|-
! Audio formats
! {{depends}}
! {{yes|Varying support of [[MP3]], [[Ogg]] [[Vorbis]], [[WAV]] [[PCM]], [[Advanced Audio Coding|AAC]] and [[WebM Project|WebM]] [[Vorbis]]
! {{yes|[[MP3]]and [[Advanced Audio Coding|AAC]] audio files or embedded sound}}
|-
|-
! Fullscreen support
! Fullscreen support

Revision as of 16:40, 16 November 2012

HTML5 can be used as an alternative to Adobe Flash.[1] Both include features for playing audio and video within web pages, and using integrated SVG, vector graphics are possible with both.

“HTML5” in this article sometimes refers not just to the HTML5 specification, which does not itself define ways to do animation and interactivity within web pages,[2] but to HTML5 and related standards like JavaScript or CSS 3. Animation using JavaScript is also possible with HTML 4.

Comparison

History

Adobe Flash

Flash has been in existence[clarification needed] since 1996. According to Adobe statistics, Flash had reached 98% penetration[where?] in March 2010.[3]

HTML5

HTML5 continues the evolution of HTML, which was introduced in the early 1990s, and whose version 4 became a W3C Recommendation in 1997.[4]

Work on the HTML5 specification began in 2003 and, as of January 2011, the standard was in working draft state.[5] In 2006, editor Ian Hickson suggested it might reach “Proposed Recommendation” state in 2022.[6]

Software support

Rendering

Flash

Web browsers cannot render Flash media themselves, instead it is rendered primarily using the proprietary but freely available Adobe Flash Player. Until 2008, there was no official specification which was allowed to be used to create an alternative player. Alternative players have been developed before 2008, but they support Flash to a lesser degree than the official one.[7]

The latest version of the Adobe Flash Player runs on Microsoft Windows, Mac OS X, Linux, Android 2.2-4.0.x (Flash has been released for 4.0, but Adobe has announced that they will discontinue support for Android 4.1 and higher.[8]), RIM QNX and Google TV. Earlier versions run on PlayStation 3 (Flash 9), and PSP (Flash 6). Adobe Flash Lite runs on Wii, Symbian, Maemo Linux, Windows Mobile, and Chumby.

Apple does not allow Flash to run on iOS, the operating system which runs on iPad, iPhone, iPod Touch and Apple TV. Apple stated that it had no plans to do so.[9]

In February 2012, Adobe announced it would discontinue development of Flash Player on Linux for all browsers except Google Chrome by dropping the support for NPAPI and using only Chrome’s PPAPI.[10][11]

HTML 5

All web browsers support HTML and other Web standards to various degrees.

As of March 2011 versions of browsers such as Internet Explorer, Firefox, Chrome, Safari, and Opera implement HTML5 to a large degree. However, many Internet users continue using older browsers such as Internet Explorer 8 (the highest version available to users of Windows XP), so portions of the HTML5 specification do not work with a significant fraction of browsers still in use.


Website adoption

It is easier to measure the number of sites that use Adobe Flash than those that use a particular version of Web standards, but measures do not necessarily take the importance of the use (e.g. the only video player vs a small ad) into account.

According to Adobe,[third-party source needed]

  • 85% of the most-visited web sites use[ambiguous] Flash,
  • 75% of web video is viewed using the Flash Player,
  • 98% of enterprises rely on the Flash Player, and
  • 70% of web games are made in Flash.[12]

Some video sites, including YouTube, Vimeo and blip.tv, have implemented support for HTML5 video.[13]

Vendor neutrality and cross-platform reach

Until 2008, the use of Flash was covered by restrictive licenses. The conditions prohibited use of the specification to develop any software (including players) which could render or read (and thus convert) SWF files, and required the output SWF files to be compatible with Adobe’s players.[14]

In 2008, restrictions on use of the SWF and FLV/F4V specifications were dropped, and some specifications were released.[15] However, the “SWF File Format Specification Version 10” allegedly did not contain all the needed information, did not contain much information that hasn’t been previously known by the community,[16] and itself could not be copied, printed out in more than one copy, distributed, resold or translated, without written approval of Adobe Systems Incorporated.[17]

Steve Jobs noted that Flash is not an open standard – it is controlled by Adobe Systems – whereas HTML5 is largely controlled by a committee (WHATWG) made up of three companies – Opera Software, the Mozilla Foundation, and Apple.[9]

Various people have praised Flash over the years for rendering consistently across platforms. Constructing sites in Flash is a way to prevent code forking, whereby different versions of a site are created for different browsers.[18][19] Because Flash is usually rendered only using Adobe’s proprietary web browser plug‐ins (and until 2008 the specification was only allowed to be used to produce SWF files but not to play or convert them), while HTML rendering is implemented in the many web browsers themselves, it may be easier in some cases to achieve compatibility with more target users with Flash, at the cost of vendor lock-in.

Speaking at 'Adobe Max' in 2011, Itai Asseo likewise said that, unlike HTML 5, Flash offers a way to develop applications that work across platforms. HTML 5, he said, is currently implemented differently (if at all) by different browsers. Although the Flash browser plugin is not supported on the Apple iPhone OS, Flash applications can be exported to Adobe AIR, which runs on that operating system as a native application. In the same talk, Mr. Asseo lamented the return to another browser war (as seen in the late 1990s). If Flash falls out of favor, he said, web developers will either have to develop many different versions of their web sites and native applications to take into account different HTML 5 implementations, deny access to browsers that do not support their version of HTML, or dramatically reduce the functionality of their sites in order to deliver content to the least-advanced browser.[20]

Authoring

Constructing Flash websites using Adobe tools is relatively easier than with integrated development environments for CSS, HTML, and JavaScript;[21] however, many of Adobe's tools are expensive and proprietary software.[21]

Tools for HTML5 are just starting to come to market; in the meantime, Adobe has released a first version of a Flash-to-HTML5 conversion tool for existing content[22] and are working on creating new tooling for HTML5 as well, like Adobe Edge.[23]

Because HTML5 is an open format (like SWF, but SWF is almost always created and viewed using proprietary software) any toolmaker can build them; the first ones like Hype are already on the market.

Performance

Some users – especially those on Mac OS X and Linux – have complained about the relatively high CPU usage of Flash for video playback.[24][unreliable source?] This was partially because the Flash plugin did not use the GPU to render video. Adobe has responded to some of those criticisms in the 10.1 and 10.2 releases of the Flash plugin by offloading H.264 video decoding to dedicated hardware and by introducing a new video API called Stage Video.[25][unreliable source?] In addition, the use of the newer ActionScript 3.0 inside Flash movies instead of the older ActionScript 2.0 improves code execution speed by a factor of around 10. But older websites that use ActionScript 2.0 will not benefit from this.[26] Another reason for poor Flash performance is that some Flash developers incorrectly code their Flash files which can be a problem with "HTML5" animations as well.[27]

Some bloggers have published performance comparisons of pure HTML 5, canvas, SVG, and Flash. A March 2010 comparison listed non-Flash technologies as being slower compared to Flash when used for non-video animations,[28] but in January 2012 some of them were faster.[29]

Features

Flash has the ability to specify measurements in sub-pixel increments. This can result in a crisper and generally more pleasant appearance of Flash web sites. When confronted with CSS and HTML measurements on a sub-pixel scale, web browsers will round either up or down, depending on the browser, which leads to inconsistency and unreliability in the display of those pages.[21]

Flash offers webcam support, while HTML and related technologies did not until recently.[clarification needed]

There are, however, people working on adding "device support" (device API) to the HTML5 specification, which would allow for videoconferencing, access to webcams, microphones, USB-thumbdrives and other USB- or serial devices.[30][31]

DRM

Flash includes DRM support.

HTML5 does not include any digital rights management functionality. Implementations can support DRM outside the scope of HTML, for example in codecs.[32]

Accessibility issues and search engines

Both Flash and HTML text can be read by screen readers. However, special care must be taken to ensure Flash movies are read correctly. For example, if a Flash movie is set to repeat indefinitely, this can cause a screen reader to repeat the content endlessly. If the user is using the WindowEyes screen reader, they can press ALT + SHIFT + M to stop the animation. Also, selecting the "Make object accessible" check box in Adobe Flash Professional will create a text-only version of the object for screen readers. It will also hide any motion from the screen reader.[33]

Both Flash content and HTML content can be indexed by Google, Yahoo!, and Bing, although bi-directional text (e.g., Hebrew) is not supported by Google.[34][35] Yahoo! added support for indexing Flash sites in 2008, although Google had been able to index them for several years before that. Bing added support for Flash sites in 2010.

Apple and Flash

Apple has been promoting HTML5 as an alternative to Flash for video and other content on the iOS, citing performance reasons for not allowing the Flash runtime to be installed on iOS.[9][36] Flash as a runtime is not available on Apple's iOS devices: iPhone, iPod touch and iPad[36] but can be compiled as a native iOS application through Adobe's iOS packager in Flash CS5 Professional. According to Adobe Labs, Adobe's iOS Packager “offers Flash developers a fast and efficient method to reuse existing code from ActionScript 3 projects to deliver native applications on iOS devices”.[37]

In April 2010, Steve Jobs, the co-founder and then-chief executive officer of Apple[38] criticized Flash technology in an open letter posted to Apple's website, offering an explanation for why Apple does not support Flash on its mobile devices. Among his criticisms were that "Flash was created during the PC era – for PCs and mice," and that "Flash is no longer necessary to watch video or consume any kind of web content." He also described Flash's performance and security as sub-standard.[39]

In November 2010, a Wired columnist said "allowing Flash — which is a development platform of its own — [on the iPhone] would just be too dangerous for Apple, a company that enjoys exerting total dominance over its hardware and the software that runs on it. Flash has evolved from being a mere animation player into a multimedia platform capable of running applications of its own. That means Flash would open a new door for application developers to get their software onto the iPhone: Just code them in Flash and put them on a web page. In so doing, Flash would divert business from the App Store, as well as enable publishers to distribute music, videos and movies that could compete with the iTunes Store." [40]

Also in April 2010, Apple modified its iOS developer agreement to limit the development of iOS apps to the use of a small set of Apple-approved programming languages and tools. Adobe's iOS packager was seen as the target of these new rules.[41] However, because the new rules were broadly written, and did not cite Adobe's iOS Packager specifically, they also potentially restricted the development of many popular iOS games and applications created using other non-approved application frameworks, such as MonoTouch, Unity3D, and Lua.[42]

In September 2010, after having "listened to our developers and taken much of their feedback to heart",[43] Apple removed the restrictions on third-party tools, languages and frameworks, removing uncertainty from developers who used these third-party tools, and again allowing the deployment of Flash applications on iOS using Adobe's iOS Packager.[44]

Comparison tables

The tables below compare the features of Flash Player, the HTML5 specification, and the features implemented in modern web browsers. HTML5 is just a specification, and comparing it against features currently supported by Flash Player would be unfair, since modern web browsers have already implemented features beyond the specification.

HTML5 standard HTML web browser features Adobe Flash Player features
Vector graphics formats No Scalable Vector Graphics (SVG) SWF with embedded graphics
Vector text display Yes Yes Yes
Font support Yes System fonts and custom fonts using CSS 3 web fonts System fonts ("Device fonts") and embedded TTF and OTF fonts[45]
Liquid text layout Yes Yes, using the "div" tag and CSS styling No
Overflowing text boxes No No Yes, only with Text Layout Framework[46]
Anti-aliasing Determined by the browser Implemented in all major desktop and mobile browsers Configured by the author
Programming languages Depends on the browser JavaScript ActionScript, Pixel Bender
Source code format Plaintext Plaintext Precompiled binary (ActionScript Byte Code)
Data formats Depends on the browser CSS, HTML, XML JSON, XML
Data compression No GZIP compression for HTML, JS and CSS files (on supported servers) LZMA or DEFLATE for SWF files only
Image formats Determined by the browser PNG, JPG, Animated GIF PNG, JPG, JPEG-XR, Single-frame GIF[47][48]
Metadata Can be included in meta tags meta tags Extensible Metadata Platform
Encryption DRM No No, all files being plaintext Yes, being binary formatted files, unless decomplied
BLOBs No Using Web Sockets to stream binary or XML data Embedded or streaming binary data[49]
Streaming video No Some browsers support WebM and Ogg Theora streaming using the HTML 5 video tag[50] Flash Video, H.264 and partial support for MP4
Video codecs No Some browsers support the patented H.264, and some the royalty-free WebM and Ogg Theora (see HTML5 video) H.264, Sorenson Spark, and On2 VP6[51]
Audio formats Depends Varying support of MP3, Ogg Vorbis, WAV PCM, AAC and WebM Vorbis MP3and AAC audio files or embedded sound
Fullscreen support No Supported on some browsers[52] Yes, with warning displayed

See also

References

  1. ^ Bilton, Nick (June 30, 2010). "Amazon to Introduce Web-Based Book Previews". Bits. The New York Times. Retrieved December 26, 2010.
  2. ^ James Williamson (August 23, 2010). What HTML5 is (and what it isn't). HTML5 First Look (Online video). Lynda.com.
  3. ^ Shankland, Stephen (February 3, 2010). "HTML vs. Flash: Can a turf war be avoided?". CNET News. Retrieved December 26, 2010. {{cite journal}}: Cite journal requires |journal= (help)
  4. ^ "HTML5 Differences from HTML4". Working Draft. World Wide Web Consortium. 5 April 2011. Retrieved 13 November 2012.
  5. ^ "HTML Current Status". World Wide Web Consortium.
  6. ^ James, Justin (August 27, 2008). "HTML 5 Editor Ian Hickson discusses features, pain points, adoption rate, and more". TechRepublic.
  7. ^ https://www.gnu.org/software/gnash/manual/gnashref.html#runs-on
  8. ^ Svetlik, Joe (November 21, 2011). "Adobe Flash coming for ICS, not Android 5.0". CNET UK. {{cite journal}}: Cite journal requires |journal= (help)
  9. ^ a b c Jobs, Steve (April 2010). "Thoughts on Flash". Apple Inc. Retrieved May 1, 2010.
  10. ^ Noyes, Katherine (April 6, 2012). "For Flash on Linux, Chrome Will Be Users' Only Choice | PCWorld Business Center". Pcworld.com. Retrieved April 10, 2012.
  11. ^ "Adobe Releases Last Linux Version of Flash Player – Slashdot". Linux.slashdot.org. Retrieved April 10, 2012.
  12. ^ "The Truth About Flash". Adobe Systems. Retrieved January 6, 2010.[dead link]
  13. ^ Kingsley-Hughes, Adrian (January 31, 2010). "IPad Can't Play Flash Video, but It May Not Matter". The New York Times. ZDNet. Retrieved December 26, 2010. {{cite news}}: More than one of |work= and |newspaper= specified (help)
  14. ^ "SWF and FLV File Format Specification License Agreement". Adobe Systems. 2007-06-27. You may not use the Specification in any way to create or develop a runtime, client, player, executable or other program that reads or renders SWF files. {{cite web}}: |access-date= requires |url= (help); |archive-url= requires |url= (help); External link in |deadurl= (help); Missing or empty |url= (help); Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  15. ^ "Open Screen Project Press Release". Adobe Systems. 2008-05-01. Retrieved 2008-05-01.
  16. ^ "Free Flash community reacts to Adobe Open Screen Project". {{cite web}}: |access-date= requires |url= (help); |archive-url= requires |url= (help); External link in |deadurl= (help); Missing or empty |url= (help); Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  17. ^ "SWF File Format Specification Version 10" (PDF). Retrieved 2012-11-13.
  18. ^ Ka Wai Cheung and Craig Bryant. Flash Application Design Solutions: The Flash Usability Handbook, page 6, (Apress, 2006), <http://books.google.com/books?id=49OwlbrMc-oC&pg=PA6&dq=flash+cross+browser&hl=en&sa=X&ei=cI-hUNeJAu75igLOloGIBg&ved=0CDAQ6AEwAQ>
  19. ^ Rob Huddleston, Flash Catalyst CS5 Bible, (Wiley, 2010) <http://books.google.com/books?id=crN1zsYwYAYC&pg=PT39&dq=flash+cross+browser&hl=en&sa=X&ei=SZKhUICyLcr2iwKh7YFo&ved=0CEkQ6wEwCA>
  20. ^ Itai Asseo. "The Death of Flash". Retrieved November 19, 2011.
  21. ^ a b c Wayner, Peter (June 2, 2010). "HTML5 vs. Flash: The case for Flash". InfoWorld. Retrieved January 5, 2011.
  22. ^ "John Nack on Adobe : "Wallaby" Flash-to-HTML5 conversion tool now available". Blogs.adobe.com. 2011-03-07. Retrieved 2012-06-18.
  23. ^ "Adobe previews its Edge HTML5 animation tool". Gizmag.com. 2010-10-26. Retrieved 2012-06-18.
  24. ^ "Flash – CPU Usage – FPS – Frame Rate." Online posting. 10 Dec 2008. Reader discussions, Adobe Support Forums. 10 Dec 2010. http://forums.adobe.com/thread/230334
  25. ^ Dachis, Adam (December 1, 2010). "Adobe Releases Flash 10.2 Beta, Reduces CPU Usage During Video Playback". Lifehacker. Retrieved December 27, 2010.
  26. ^ "ActionScript 3.0 overview". Adobe Systems. 2006.
  27. ^ Skinner, Grant (2010). Quick as a Flash. Adobe MAX 2010. {{cite conference}}: External link in |conferenceurl= (help); Unknown parameter |conferenceurl= ignored (|conference-url= suggested) (help); Unknown parameter |month= ignored (help)
  28. ^ ""HTML5" versus Flash: Animation Benchmarking - HTML 5 Slower Than Flash".
  29. ^ "Flash vs HTML5 Performance (Updated January 2012)".
  30. ^ "Video Conferencing with the HTML5 Device Element". Ajaxian. 2010-09-20. Retrieved 2012-06-18.
  31. ^ "HTML Standard". Whatwg.org. Retrieved 2012-06-18.
  32. ^ "FAQs - HTML Wiki". W3.org. 2011-02-22. Retrieved 2012-06-18.
  33. ^ "Adobe Flash accessibility design guidelines". Adobe Systems. Retrieved May 21, 2011.
  34. ^ "Flash and other rich media files". Retrieved May 21, 2011.,
  35. ^ "Google, Yahoo spiders can now crawl through Flash sites". Ars Technica. Retrieved May 21, 2011.
  36. ^ a b Shankland, Stephen (April 29, 2010). "Jobs: Why Apple banned Flash from the iPhone". Deep Tech. CNET. Retrieved November 13, 2011.
  37. ^ "Adobe AIR | Adobe AIR 3 | Deploy applications". Labs.adobe.com. Retrieved 2012-06-18.
  38. ^ Template:Wayback
  39. ^ "Thoughts on Flash". Apple.com. Retrieved 2012-06-18.
  40. ^ Chen, Brian X. (November 17, 2008). "Why Apple Won't Allow Adobe Flash on iPhone". Gadget Lab. Wired. Retrieved January 6, 2011.
  41. ^ Chen, Brian X. (April 8, 2010). "Adobe Apps: Easier to Pass Through the 'i' of a Needle?". Gadget Lab. Wired. Retrieved September 1, 2011.
  42. ^ Gruber, John (April 8, 2010). "New iPhone Developer Agreement Bans the Use of Adobe's Flash-to-iPhone Compiler". Daring Fireball. John Gruber. Retrieved September 1, 2011.
  43. ^ "Technology News: iOS: Apple Eases iOS Dev Clampdown as Android Gains Ground". Technewsworld.com. Retrieved 2012-06-18.
  44. ^ Sorrel, Charlie (September 9, 2010). "Apple Eases App Development Rules, Adobe Surges". Gadget Lab. Wired. Retrieved January 6, 2011.
  45. ^ Peter deHaan. "Embedding fonts". Retrieved July 23, 2012.
  46. ^ "Working with Text Layout Framework (TLF) text". Adobe Systems. Retrieved July 22, 2012.
  47. ^ Thibault Imbert. "What's new in Flash Player 11". Retrieved July 23, 2012.
  48. ^ SWF File Format Specification, Version 10 (PDF). Adobe Systems Incorporated. 2008. p. 25.
  49. ^ SWF File Format Specification, Version 10 (PDF). Adobe Systems Incorporated. 2008. p. 253.
  50. ^ "Flash and the HTML5 <video> tag". YouTube. June 29, 2010. Retrieved July 29, 2012.
  51. ^ "Supported Codecs". Adobe Systems. Retrieved July 29, 2012.
  52. ^ "Firefox's HTML full-screen API". Chris Pearce. 2011 November 10. Retrieved 2012 September 23. {{cite web}}: Check date values in: |accessdate= and |date= (help)

External links