Co to jest format pliku SWC?
Plik .swc to skompilowana biblioteka komponentów ActionScript używana w ekosystemach programistycznych Adobe Flash i Flex. Nazwa pochodzi od ShockWave Component. W czasie budowania projektu kompilatory Flex SDK mxmlc (kompilator aplikacji) i compc (kompilator komponentów) łączą biblioteki .swc z końcową aplikacją SWF, osadzając w niej zawarty w nich skompilowany kod bajtowy i zasoby.
Strukturalnie .swc to standardowe archiwum ZIP zawierające co najmniej dwa wpisy: catalog.xml, który zawiera listę klas ActionScript, ich zależności i znaczniki czasu modyfikacji, oraz library.swf, czyli skompilowany plik SWF niosący wyeksportowane symbole, kod bajtowy i osadzone zasoby. Zmiana nazwy .swc na .zip i jego wypakowanie pozwala bezpośrednio przejrzeć te elementy.
Format ten powstał wraz z Macromedia Flash MX w 2002 roku i stał się standardową jednostką dystrybucji bibliotek ActionScript 3 wielokrotnego użytku oraz komponentów interfejsu użytkownika w ramach Adobe Flex (Flash Builder) i Apache Flex.
Cały ekosystem SWC jest obecnie przestarzały:
- Adobe Flash Player zakończył żywot 31 grudnia 2020 r.; Adobe zablokowało środowisko uruchomieniowe od 12 stycznia 2021 r.
- Adobe Flash Builder został wycofany
- Adobe Animate (następca Flash) celuje w HTML5 Canvas, a nie SWF
- Apache Flex SDK znajduje się wyłącznie w trybie konserwacji (ostatnia wersja 4.16.1 z 2017 r.)
- Emulator Ruffle (
ruffle.rs) odtwarza niektóre starsze pliki SWF, ale posiada luki w obsłudze ActionScript 3
Nowoczesne pakiety npm JavaScript/TypeScript pełnią dziś rolę, którą niegdyś zajmowały biblioteki .swc.
Bezpieczeństwo
RYZYKO: LOWPlik SWC to biblioteka programistyczna używana w czasie kompilacji, a nie w czasie uruchamiania przez użytkowników końcowych. Nie można go uruchomić samodzielnie i nie zawiera on samowykonującego się kodu poza łańcuchem narzędzi Flash/Flex. Jednakże plik library.swf wewnątrz mógłby teoretycznie zawierać złośliwy kod ActionScript, gdyby SWC pochodził z niezaufanego źródła. W praktyce pliki SWC z nieznanych źródeł stanowią minimalne ryzyko, ponieważ wtyczka Flash, która mogłaby je wykonać, już nie istnieje; jedynie programiści budujący aplikacje Flash/AIR nadal łączą pliki SWC.
Szczegóły formatu
w pigułce- Biblioteka runtime animacji Spine 2D - Spine (Esoteric Software) używa rozszerzenia .swc dla swojej biblioteki runtime dystrybuowanej dla programistów Flash/Flex; ten sam kontener ZIP, inna zawartość.
Programy otwierające pliki SWC
Szczegóły techniczne
specyfikacja| Format kontenera | Archiwum ZIP (PKZIP); magiczne bajty 50 4B 03 04 pod offsetem 0 |
| Wymagana zawartość | catalog.xml (manifest klas) i library.swf (skompilowany SWF z kodem bajtowym i zasobami) |
| Narzędzia kompilacji | compc (kompilator komponentów) i mxmlc (kompilator aplikacji) z Flex/Apache Flex SDK |
| Maszyna wirtualna ActionScript | Kod bajtowy AVM1 (ActionScript 2) lub AVM2 (ActionScript 3) wewnątrz library.swf |
| Kompresja | DEFLATE dla każdego wpisu ZIP; brak kompresji na poziomie całego pakietu |
| Typowy rozmiar pliku | 20 KB - 5 MB (od małej biblioteki narzędziowej po dużą bibliotekę komponentów) |
| Suma kontrolna | ZIP CRC-32 dla każdego wpisu; brak podpisu na poziomie pakietu |
| Zawartość opcjonalna | Folder metadanych META-INF/, arkusz stylów default.css, dodatkowe foldery zasobów |
| Metadane katalogu | Wersja Flex SDK i daty modyfikacji klas osadzone w catalog.xml |
| System operacyjny | Windows, macOS, Linux (wieloplatformowość Apache Flex/AIR SDK) |
| Metoda inspekcji | Zmiana nazwy .swc na .zip i wypakowanie dowolnym narzędziem ZIP, aby zobaczyć catalog.xml i library.swf |
| Status | Koniec wsparcia Flash Player 31 grudnia 2020; Flash Builder wycofany; Apache Flex tylko w trybie konserwacji |
| Wydano | 2002 (Macromedia Flash MX; SWC concept expanded in Flash 8 / Flex SDK 1.0 ~2004-2005) |
| Najnowsza wersja | Flash/Flex SDK era ended; Apache Flex SDK 4.16.1 (2017) is the last meaningful release |
| Specyfikacja | help.adobe.com |
Konwersje SWC
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki SWC.