SWF (/ˈswɪf/ SWIF ) is an abbreviation for small web format, an
Adobe Flash file format used for multimedia , vector graphics and
ActionScript . Originating with
FutureWave Software , then
Programmers can generate
SWF files from within several Adobe
products, including Flash , Flash Builder (an IDE ), Adobe Animate
(the replacement for
Adobe Flash as of Feb. 2016), and After Effects ,
as well as through MXMLC, a command-line application compiler which
forms part of the freely-available Flex SDK . Although Adobe
Illustrator can generate
SWF format files through its "export"
function, it cannot open or edit them. Other than using Adobe
products, one can build SWFs with open-source Motion-Twin ActionScript
The term "SWF" has originated as an abbreviation for ShockWave Flash. This usage was changed to the backronym Small Web Format to eliminate confusion with a different technology, Shockwave , from which SWF derived. There is no official resolution to the acronym "SWF" by Adobe.
* 1 History * 2 Description * 3 Adoption * 4 Published specifications * 5 Licensing * 6 Related file formats and extensions * 7 See also * 8 References * 9 External links
The small company
FutureWave Software originally defined the file
format with one primary objective: to create small files for
displaying entertaining animations. The idea involved a format which
player software could run on any system and which would work with
slower network connections. FutureWave released FutureSplash Animator
in May 1996. In December 1996
The original naming of
SWF came out of Macromedia's desire to
capitalize on the well-known
On May 1, 2008, Adobe dropped its licensing restrictions on the SWF format specifications, as part of the Open Screen Project . However, Rob Savoye , a member of the Gnash development team, has pointed to some parts of the Flash format which remain closed. On July 1, 2008, Adobe released code to Google and Yahoo, which allowed their search engines to crawl and index SWF files.
The main graphical primitive in
SWF is the path, which is a chain of
segments of primitive types, ranging from lines to splines or bezier
curves . Additional primitives like rectangles, ellipses, and even
text can be built from these. The graphical elements in
SWF are thus
fairly similar to
The binary stream format SWF uses is fairly similar to QuickTime atoms, with a tag, length and payload—an organization that makes it very easy for (older) players to skip contents they don't support.
Originally limited to presenting vector-based objects and images in a simple sequential manner, the format in its later versions allows audio (since Flash 3) and video (since Flash 6).
Adobe introduced a new, low-level 3D API in version 11 of the Flash
Player. Initially codenamed
Molehill , the official name given to this
API was ultimately
Adobe makes available plugins , such as Adobe Flash Player and Adobe Integrated Runtime , to play SWF files in web browsers on many desktop operating systems, including Microsoft Windows , Mac OS X , and Linux on the x86 architecture and ARM architecture ( Google Chrome OS only).
Adobe has incorporated SWF playback and authoring in other product and technologies of theirs, including in Adobe Shockwave , which renders more complex documents. SWF can also be embedded in PDF files; these are viewable with Adobe Reader 9 or later. InDesign CS6 can also produce some limited forms of SWF animations directly.
Scaleform GFx is a commercial alternative
SWF player that features
full hardware acceleration using the
The newer 3D features of
SWF have been seen as an alternative to
Based on an independent study conducted by Millward Brown and published by Adobe, in 2010, over 99% of desktop web browsers in the "mature markets" (defined as United States, Canada, United Kingdom, France, Germany, Japan, Australia, and New Zealand) had a SWF plugin installed, with around 90% having the latest version of the Flash Player.
Adobe makes available a partial specification of SWF, most recently updated in January 2013 to reflect changes in SWF version 19. SWF versions have been decoupled from Flash player versions after Flash 10. Afterwards the version number of the SWF progressed rapidly; SWF version 19 corresponds to the new features added in Flash Player 11.6. Flash Player 14 uses SWF version 25.
In 2008, the specifications document was criticized by Rob Savoye , the lead developer of the Gnash project, as missing "huge amounts" of information needed to completely implement SWF, omitting specifications for RTMP and Sorenson Spark . The RTMP specification was released publicly in June 2009. The Sorenson Spark codec is not Adobe's property.
Until May 1, 2008, implementing software that plays SWF was disallowed by the specification's license. On that date, as part of its Open Screen Project, Adobe dropped all such restrictions on the SWF and FLV formats.
RELATED FILE FORMATS AND EXTENSIONS
Other formats related to SWF authoring in the Adobe tool chain remain without a public specification. One example is FLA, which is the editable version of SWF used by Adobe's Flash, but not by other Adobe tools that can also output SWF, albeit with fewer features.
.swf files are completed, compiled and published files that cannot
be edited with Adobe Flash. However, several non-Adobe '.swf
decompilers ' exist (like that of Sothink) to convert
SWF back to the
FLA format, or to the more recent
.fla files contain source material for the Flash application. Flash
authoring software can edit FLA files and compile them into .swf
files. The Flash source file format is currently a binary file format
based on the Microsoft Compound
.XFL .xfl files are XML-based project files that are equivalent to the binary .fla format. Flash authoring software uses XFL as an exchange format in Flash CS4. It imports XFL files that are exported from InDesign and AfterEffects. In Flash Pro CS5, the xfl file is a key file which opens the "uncompressed FLA" file, which is a hierarchy of folders containing XML and binary files.
.AS .as files contain ActionScript source code in simple source files. FLA files can also contain Actionscript code directly, but separate external .as files often emerge for structural reasons, or to expose the code to versioning applications.
. MXML .mxml files are used in conjunction with ActionScript files (and .css files), and offer a markup-language-style syntax (like HTML) for designing the GUI in Flex. Each MXML file creates a new class that extends the class of the root tag, and adds the nested tags as children (if they are descendants of UIComponent) or members of the class.
.SWD .swd files are temporary debugging files used during Flash development. Once finished developing a Flash project these files are not needed and can be removed.
.asc files contain Server-Side ActionScript, which is used to
develop efficient and flexible client-server
.ABC .abc files contain actionscript bytecode used by the Actionscript Virtual Machine AVM (Flash 8 and prior), and AVM2 (Flash 9 or later).
.AMF .amf files containing Action Message commands for transacting with a FMS .
. FLV .flv files are Flash video files, as created by Adobe Flash, ffmpeg , Sorenson Squeeze , or On2 Flix . The audio and video data within FLV files are encoded in the same way as they are within SWF files.
.f4v files are similar to iTunes M4V files which are based on MP4
and can be played back by Flash Player 9 Update 3 and above. F4V file
format is second container format for Flash video and it differs from
FLV file format. It is based on the
ISO base media file format
.F4P .f4p files are an Adobe suffix for media encrypted with the Adobe Access digital rights management scheme which is based on the same protection scheme that their RTMP protocol uses.
.F4A .f4a files are an Adobe suffix for iTunes M4A files that contain only audio streams.
.F4B .f4b files are an Adobe suffix for iTunes M4B audiobook files.
.f4f files are
.SWC .swc files are used for distributing components; they contain a compiled clip, the component's ActionScript class file, and other files that describe the component.
.swt files are 'templatized' forms of .swf files, used by
.FLP .flp files are XML files used to reference all the document files contained in a Flash Project. Flash Projects allow the user to group multiple, related files together to assist in Flash project organization, compilation and build.
.SPL .spl files are FutureSplash Animator documents.
.ASO .aso files are cache files used during Flash development, containing compiled ActionScript byte code. An ASO file is recreated when a change in its corresponding class files is detected. Occasionally the Flash IDE does not recognize that a recompile is necessary, and these cache files must be deleted manually. They are located in %USERPROFILE%Local SettingsApplication DataMacromediaFlash8enConfigurationClassesaso on Win32 / Flash8.
.SOL .sol files are created by Adobe Flash Player to hold Local Shared Objects (data stored on the system running the Flash player).
* ^ "
* ^ "
* ^ "Flash content reaches 99% of Internet viewers". Adobe.
Archived from the original on August 27, 2010. Retrieved 2010-09-10.
SWF Technology Center Adobe Developer Connection
* ^ http://www.bytearray.org/?p=5162
* ^ http://www.bytearray.org/?p=4848
Real-Time Messaging Protocol (RTMP) specification Adobe
* ^ "