Hvad er SWC-filformatet?
En .swc-fil er et kompileret ActionScript-komponentbibliotek, der bruges af Adobe Flash- og Flex-udviklingsøkosystemerne. Navnet står for ShockWave Component. Ved kompilering linker Flex SDK-kompilerne mxmlc (applikationskompiler) og compc (komponentkompiler) .swc-biblioteker ind i den endelige SWF-applikation, hvorved de prækompilerede bytecode og aktiver, de indeholder, indlejres.
Strukturelt er en .swc et standard ZIP-arkiv, der som minimum indeholder to poster: catalog.xml, som lister ActionScript-klasserne, deres afhængigheder og tidsstempler for ændringer, og library.swf, en prækompileret SWF, der bærer eksporterede symboler, bytecode og indlejrede aktiver. Omdøbning af .swc til .zip og udpakning afslører dette indhold direkte.
Formatet opstod med Macromedia Flash MX i 2002 og blev standarden for distribution af genanvendelige ActionScript 3-biblioteker og UI-komponenter under Adobe Flex (Flash Builder) og Apache Flex.
Hele SWC-økosystemet er nu forældet:
- Adobe Flash Player nåede sin livsafslutning den 31. december 2020; Adobe blokerede kørsel fra den 12. januar 2021
- Adobe Flash Builder er udgået
- Adobe Animate (efterfølgeren til Flash) målretter HTML5 Canvas, ikke SWF
- Apache Flex SDK er kun i vedligeholdelsestilstand (sidste udgivelse 4.16.1, 2017)
- Ruffle-emulatoren (
ruffle.rs) afspiller visse ældre SWF-filer, men har mangler i ActionScript 3-understøttelsen
Moderne JavaScript/TypeScript npm-pakker udfylder i dag den rolle, som .swc-biblioteker engang havde.
Sikkerhed og tryghed
RISIKO: LOWEn SWC er et udviklerbibliotek, der bruges ved kompilering, ikke ved kørsel af slutbrugere. Det kan ikke køres selvstændigt og indeholder ingen selvafviklende kode uden for Flash/Flex-værktøjskæden. Dog kunne library.swf indeni teoretisk set indeholde ondsindet ActionScript, hvis SWC-filen kom fra en upålidelig kilde. I praksis udgør SWC-filer fra ukendte kilder minimal risiko, da Flash-plugin'et, der skulle køre dem, er væk; kun udviklere, der bygger Flash/AIR-apps, linker stadig til SWC-filer.
Formatdetaljer
kort fortalt- Spine 2D animation runtime library - Spine (Esoteric Software) bruger .swc til sit runtime-bibliotek distribueret til Flash/Flex-udviklere; samme ZIP-container, andet indhold.
Programmer der åbner SWC-filer
Tekniske detaljer
dyb specifikation| Containerformat | ZIP-arkiv (PKZIP); magic bytes 50 4B 03 04 ved offset 0 |
| Påkrævet indhold | catalog.xml (klasse-manifest) og library.swf (prækompileret SWF med bytecode og aktiver) |
| Kompilerværktøjer | compc (komponentkompiler) og mxmlc (applikationskompiler) fra Flex/Apache Flex SDK |
| ActionScript VM | AVM1 (ActionScript 2) eller AVM2 (ActionScript 3) bytecode inde i library.swf |
| Komprimering | DEFLATE per ZIP-post; ingen komprimering på pakkeniveau |
| Typisk filstørrelse | 20 KB - 5 MB (fra lille hjælpebibliotek til stort komponentbibliotek) |
| Checksum | ZIP CRC-32 per post; ingen signatur på pakkeniveau |
| Valgfrit indhold | META-INF/ metadata-mappe, default.css stylesheet, yderligere aktiv-mapper |
| Katalog-metadata | Flex SDK-version og klasseændringsdatoer indlejret i catalog.xml |
| Operativsystem | Windows, macOS, Linux (Apache Flex/AIR SDK er platformsuafhængig) |
| Inspektionsmetode | Omdøb .swc til .zip og udpak med ethvert ZIP-værktøj for at se catalog.xml og library.swf |
| Forældelse | Flash Player livsafslutning 31. dec 2020; Flash Builder udgået; Apache Flex kun i vedligeholdelse |
| Udgivet | 2002 (Macromedia Flash MX; SWC concept expanded in Flash 8 / Flex SDK 1.0 ~2004-2005) |
| Seneste version | Flash/Flex SDK era ended; Apache Flex SDK 4.16.1 (2017) is the last meaningful release |
| Specifikation | help.adobe.com |
SWC-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om SWC-filer.