Hva er SWC-filformatet?
En .swc-fil er et kompilert ActionScript-komponentbibliotek som brukes av Adobe Flash- og Flex-utviklingsøkosystemene. Navnet står for ShockWave Component. Ved kompilering vil Flex SDK-kompilatorene mxmlc (applikasjonskompilator) og compc (komponentkompilator) koble .swc-biblioteker inn i den endelige SWF-applikasjonen, og bygge inn den forhåndskompilerte bytekoden og ressursene de inneholder.
Strukturelt sett er en .swc et standard ZIP-arkiv som inneholder minst to elementer: catalog.xml, som lister opp ActionScript-klassene, deres avhengigheter og tidsstempler for endringer, og library.swf, en forhåndskompilert SWF som bærer eksporterte symboler, bytekode og innebygde ressurser. Ved å gi nytt navn fra .swc til .zip og pakke den ut, avsløres dette innholdet direkte.
Formatet oppsto med Macromedia Flash MX i 2002 og ble standarden for distribusjon av gjenbrukbare ActionScript 3-biblioteker og brukergrensesnittkomponenter under Adobe Flex (Flash Builder) og Apache Flex.
Hele SWC-økosystemet er nå foreldet:
- Adobe Flash Player nådde slutten av sin levetid 31. desember 2020; Adobe blokkerte kjøretidsmiljøet fra 12. januar 2021
- Adobe Flash Builder er avviklet
- Adobe Animate (etterfølgeren til Flash) er rettet mot HTML5 Canvas, ikke SWF
- Apache Flex SDK er kun i vedlikeholdsmodus (siste utgivelse 4.16.1, 2017)
- Ruffle-emulatoren (
ruffle.rs) spiller noen eldre SWF-filer, men har mangler i støtten for ActionScript 3
Moderne JavaScript/TypeScript npm-pakker fyller nå rollen som .swc-biblioteker en gang hadde.
Sikkerhet og trygghet
RISIKO: LOWEn SWC er et utviklerbibliotek som brukes ved kompilering, ikke ved kjøring av sluttbrukere. Den kan ikke kjøres frittstående og inneholder ingen selvutførende kode utenfor Flash/Flex-verktøykjeden. Imidlertid kan library.swf inni teoretisk sett inneholde skadelig ActionScript hvis SWC-filen kommer fra en utrygg kilde. I praksis utgjør SWC-filer fra ukjente kilder minimal risiko fordi Flash-pluginen som ville utført dem er borte; bare utviklere som bygger Flash/AIR-apper kobler fortsatt til SWC-filer.
Formatdetaljer
i et nøtteskall- Spine 2D animation runtime library - Spine (Esoteric Software) bruker .swc for sitt kjøretidsbibliotek distribuert til Flash/Flex-utviklere; samme ZIP-container, annet innhold.
Programmer som åpner SWC-filer
Tekniske detaljer
dyp spesifikasjon| Containerformat | ZIP-arkiv (PKZIP); magic bytes 50 4B 03 04 ved offset 0 |
| Påkrevd innhold | catalog.xml (klassemanifest) og library.swf (forhåndskompilert SWF med bytekode og ressurser) |
| Kompileringsverktøy | compc (komponentkompilator) og mxmlc (applikasjonskompilator) fra Flex/Apache Flex SDK |
| ActionScript VM | AVM1 (ActionScript 2) eller AVM2 (ActionScript 3) bytekode inni library.swf |
| Komprimering | DEFLATE per ZIP-element; ingen komprimering på pakkenivå |
| Typisk filstørrelse | 20 KB - 5 MB (fra små verktøybiblioteker til store komponentbiblioteker) |
| Sjekksum | ZIP CRC-32 per element; ingen signatur på pakkenivå |
| Valgfritt innhold | META-INF/ metadatamappe, default.css stilark, ekstra ressursmapper |
| Katalog-metadata | Flex SDK-versjon og datoer for klasseendringer innebygd i catalog.xml |
| Operativsystem | Windows, macOS, Linux (Apache Flex/AIR SDK er plattformuavhengig) |
| Inspeksjonsmetode | Gi nytt navn fra .swc til .zip og pakk ut med et hvilket som helst ZIP-verktøy for å se catalog.xml og library.swf |
| Foreldelse | Flash Player end-of-life 31. des 2020; Flash Builder avviklet; Apache Flex kun i vedlikehold |
| Utgitt | 2002 (Macromedia Flash MX; SWC concept expanded in Flash 8 / Flex SDK 1.0 ~2004-2005) |
| Siste versjon | Flash/Flex SDK era ended; Apache Flex SDK 4.16.1 (2017) is the last meaningful release |
| Spesifikasjon | help.adobe.com |
SWC-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om SWC-filer.