SWC ファイル形式とは?
.swc ファイルは、Adobe Flash および Flex 開発エコシステムで使用されるコンパイル済みの ActionScript コンポーネントライブラリです。名称は ShockWave Component の略です。ビルド時に、Flex SDK コンパイラの mxmlc(アプリケーションコンパイラ)および compc(コンポーネントコンパイラ)が .swc ライブラリを最終的な SWF アプリケーションにリンクし、そこに含まれるプリコンパイル済みのバイトコードとアセットを埋め込みます。
構造的には、.swc は標準的な ZIP アーカイブ であり、最低でも2つのエントリが含まれています。ActionScript クラス、その依存関係、および更新日時をリストした catalog.xml と、エクスポートされたシンボル、バイトコード、埋め込みアセットを保持するプリコンパイル済み SWF である library.swf です。.swc を .zip にリネームして解凍すると、これらの内容を直接確認できます。
この形式は 2002年の Macromedia Flash MX で登場し、Adobe Flex (Flash Builder) および Apache Flex における再利用可能な ActionScript 3 ライブラリおよび UI コンポーネントの標準的な配布単位となりました。
現在、SWC エコシステム全体が廃止されています:
- Adobe Flash Player は 2020年12月31日にサポート終了。Adobe は 2021年1月12日からランタイムの実行をブロックしました
- Adobe Flash Builder は提供終了しています
- Adobe Animate(Flash の後継)は SWF ではなく HTML5 Canvas をターゲットとしています
- Apache Flex SDK はメンテナンスモードのみです(最終リリース 4.16.1、2017年)
- Ruffle エミュレータ(
ruffle.rs)は一部のレガシー SWF を再生できますが、ActionScript 3 の対応には未対応部分があります
現代の JavaScript/TypeScript の npm パッケージが、かつて .swc ライブラリが果たしていた役割を担っています。
セキュリティと安全性
リスク: LOWSWC はビルド時に消費される開発者向けライブラリであり、エンドユーザーが実行時に使用するものではありません。スタンドアロンで実行することはできず、Flash/Flex ツールチェーン以外で自己実行されるコードは含まれていません。ただし、信頼できないソースからの SWC の場合、内部の library.swf に理論上悪意のある ActionScript が含まれる可能性があります。実際には、実行環境である Flash プラグインが消滅しているため、未知のソースからの SWC ファイルによるリスクは最小限です。現在も SWC をリンクしているのは、Flash/AIR アプリを構築している開発者のみです。
形式の詳細
概要- Spine 2D アニメーションランタイムライブラリ - Spine (Esoteric Software) は、Flash/Flex 開発者向けに配布されるランタイムライブラリに .swc を使用しています。同じ ZIP コンテナですが、内容は異なります。
SWC ファイルを開くプログラム
技術的詳細
詳細仕様| コンテナ形式 | ZIP アーカイブ (PKZIP); オフセット 0 にマジックバイト 50 4B 03 04 |
| 必須コンテンツ | catalog.xml (クラスマニフェスト) および library.swf (バイトコードとアセットを含むプリコンパイル済み SWF) |
| コンパイラツール | Flex/Apache Flex SDK の compc (コンポーネントコンパイラ) および mxmlc (アプリケーションコンパイラ) |
| ActionScript VM | library.swf 内の AVM1 (ActionScript 2) または AVM2 (ActionScript 3) バイトコード |
| 圧縮 | ZIP エントリごとの DEFLATE。パッケージレベルの圧縮はなし |
| 一般的なファイルサイズ | 20 KB - 5 MB (小規模なユーティリティから大規模なコンポーネントライブラリまで) |
| チェックサム | ZIP エントリごとの CRC-32。パッケージレベルの署名はなし |
| オプションのコンテンツ | META-INF/ メタデータフォルダ、default.css スタイルシート、追加のアセットフォルダ |
| カタログメタデータ | catalog.xml に埋め込まれた Flex SDK バージョンとクラス更新日 |
| オペレーティングシステム | Windows, macOS, Linux (Apache Flex/AIR SDK クロスプラットフォーム) |
| 検査方法 | .swc を .zip にリネームし、任意の ZIP ツールで解凍して catalog.xml と library.swf を表示 |
| 廃止状況 | Flash Player 2020年12月31日サポート終了。Flash Builder 提供終了。Apache Flex はメンテナンスのみ |
| リリース日 | 2002 (Macromedia Flash MX; SWC concept expanded in Flash 8 / Flex SDK 1.0 ~2004-2005) |
| 最新バージョン | Flash/Flex SDK era ended; Apache Flex SDK 4.16.1 (2017) is the last meaningful release |
| 仕様書 | help.adobe.com |
SWC の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。SWC ファイルについて最初の質問をしてみましょう。