Adobe SWC file

Last updated
ShockWave Component (SWC)
Adobe-swc icon.png
Filename extension
.swc
Internet media type
application/octet-stream
Magic number PK\003\004
Developed by Adobe Systems
Type of format Class Library
Container for XML SWF CSS
Extended from ZIP

An SWC file is a package of precompiled Flash symbols and ActionScript code that allows a Flash or Flex developer to distribute classes and assets, or to avoid recompiling symbols and code that will not change. [1] [2] SWC files can be generated by the Adobe Flash Professional authoring tool, and by Flash Builder (or its companion compiler MXMLC). [3] They are sometimes referred to as class libraries and cannot be directly executed by the Flash Player.

Contents

SWC code libraries are typically included in an ActionScript 3 project, and compiled into the final SWF file alongside the developer's program, by the ActionScript 3 compiler. Only the classes that have been used by the project (and their dependencies) are transferred into the resulting SWF file.

Format

A SWC file is compressed by means of the ZIP archive format. [4] Renaming the extension of a SWC file to "zip" will allow any ZIP-compatible decompression software to show the contents of the file.

An uncompressed SWC file contains at least a catalog.xml file, and a SWF file, usually named "library.swf". It may also contain other files, such as CSS files. The catalog contains a list of the ActionScript classes contained in the library, their dependencies, and modification dates.

Example catalog.xml

This is a simple example of a catalog.xml for a SWC created in Flash CS4 which contains two sounds.

<?xml version="1.0" encoding="utf-8"?><swcxmlns="http://www.adobe.com/flash/swccatalog/9"><versions><swcversion="1.2"/><flashversion="10.0"build="d566"platform="MAC"/></versions><features><feature-script-deps/><feature-files/></features><libraries><librarypath="library.swf"><scriptname="ButtonClickSound"mod="1275949831598"><defid="ButtonClickSound"/><depid="AS3"type="n"/><depid="flash.media:Sound"type="i"/></script><scriptname="EndGameSound"mod="1275949831598"><defid="EndGameSound"/><depid="AS3"type="n"/><depid="flash.media:Sound"type="i"/></script></library></libraries><files></files></swc>

Related Research Articles

<span class="mw-page-title-main">Adobe Flash</span> Deprecated multimedia platform used to add animation and interactivity to websites

Adobe Flash is a multimedia software platform used for production of animations, rich web applications, desktop applications, mobile apps, mobile games, and embedded web browser video players. Flash displays text, vector graphics, and raster graphics to provide animations, video games, and applications. It allows streaming of audio and video, and can capture mouse, keyboard, microphone, and camera input.

<span class="mw-page-title-main">Apache Ant</span> Java software tool

Apache Ant is a software tool for automating software build processes which originated from the Apache Tomcat project in early 2000 as a replacement for the Make build tool of Unix. It is similar to Make, but is implemented using the Java language and requires the Java platform. Unlike Make, which uses the Makefile format, Ant uses XML to describe the code build process and its dependencies.

<span class="mw-page-title-main">Apache Groovy</span> Programming language

Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform. It is both a static and dynamic language with features similar to those of Python, Ruby, and Smalltalk. It can be used as both a programming language and a scripting language for the Java Platform, is compiled to Java virtual machine (JVM) bytecode, and interoperates seamlessly with other Java code and libraries. Groovy uses a curly-bracket syntax similar to Java's. Groovy supports closures, multiline strings, and expressions embedded in strings. Much of Groovy's power lies in its AST transformations, triggered through annotations.

<span class="mw-page-title-main">ActionScript</span> Object-oriented programming language created for the Flash multimedia platform

ActionScript is an object-oriented programming language originally developed by Macromedia Inc.. It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript, though it originally arose as a sibling, both being influenced by HyperTalk. ActionScript code is usually converted to byte-code format by the compiler.

SWF is an Adobe Flash file format used for multimedia, vector graphics and ActionScript. Originating with FutureWave Software, then transferred to Macromedia, and then coming under the control of Adobe, SWF files can contain animations or applets of varying degrees of interactivity and function. They may also occur in programs, commonly browser games, using ActionScript.

MXML is an XML-based user interface markup language first introduced by Macromedia in March 2004. Application developers use MXML in combination with ActionScript to develop rich web applications, with products such as Apache Flex.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

Adobe Flash Player is computer software for viewing multimedia contents, 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 Systems 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.

Flash Video is a container file format used to deliver digital video content over the Internet using Adobe Flash Player version 6 and newer. Flash Video content may also be embedded within SWF files. There are two different Flash Video file formats: FLV and F4V. The audio and video data within FLV files are encoded in the same way as SWF files. The F4V file format is based on the ISO base media file format, starting with Flash Player 9 update 3. Both formats are supported in Adobe Flash Player and developed by Adobe Systems. FLV was originally developed by Macromedia. In the early 2000s, Flash Video was the de facto standard for web-based streaming video. Users include Hulu, VEVO, Yahoo! Video, metacafe, Reuters.com, and many other news providers.

<span class="mw-page-title-main">Gnash (software)</span> Media player for playing SWF files

Gnash is a media player for playing SWF files. Gnash is available both as a standalone player for desktop computers and embedded devices, as well as a plugin for the browsers still supporting NPAPI. It is part of the GNU Project and is a free and open-source alternative to Adobe Flash Player. It was developed from the gameswf project.

Grails is an open source web application framework that uses the Apache Groovy programming language. It is intended to be a high-productivity framework by following the "coding by convention" paradigm, providing a stand-alone development environment and hiding much of the configuration detail from the developer.

<span class="mw-page-title-main">Adobe AIR</span> Cross-platform runtime system for building rich web applications

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.

Action Message Format (AMF) is a binary format used to serialize object graphs such as ActionScript objects and XML, or send messages between an Adobe Flash client and a remote service, usually a Flash Media Server or third party alternatives. The Actionscript 3 language provides classes for encoding and decoding from the AMF format.

<span class="mw-page-title-main">Adobe Flash Builder</span> Integrated development environment

Adobe Flash Builder is an integrated development environment (IDE) built on the Eclipse platform that speeds development of rich Internet applications (RIAs) and cross-platform desktop applications, particularly for the Adobe AIR platform. Adobe Flash Builder 4 is available in two editions: Standard and Premium.

Modern HTML5 has feature-parity with the now-obsolete Adobe Flash. 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.

<span class="mw-page-title-main">Adobe Wallaby</span> Digital file converter application

Adobe Wallaby is an application that turns FLA files into HTML5. On March 8, 2011, Adobe Systems released the first version of an experimental Flash to HTML5 converter, code named Wallaby. It has been quickly superseded by various other Adobe tools.

CrossBridge is an open-source toolset developed by Adobe Systems, that cross-compiles C and C++ code to run in Adobe Flash Player or Adobe AIR. Projects compiled with CrossBridge run up to 10 times faster than ActionScript 3 projects. CrossBridge was also known as "Alchemy" and the "Flash Runtime C++ Compiler", or "FlasCC".

<span class="mw-page-title-main">Powerflasher FDT</span>

Powerflasher FDT is an integrated development environment (IDE) built on the Eclipse platform for development of Adobe Flash-based content.

<span class="mw-page-title-main">OpenFL</span>

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.

References

  1. AdvancED Game Design with Flash, Apress, 01-Sep-2010
  2. SWC-based Components, Adobe LiveDocs.
  3. Flash CS3 For Dummies, John Wiley & Sons, 13-Aug-2007
  4. Flash Builder and Flash Catalyst: The New Workflow, Apress, 20-May-2010