: This article is the most common use of SWF. For other uses, see SWF (disambiguation).
SWF (pronounced “swiff” by some, standing for Shockwave Flash) is the file format used by , working either as a browser plugin or as an standalone (executable) player. Most of the times, SWF files can also be encapsulated with the player, creating a self-running SWF movie called projector.
The file format was first created by . Macromedia claims that 98% of web users now have an SWF plugin installed. [http://www.macromedia.com/software/player_census/flashplayer/]
The format is fairly simple, albeit binary, and therefore not as immediately readable as its XML-based rival Scalable Vector Graphics. SWF has used zlib data compression since 2002, and in general the format aims to store all data using as few bits as possible, therefore reducing redundancy.
SWF is not an open format, as it is not allowed to implement interpreting software according to the license, though it is allowed to create authoring software. This information is obtained from:
[http://www.macromedia.com/licensing/developer/ Flash Player Licensing]
In the Macromedia Flash File Format (SWF) Specification section:
This license does not permit the usage of the specification to create software which supports SWF file playback.
[http://www.macromedia.com/licensing/developer/fileformat/license/ SWF File Format Specification License]
There is no clause in the license that allows creation of a player for an SWF file.
[http://www.macromedia.com/licensing/developer/fileformat/faq/ SWF File Format Specification FAQ]
There is an item explaining this issue:
Can I use the File Format Specification to create a SWF interpreter or player
No, the File Format Specification is provided for the specific purpose of enabling software applications to export to the Macromedia Flash File Format (SWF).
Since the file format specification does not allow creation of a player with that information, open source flash players creation involves a lot of reverse engineering work.
=External links=
[http://www.macromedia.com/software/flash/open/licensing/fileformat Official SWF Reference]
[http://sswf.sourceforge.net/SWFalexref.html Alexis SWF Reference]
[http://flasm.sourceforge.net/ Flasm] A free command line assembler/disassembler of Flash ActionScript bytecode
[http://flirt.sourceforge.net/ Flirt] An open source Flash parsing and rendering library
[http://gplflash.sourceforge.net/ GPLFlash] Free software Flash decoder and plugin
[http://www.kinesissoftware.com/products/ KineticFusion] An standalone RVML SWF compiler/decompiler
[http://sourceforge.net/projects/libswf/ LIBSWF] A library for generating Macromedia Flash .swf files from scratch
[http://www.openlaszlo.org OpenLaszlo] Open source platform for developing AJAX-style applications that compile to SWF.
[http://ming.sourceforge.net/ MING] A SWF output library and PHP module. (See also Ming library)
[http://mtasc.org MTASC] Open source ActionScript compiler
[http://sswf.sourceforge.net/ SSWF] A library and a script compiler to create SWF content
[http://sourceforge.net/projects/jgen JGenerator] Java-based swf generation library. This software was developed by JVox but is now under the control of big brother Macromedia.
[http://sourceforge.net/projects/swfsource SWFSource SDK] Cross-Platform Flash SDK for addition of Flash Import / Export to applications.
[http://bytescout.com/swfscout.html SWF Scout] Commercial ActiveX/.NET library for rich flash movies generation. Can create new flash movies using existing SWF as templates.
[http://delphiflash.com Delphi SWF SDK] Commercial. Contains pure Object Pascal library for creating SWF files, without any external dynamic libraries.
= Third-party software =
Swfdec, an open source player [http://www.schleef.org/swfdec/],
[http://www.sencesa.com/Sencesa-Flash-Player.htm Sencesa Flash Player], third-party stand-alone player.
[http://www.eolsoft.com/freeware/flash_movie_player/ Flash Movie Player - freeware SWF player for Windows]