This article needs to be updated. The reason given is: Flash is no longer supported.(February 2022) |
Modern HTML5 has feature-parity with the now-obsolete Adobe Flash. [1] Both include features for playing audio and video within web pages. Flash was specifically built to integrate vector graphics and light games in a web page, features that HTML5 also supports.
Adobe no longer supports Flash Player after December 31, 2020 and blocked Flash content from running in Flash Player beginning January 12, 2021.
"HTML5" in this article sometimes refers not only 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 SVG, JavaScript and CSS 3. Animation via JavaScript is also possible with HTML 4.
The table below compares the features of the Flash platform, the HTML5 specification and the features implemented in modern web browsers.
HTML5 standard | HTML web browser features | Adobe Flash/AIR features | |
---|---|---|---|
Date started | Work began in 2003 Working Draft as of 2011 [3] | — | Work began in 1996 Version 1 released in 1997 |
Desktop operating systems | — | AmigaOS, MorphOS, Apple macOS, Linux, Microsoft Windows | Apple macOS, Linux, Microsoft Windows |
Mobile operating systems | — | * Android 2.3 and newer [4]
|
|
Video game consoles | — |
| |
Device support | — | Full, permission-based access to web camera, microphone, accelerometer and GPS | |
Market penetration | — | 82.3% of websites (as of March 28, 2020) [17] | 4.5% of websites (as of April 19, 2018) [18] |
Browser support | — | 97.5% of browser installations (as of February 2020) [19] | 29% of browser installations (as of July 2019) [20] |
Vector graphics formats | — | Scalable Vector Graphics (SVG) supported on ~97% of browsers [21] | SWF with embedded graphics and AS3SVGRenderer |
Bitmap effects | Yes | 90+% [22] support of Filters in CSS3 (e.g. Glow, Blur, Drop Shadow, Sepia) [23] | Yes, applied to text or graphics (e.g. Glow, Drop Shadow, Bevel) [24] |
Vector text display | Yes | Yes | Yes, with Saffron Type System |
Font support | — | Installed fonts and custom fonts using CSS 3 web fonts | Installed fonts and embedded fonts [25] |
Text anti-aliasing | — | Yes, implemented in most browsers, for system and custom fonts | Yes, in most cases [lower-alpha 1] |
Text tab stops | No | Only supported inside "pre" tags | Yes, with Text Layout Framework |
Liquid text layout | Yes | Yes, via "div" tag and CSS styling | No, but text fields can be resized in ActionScript |
Tabular data | Yes | Yes, via "table" tag | No, but text fields can be arranged into a grid |
Linked text frames [lower-alpha 2] | As of 2016 [update] , two specifications compete: CSS Regions [26] and CSS Overflow [27] | With CSS Regions, supported by Safari, IE11 and Edge [28] | Yes, with Text Layout Framework [29] |
Programming languages | Depends | JavaScript | ActionScript, Pixel Bender |
C++ support | Cross-compiling C++ code to JavaScript via Emscripten | Supported with WebAssembly | Cross-compiling C++ code to run in Flash Player via FlasCC [30] AIR has AIR Native Extensions that allow loading native code, such as compiled C++ code. |
Code delivery format | Plaintext | Plaintext JavaScript with limited obfuscation, WebAssembly bytecode, GLSL for GPUs, in Canvas elements | Compiled bytecode, can be obfuscated |
Data formats | Depends | CSS 3, HTML, XML, JSON [31] | JSON, XML, Subset of CSS 1 [32] |
Data compression | No | GZIP compression for HTML, JS and CSS files [33] | LZMA or DEFLATE for SWF files |
Image formats | Depends | PNG, JPEG, SVG, Animated GIF [note 1] [34] | PNG, JPEG, JPEG-XR, Single-frame GIF [35] [36] |
Video formats | Depends | 90+% support of H.264; [37] varying support of WebM and Ogg Theora (see HTML5 video) | H.264, Sorenson Spark, and On2 VP6 [38] |
Streaming video | Yes [39] | Supported by IE, Edge, Firefox, Chrome, Safari and Opera. [40] | Flash Video, H.264 and partial support for MP4 |
Audio formats | Depends | ~94% support of MP3, [41] AAC [42] and WAV PCM; varying support of Ogg Vorbis, and WebM Vorbis (see HTML5 audio) | MP3, WAV and AAC audio files or embedded sound |
Fullscreen support | Yes [43] | Supported on all major desktop browsers, with warning displayed. [44] Not yet widely supported on mobile | Yes, with warning displayed |
Encryption DRM | Depends | ~65% support of audio/video files. [45] All other files being plaintext, except for obfuscation | No, binary formatted files can be decompiled, which is obfuscation |
File system access | Depends | Single file upload, and drag and drop of files onto browser [46] | Support for single file upload and generation, [47] AIR only: full create/read/write access to file system [48] |
Bitmap manipulation | Depends | ~95% support for canvas element [49] | Yes, via BitmapData class [50] |
Binary manipulation | Yes | Yes, via JavaScript Typed Arrays [51] | Yes, via ByteArray class [52] |
Large binary data | No | Via Web Sockets to stream binary or other data | Yes, embedded or streaming binary data [53] |
Offline storage | Depends | Yes, via Web storage, HTTP cookie, or Indexed DB to store binary, XML or JSON data [54] | Yes, via Local Shared Objects to store AMF-formatted data |
Metadata | Meta tags | Can be included in meta tags | Extensible Metadata Platform |
Originally, web browsers could not render Flash media themselves, and required the proprietary freeware plugin Adobe Flash Player. Until 2008, there was no official specification by which to create an alternative player. Alternative players were developed before 2008, but they supported Flash to a lesser degree than the official one. [55] Flash support is built in to Google Chrome, [56] [57] Internet Explorer 10 (and later), [58] [59] and Microsoft Edge. [60]
The last version of the Adobe Flash Player ran on Microsoft Windows, Apple macOS, RIM, QNX and Google TV.
Earlier versions ran on Android 2.2-4.0.x (Flash was released for 4.0, but Adobe discontinued support for Android 4.1 and higher. [61] ) (Flash 11.2), Linux (Flash 11.2, except for Pepper Flash which is maintained and distributed by Google, not Adobe), PlayStation 3 (Flash 9), PSP (Flash 6). Adobe Flash Lite runs on Wii, Symbian, Maemo Linux, Windows Mobile, and Chumby.
Apple never allowed Flash to run on iOS, the operating system which runs on iPad, iPhone, iPod Touch and Apple TV. [62] Apple officially dropped support for Adobe Flash from the macOS version of Safari 14 released on September 17, 2020 for macOS 10.14 Mojave & macOS 10.15 Catalina.
In February 2012, Adobe announced it would discontinue development of Flash Player on Linux for all browsers, except Google Chrome, by dropping support for NPAPI and using only Chrome's PPAPI. [63] [64] In August 2016, Adobe announced that, beginning with version 24, it would resume offering of Flash Player for Linux for other browsers. [65] Adobe stopped traditional support for the Flash platform in 2020 and both Firefox and Google Chrome phased out support of Flash. [66]
Almost all web browsers support HTML and other Web standards to various degree. Adobe released a tool that converts Flash to HTML5, [67] and in June 2011, Google released an experimental tool that does the same. [68] [69]
As of December 2013 [update] , versions of browsers such as Chrome, Firefox, Internet Explorer, Opera, and Safari implement HTML5 to a considerable degree. However, some portions of the HTML5 specification were still being implemented by browser makers.
As of January 2015, YouTube defaults to HTML5 players to better support more devices. HTML5 needs less processing power making it run faster on all browsers. The multimedia integration with HTML5 is quite easy and creates better support for live video streaming on mobile devices also. [70]
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. [71]
In 2008, restrictions on use of the SWF and FLV/F4V specifications were dropped, and some specifications were released. [72] However, the "SWF File Format Specification Version 10" allegedly did not contain all the needed information, did not contain much information that hadn't been previously known by the community, [73] and itself could not be copied, printed out in more than one copy, distributed, resold or translated, without written approval of Adobe Systems Incorporated. [74]
Flash was not an open standard. It was controlled by one firm, Adobe Systems. In contrast, HTML5 is controlled mostly by a committee, the Web Hypertext Application Technology Working Group (WHATWG). [62]
Various people have praised Flash over the years for rendering consistently across platforms. Constructing sites in Flash was a way to prevent code forking, whereby different versions of a site are created for different browsers. [75] [76]
Speaking at 'Adobe Max' in 2011, Itai Asseo likewise said that, unlike HTML5, Flash offers a way to develop applications that work across platforms. HTML5, 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 HTML5 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. [77]
Constructing Flash websites using Adobe tools is relatively easier than with integrated development environments for CSS, HTML, and JavaScript; [78] however, many of Adobe's tools are expensive and proprietary software. [78]
In 2011 Adobe released a Flash-to-HTML5 conversion tool for existing content [79]
Because HTML5 is an open format, tools like those for Flash can be built for it, too. Applications like Hype [80] and Adobe Edge are already on the market.
Flash had a better performance than HTML according to a comparison of Flash with HTML in 2010 which listed Flash as being faster than the other technologies, when used for non-video animations, although they are catching up. [81] [82]
Some users, more so those on macOS and Linux, complained about the relatively high CPU usage of Flash for video playback. [83] [ 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. [84] [ unreliable source? ] 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. [85] The software routines written by developers can also affect the performance of applications built in Flash, reasons that would affect HTML5 animations as well. [86]
Flash included DRM support. The main HTML 5 standard does not include any digital rights management functionality directly, instead the Encrypted Media Extensions (EME) specification describes application interface (API) for communication channel between web browsers and digital rights management (DRM) agent software.
Historically, before EME introduction implementations could support DRM, for example in codecs. [87] The proposal to add DRM features to HTML5 itself has been criticized by those who consider openness and vendor-neutrality (both server- and client-side) one of the most important properties of HTML, because DRM is incompatible with free software, [88] [89] and in the proposed form potentially not more vendor-neutral than proprietary plug-ins like Flash. [90] [91]
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. Selecting the "Make object accessible" check box in Adobe Flash Professional would create a text-only version of the object for screen readers and hide any motion from the screen reader. [92] Since Flash content was usually placed on a single webpage, it appeared as a single entry in search engine result pages, unless developers utilized deep linking to provide multiple links within Flash websites and web applications. User interface widgets in Flash objects would not always behave like their host native counterparts. Keyboard, mouse and other accessibility shortcuts may not have worked unless the webpage developer explicitly added support for it.
Both Flash content and HTML content could be indexed by Google, Yahoo!, and Bing, although bi-directional text (e.g. Arabic, Hebrew) is not supported by Google. [93] [94] 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 promoted HTML5 as an alternative to Flash for video and other content on the iOS, citing performance and security reasons for not allowing Adobe Flash Player to be installed on iOS devices, including the iPhone, iPod Touch and iPad. [62] Flash applications could be packaged as native iOS applications via the Adobe Integrated Runtime and the iOS Packager. [95]
<img.../>
tag);Adobe Flash was, except in China, a multimedia software platform used for production of animations, rich internet applications, desktop applications, mobile apps, mobile games, and embedded web browser video players.
SWF is a defunct Adobe Flash file format that was used for multimedia, vector graphics and ActionScript.
This is a comparison of both historical and current web browsers based on developer, engine, platform(s), releases, license, and cost.
Netscape Plugin Application Programming Interface (NPAPI) is a deprecated application programming interface (API) for web browser plugins, initially developed for Netscape Navigator 2.0 in 1995 and subsequently adopted by other browsers.
Adobe Flash Player is computer software for viewing multimedia content, executing rich Internet applications, and streaming audio and video content created on the Adobe Flash platform. It can run from a web browser as a browser plug-in or independently on supported devices. Originally created by FutureWave under the name FutureSplash Player, it was renamed to Macromedia Flash Player after Macromedia acquired FutureWave in 1996. It was then developed and distributed by Adobe as Flash Player after Adobe acquired Macromedia in 2005. It is currently developed and distributed by Zhongcheng for users in China, and by Harman International for enterprise users outside of China, in collaboration with Adobe.
Adobe AIR is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applications, programmed using Adobe Animate, ActionScript, and optionally Apache Flex. It was originally released in 2008. The runtime supports installable applications on Windows, macOS, and mobile operating systems, including Android, iOS, and BlackBerry Tablet OS.
HTML5 is a markup language used for structuring and presenting hypertext documents on the World Wide Web. It was the fifth and final major HTML version that is now a retired World Wide Web Consortium (W3C) recommendation. The current specification is known as the HTML Living Standard. It is maintained by the Web Hypertext Application Technology Working Group (WHATWG), a consortium of the major browser vendors.
Microsoft Silverlight is a discontinued application framework designed for writing and running rich internet applications, similar to Adobe's runtime, Adobe Flash. While early versions of Silverlight focused on streaming media, later versions supported multimedia, graphics, and animation, and gave support to developers for CLI languages and development tools. Silverlight was one of the two application development platforms for Windows Phone, but web pages using Silverlight did not run on the Windows Phone or Windows Mobile versions of Internet Explorer, as there was no Silverlight plugin for Internet Explorer on those platforms.
SWFObject is an unmaintained open-source JavaScript library used to embed Adobe Flash content onto Web pages and to protect the flash game against piracy, which is supplied as one small JavaScript file. The library can also detect the installed Adobe Flash Player plug-in in all major web browsers, on all major operating systems (OS), and can redirect the visitor to another webpage or show alternate HTML content if the installed plug-in is not suitable.
Apache Cordova is a mobile application development framework created by Nitobi. Adobe Systems purchased Nitobi in 2011, rebranded it as PhoneGap, and later released an open-source version of the software called Apache Cordova. Apache Cordova enables software programmers to build hybrid web applications for mobile devices using CSS3, HTML5, and JavaScript, instead of relying on platform-specific APIs like those in Android, iOS, or Windows Phone. It enables the wrapping up of CSS, HTML, and JavaScript code depending on the platform of the device. It extends the features of HTML and JavaScript to work with the device. The resulting applications are hybrid, meaning that they are neither truly native mobile application nor purely Web-based. They are not native because all layout rendering is done via Web views instead of the platform's native UI framework. They are not Web apps because they are packaged as apps for distribution and have access to native device APIs. Mixing native and hybrid code snippets has been possible since version 1.9.
WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics, image processing, and effects in the HTML canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.
The HTML5 specification introduced the video element for the purpose of playing videos, partially replacing the object element. HTML5 video is intended by its creators to become the new standard way to show video on the web, instead of the previous de facto standard of using the proprietary Adobe Flash plugin, though early adoption was hampered by lack of agreement as to which video coding formats and audio coding formats should be supported in web browsers. As of 2020, HTML5 video is the only widely supported video playback technology in modern browsers, with the Flash plugin being phased out.
Google Swiffy was a web-based tool developed by Google that converted SWF files to HTML5. Its main goal was to display Flash contents on devices that do not support Flash, such as iPhone, iPad, and Android Tablets. Swiffy was shut down July 1, 2016.
HTML5 Audio is a subject of the HTML5 specification, incorporating audio input, playback, and synthesis, as well as in the browser. iOS
Upload components are software products that are designed to be embedded into a web site to add upload functionality to it. Upload components are designed to replace the standard HTML4 upload mechanism. Compared with HTML4, Upload Components have a more user-friendly interface and support a wider range of features.
Encrypted Media Extensions (EME) is a W3C specification for providing a communication channel between web browsers and the Content Decryption Module (CDM) software which implements digital rights management (DRM). This allows the use of HTML5 video to play back DRM-wrapped content such as streaming video services without the use of heavy third-party media plugins like Adobe Flash or Microsoft Silverlight. The use of a third-party key management system may be required, depending on whether the publisher chooses to scramble the keys.
Media Source Extensions (MSE) is a W3C specification that allows JavaScript to send byte streams to media codecs within web browsers that support HTML5 video and audio. Among other possible uses, this allows the implementation of client-side prefetching and buffering code for streaming media entirely in JavaScript. It is compatible with, but should not be confused with, the Encrypted Media Extensions (EME) specification, and neither requires the use of the other, although many EME implementations are only capable of decrypting media data provided via MSE.
Stage3D is an Adobe Flash Player API for rendering interactive 3D graphics with GPU-acceleration, within Flash games and applications. Flash Player or AIR applications written in ActionScript 3 may use Stage3D to render 3D graphics, and such applications run natively on Windows, Mac OS X, Linux, Apple iOS and Google Android. Stage3D is similar in purpose and design to WebGL.
OpenFL is a free and open-source software framework and platform for the creation of multi-platform applications and video games. OpenFL applications can be written in Haxe, JavaScript, or TypeScript, and may be published as standalone applications for several targets including iOS, Android, HTML5, Windows, macOS, Linux, WebAssembly, Flash, AIR, PlayStation 4, PlayStation 3, PlayStation Vita, Xbox One, Wii U, TiVo, Raspberry Pi, and Node.js.
Ruffle is an emulator for Adobe Flash (SWF) files. Ruffle is available under a free and open source software license and is actively developed on GitHub.
{{cite web}}
: CS1 maint: numeric names: authors list (link){{cite journal}}
: Cite journal requires |journal=
(help)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.