Vad är filformatet SWC?
En .swc-fil är ett kompilerat ActionScript-komponentbibliotek som används av Adobe Flash och Flex-ekosystemen. Namnet står för ShockWave Component. Vid kompilering länkar Flex SDK-kompilatorerna mxmlc (applikationskompilator) och compc (komponentkompilator) .swc-bibliotek till den slutliga SWF-applikationen, och bäddar in den förkompilerade bytekoden och de resurser de innehåller.
Strukturellt sett är en .swc ett standard ZIP-arkiv som innehåller minst två poster: catalog.xml, som listar ActionScript-klasser, deras beroenden och tidsstämplar för ändringar, samt library.swf, en förkompilerad SWF som bär på exporterade symboler, bytekod och inbäddade resurser. Genom att byta namn på .swc till .zip och extrahera den avslöjas detta innehåll direkt.
Formatet har sitt ursprung i Macromedia Flash MX år 2002 och blev standarden för distribution av återanvändbara ActionScript 3-bibliotek och UI-komponenter under Adobe Flex (Flash Builder) och Apache Flex.
Hela SWC-ekosystemet är nu föråldrat:
- Adobe Flash Player nådde sitt slutdatum den 31 december 2020; Adobe blockerade körtidsmiljön från den 12 januari 2021
- Adobe Flash Builder har utgått
- Adobe Animate (Flashs efterföljare) fokuserar på HTML5 Canvas, inte SWF
- Apache Flex SDK är endast i underhållsläge (senaste versionen 4.16.1, 2017)
- Emulatorn Ruffle (
ruffle.rs) kan spela vissa äldre SWF-filer men har brister i stödet för ActionScript 3
Moderna JavaScript/TypeScript npm-paket fyller idag den roll som .swc-bibliotek en gång hade.
Säkerhet & trygghet
RISK: LOWEn SWC är ett utvecklarbibliotek som används vid kompilering, inte vid körning av slutanvändare. Den kan inte köras fristående och innehåller ingen själv-exekverande kod utanför Flash/Flex-verktygskedjan. Dock skulle library.swf inuti teoretiskt sett kunna innehålla skadlig ActionScript om SWC-filen kommer från en osäker källa. I praktiken utgör SWC-filer från okända källor minimal risk eftersom Flash-insticksprogrammet som skulle köra dem är borta; endast utvecklare som bygger Flash/AIR-appar länkar fortfarande SWC-filer.
Formatdetaljer
i ett nötskal- Spine 2D animation runtime library - Spine (Esoteric Software) använder .swc för sitt körtidsbibliotek som distribueras till Flash/Flex-utvecklare; samma ZIP-container, annat innehåll.
Program som öppnar SWC-filer
Tekniska detaljer
djup specifikation| Containerformat | ZIP-arkiv (PKZIP); magic bytes 50 4B 03 04 vid offset 0 |
| Obligatoriskt innehåll | catalog.xml (klassmanifest) och library.swf (förkompilerad SWF med bytekod och resurser) |
| Kompileringsverktyg | compc (komponentkompilator) och mxmlc (applikationskompilator) från Flex/Apache Flex SDK |
| ActionScript VM | AVM1 (ActionScript 2) eller AVM2 (ActionScript 3) bytekod inuti library.swf |
| Komprimering | DEFLATE per ZIP-post; ingen komprimering på paketnivå |
| Typisk filstorlek | 20 KB - 5 MB (från litet verktygsbibliotek till stort komponentbibliotek) |
| Kontrollsumma | ZIP CRC-32 per post; ingen signatur på paketnivå |
| Valfritt innehåll | META-INF/ metadatamapp, default.css stilmall, ytterligare resursmappar |
| Katalog-metadata | Flex SDK-version och ändringsdatum för klasser inbäddade i catalog.xml |
| Operativsystem | Windows, macOS, Linux (Apache Flex/AIR SDK är plattformsoberoende) |
| Inspektionsmetod | Byt namn på .swc till .zip och extrahera med valfritt ZIP-verktyg för att se catalog.xml och library.swf |
| Föråldring | Flash Player slutdatum 31 dec 2020; Flash Builder nedlagt; Apache Flex endast i underhållsläge |
| Släppt | 2002 (Macromedia Flash MX; SWC concept expanded in Flash 8 / Flex SDK 1.0 ~2004-2005) |
| Senaste version | Flash/Flex SDK era ended; Apache Flex SDK 4.16.1 (2017) is the last meaningful release |
| Specifikation | help.adobe.com |
SWC-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om SWC-filer.