Кіріспе

Adobe Flash файл пішімі

Adobe Flash файл пішімі, кейде "Shockwave Flash" деп те аталады.

SWF ('/s//w//ɪ//f/) – мультимедиа, векторлық графика және ActionScript үшін пайдаланылған, қолданыстан шығарылған Adobe Flash файл пішімі. FutureWave Software компаниясымен пайда болған, содан кейін Macromedia-ға берілген, ал кейін Adobe-нің бақылауына өткен SWF файлдарында әртүрлі деңгейдегі интерактивтілік пен функционалды анимациялар немесе апплеттер болуы мүмкін. Олар ActionScript қолданылатын бағдарламаларда, көбінесе браузерлік ойындарда кездеседі. Бағдарламашылар SWF файлдарын бірнеше Adobe өнімдерінен, соның ішінде Flash, Flash Builder (IDE), Adobe Animate (2016 жылдан бері Adobe Flash-тің жаңа аты) және After Effects, сондай-ақ Flex SDK құрамына кіретін MXMLC командалық жолды қолданба компиляторы арқылы жасауға болады. Adobe Illustrator өзінің "экспорттау" функциясы арқылы SWF пішіміндегі файлдарды жасаса да, оларды аша немесе өңдей алмайды. Adobe өнімдерін пайдаланудан басқа, SWF файлдарын ашық кодты Motion Twin ActionScript 2 Compiler (MTASC), ашық кодты Ming кітапханасы және SWFTools бағдарламалық жиынтығы арқылы құрастыруға болады. Multimedia Fusion 2, Captivate және SWiSH Max сияқты басқа да үшінші тарап бағдарламалары осы форматта файлдарды жасай алады. "SWF" термині ShockWave Flash сөзінің қысқартылған түрі ретінде пайда болды. Кейін шатасуды болдырмау үшін, SWF қайдан шыққан Shockwave технологиясынан ерекшелену үшін, бұл атау "Кішкентай веб-форматы" (Small Web Format) деп өзгертілді. Adobe компаниясы "SWF" аббревиатурасының ресми түсіндірмесін берген жоқ. Adobe компаниясы Flash Player-ді 2020 жылдың 31 желтоқсанында қолданудан шығарды (EOL). 2021 жылдың 12 қаңтарында Flash Player-ге барлық Flash мазмұнын іске қосудан тоқтатып, жаңару жіберді.

Тарих

FutureWave Software кішкентай компаниясы бастапқыда файл форматын бір мақсатпен анықтады: көңілді анимацияларды көрсету үшін кішкентай файлдар жасау. Бұл идея ойыншы бағдарламалық құралының кез келген жүйеде жұмыс істейтін және баяу желілік қосылымдармен үйлесімді форматты қамтуын көздейді. FutureWave 1996 жылдың мамыр айында FutureSplash Animator бағдарламасын шығарды. 1996 жылдың желтоқсан айында Macromedia компаниясы FutureWave компаниясын сатып алды, соның салдарынан FutureSplash Animator Macromedia Flash 1.0 болып өзгерді. SWF атауының бастапқы себебі Macromedia-ның танымал Macromedia Shockwave брендін пайдалануға деген ниетінен туындады; Macromedia Director бағдарламасы соңғы пайдаланушылар үшін Shockwave файлдарын жасады, сондықтан олардың жаңа Flash өнімімен жасалған файлдар бұрыннан қалыптасқан брендтің артықшылығын пайдалануға тырысты. Flash Shockwave-тен танымал бола бастағанда, бұл брендтік шешім жауапкершілікке айналды, сондықтан форматты жай ғана SWF деп атау қолданыла бастады. 2008 жылдың 1 мамырында Adobe компаниясы Open Screen Project аясында SWF форматының лицензиялық шектеулерін жойды. Дегенмен, Gnash әзірлеу тобының мүшесі Роб Савой Flash форматының жабық күйінде қалатын бөліктеріне назар салды. 2008 жылдың 1 шілдесінде Adobe Google және Yahoo компанияларына кодты ұсынды, бұл олардың іздеу жүйелеріне SWF файлдарын іздеуге және индекстеуге мүмкіндік берді.

Сипаттама

SWF-дегі негізгі графикалық примитив – жол, ол сызықтардан бастап сплиндерге немесе Безье қисықтарына дейінгі примитивті типтегі сегменттердің тізбегі болып табылады. Осыдан төртбұрыштар, эллипстер және тіпті мәтін сияқты қосымша примитивтерді құруға болады. SWF графикалық элементтері SVG және MPEG 4 BIFS сияқты өте ұқсас. SWF сонымен қатар дисплей тізімдерін пайдаланады және бұрын анықталған компоненттерді атауға және қайта пайдалануға мүмкіндік береді. Бастапқыда векторлық объектілер мен кескіндерді қарапайым тізбектей ұсынумен шектелген форматтың кейінгі нұсқаларында аудио (Flash 3-тен бастап) және бейне (Flash 6-дан бастап) мүмкіндіктері қосылды. Adobe Flash Player-дің 11-ші нұсқасында жаңа, төмен деңгейлі 3D API енгізді. Алғашқыда Molehill деп аталған, бұл API-ға берілген ресми атау ақырында Stage3D болды. Ол OpenGL немесе Direct3D-ге балама ретінде жоспарланған. Stage3D-де шейдерлер Adobe Graphics Assembly Language (AGAL) деп аталатын төмен деңгейлі тілде жазылады.

Бала асырап алу

Adobe көптеген үстел операциялық жүйелерінде SWF файлдарын ойнату үшін Adobe Flash Player және Adobe Integrated Runtime сияқты плагиндерді ұсынады, соның ішінде Microsoft Windows, Mac OS X және Linux x86 архитектурасымен және ARM архитектурасында (тек ChromeOS үшін). GNU GNU General Public License (GPL) лицензиясы бойынша Gnash деп аталатын тегін бағдарламалық қамтамасыз ету SWF ойнатқышын әзірлеуді бастады. GNU жобасы жоғары басымдыққа ие болғанына қарамастан, Gnash үшін қаржыландыру өте шектеулі болды. Adobe SWF ойнату және құрастыру мүмкіндіктерін өзінің басқа өнімдері мен технологияларына енгізді, соның ішінде Adobe Shockwave-ке, ол күрделі құжаттарды көрсетуге мүмкіндік береді. InDesign CS6 сонымен қатар SWF анимацияларының кейбір шектеулі түрлерін тікелей жасауға болады. Sony PlayStation Portable консольдары Sony веб-браузерінде 2.71 нұсқасынан бастап шектеулі SWF файлдарын ойната алады. Nintendo Wii және Sony PS3 консольдары SWF файлдарын өздерінің интернет-браузерлері арқылы іске қоса алады. Scaleform GFx – GPU-ны пайдалана отырып, толық аппараттық үдетуді ұсынатын және Flash 8 және AS2 стандартына сәйкес келетін коммерциялық SWF ойнатқышы. Scaleform GFx ойын жасау құралы ретінде лицензияланған және көптеген компьютерлік және консольдық 3D ойындарда пайдаланушы интерфейстері, HUD, мини-ойындар және бейне ойнату үшін қолданылады. SWF-тің жаңа 3D мүмкіндіктері WebGL-ге балама ретінде қарастырылды, нәтижесінде Papervision3D, Away3D, Sandy 3D және Alternativa 3D сияқты 3D қозғалтқыштар 3D SWF-ті қолдауға бағытталды. Бұл жобалардың кейбіреулері 2005 жыл шамасында басталғанмен, Flash Player 10-ға дейін GPU үдетуі қолдау көрсетілмеді, тіпті сол нұсқада да шейдерлерді бірдей материалдар үшін қолдануға болды, бірақ геометриялық ақпаратты CPU-да өңдеу қажет болды (BSP ағаштарын пайдалану сияқты). 2010 жылы Millward Brown жүргізген және Adobe жариялаған тәуелсіз зерттеуге сәйкес, "жетілген нарықтардағы" (АҚШ, Канада, Ұлыбритания, Франция, Германия, Жапония, Австралия және Жаңа Зеландия) десктоп веб-браузерлердің 99%-дан астамы SWF плагині орнатылған, ал шамамен 90%-ы Flash Player-дің соңғы нұсқасын қолданды. HTML5-тің ойындар мен анимация үшін танымалдылығының артуына және Adobe SWF ойнатқышының көптеген қауіпсіздік кемшіліктеріне байланысты, Adobe 2020 жылдың 31 желтоқсанында Flash Player-ді қолдауды тоқтатып, EOL деп жариялады. 2021 жылдың 12 қаңтарында Flash Player-ге барлық Flash мазмұнын іске қосудан тоқтатып, жаңарту жіберді.

Жарияланған ерекшеліктер

Adobe SWF-тің толық емес сипаттамасын ұсынады, соңғы жаңарту 2013 жылдың қаңтар айында SWF 19 нұсқасындағы өзгерістерді ескеру үшін жасалды. SWF нұсқалары Flash 10-нан кейін Flash Player нұсқаларынан тәуелсіз болды. Одан кейін SWF нұсқасының нөмірі жылдам өсті; SWF 19 нұсқасы Flash Player 11.6-да қосылған жаңа мүмкіндіктерге сәйкес келеді. Flash Player 14 SWF 25 нұсқасын пайдаланады. 2008 жылы Gnash жобасының бас әзірлеушісі Роб Савой спецификациялық құжатты SWF-ті толыққанды жүзеге асыру үшін қажетті "үлкен көлемдегі" ақпараттың жетіспеуі, RTMP және Sorenson Spark спецификацияларын қамтымауы үшін сынады. 2009 жылдың маусым айында жарияланды. Sorenson Spark кодегі Adobe-ге тиесілі емес.

Лицензиялау

2008 жылдың 1 мамырына дейін SWF файлдарын ойнататын бағдарламалық құралды жасауға лицензия талаптары бойынша тыйым салынған. Сол күні Adobe компаниясы Open Screen Project жобасы аясында SWF және FLV форматтарына қатысты барлық шектеулерді жойды. SWF файлдарын құратын бағдарламалық құралды жасауға әрқашан рұқсат берілді, бірақ соңғы, қолжетімді Adobe Flash Player нұсқасында қатесіз жұмыс істеуі керек.

Байланысты файл пішімдері мен кеңейтулері

Adobe құралы тізбегіндегі SWF авторлығына қатысты басқа форматтар әлі де ашық спецификациясыз қалды. Бір мысал – FLA, ол Adobe Flash қолданған SWF-тің өңделінетін нұсқасы, бірақ басқа Adobe құралдарымен емес, олар SWF-ті шығара алады, бірақ мүмкіндіктері шектеулі. Extension Explanation abc ActionScript байткоды, ActionScript виртуалды машинасы (AVM) (Flash 8 және одан бұрынғы) және AVM2 (Flash 9 немесе одан кейінгі) қолданады. amf Action Message FMS-пен мәміле жасау үшін командалар. as ActionScript бастапқы коды, қарапайым бастапқы файлдарда. FLA файлдарында тікелей ActionScript коды болуы мүмкін, бірақ олар көбінесе құрылымдық себептермен немесе кодты нұсқаларды басқару жүйелеріне ұсыну үшін жеке сыртқы as файлдары түрінде кездеседі. asc Server Side ActionScript, тиімді және икемді клиент-серверлік Macromedia Flash Communication Server MX қолданбаларын жасау үшін қолданылады. aso Flash әзірлеу кезінде қолданылатын, құрастырылған ActionScript байткодын сақтайтын кэш файлдары. ASO файлы оның сәйкес кластық файлдарында өзгерістер анықталғанда қайта құрылады. Кейде Flash IDE қайта компиляциялау қажеттігін тани алмайды, сондықтан бұл кэш файлдарын қолмен жою қажет. Олар Win32 / Flash8 жүйесінде %USERPROFILE%\Local Settings\Application Data\Macromedia\Flash8\en\Configuration\Classes\aso мекенжайында орналасқан. f4a тек аудио ағыны бар iTunes M4A файлдарына арналған Adobe жұрнағы. fla Flash қолданбасының бастапқы материалы. Flash авторлық бағдарламалық жасақтамасы FLA файлдарын өңдеп, оларды swf файлдарына құрастырады. Flash бастапқы файл форматы қазіргі уақытта Microsoft Compound File Format негізіндегі бинарлық файл форматы болып табылады. Flash Pro CS5-те fla файл форматы – XML негізделген жоба құрылымының zip контейнері. flp Flash жобасындағы барлық құжат файлдарына сілтеме жасау үшін қолданылатын XML файлдары. Flash жобалары пайдаланушыға бірнеше байланысты файлдарды топтастыруға мүмкіндік береді, бұл Flash жобаларын ұйымдастыруға, құрастыруға және дамытуға көмектеседі. flv Adobe Flash, ffmpeg, Sorenson Squeeze немесе On2 Flix арқылы жасалған Flash бейне файлдары. FLV файлдарындағы аудио және бейне деректері SWF файлдарындағы сияқты кодталған. fxg Adobe компаниясы Flex, Flash, Photoshop және басқа қолданбалар үшін әзірлеп жатқан біріктірілген xml файл форматы. jsfl Flash Authoring ортасына функционалдылық қосады; олар JavaScript кодын қамтиды және Flash JavaScript API-ге қол жеткізеді. mxml ActionScript файлдарымен (және css файлдарымен) бірге қолданылады және Flex-те GUI-ды жобалау үшін HTML сияқты таңбалау тілі синтаксисін ұсынады. Әрбір MXML файлы жаңа сыныпты жасайды, ол түбірлік тегтің класын кеңейтеді және ұялы тегтерді балалар ретінде (егер олар UIComponent ұрпақтары болса) немесе сыныптың мүшелері ретінде қосады. sol Adobe Flash Player контейнері, жергілікті ортақ нысандарды сақтау үшін (Flash ойнатқышын іске асыратын жүйеде сақталған деректер). spl FutureSplash Animator құжаттары. swc Компоненттерді таратуға арналған контейнер; олар құрастырылған клипті, компоненттің ActionScript класы файлын және компонентті сипаттайтын басқа файлдарды қамтиды. swd Flash әзірлеу кезінде пайдаланылатын уақытша түзету файлдары. Flash жобасын әзірлеу аяқталғаннан кейін бұл файлдар қажет емес және оларды жоюға болады. swf Аяқталған, құрастырылған және жарияланған файлдар, оларды Adobe Flash-пен өңдеуге болмайды. Алайда, бірнеше Adobe емес '.swf декомпиляторлары' бар (мысалы, Sothink), SWF-ті FLA форматына немесе жақындағы Apache Flex форматына қайта аудару үшін. SWF файлдарын Flash арқылы импорттау SWF файлдан кейбір активтерді алуға мүмкіндік береді, бірақ барлығын емес. swt Macromedia Generator қолданатын SWF файлдарының "шағылыстырылған" формалары. Бұл сонымен қатар Adobe Dreamweaver Flash шаблоны файл кеңейтімі. xfl XML негізделген жоба файлдары, олар бинарлық fla форматына тең. Flash авторлық бағдарламалық жасақтамасы Flash CS4-те XFL алмасу форматы ретінде пайдаланады. Ол InDesign және AfterEffects-тен экспортталған XFL файлдарын импорттайды. Flash Pro CS5-те xfl файлы – XML және бинарлық файлдарды қамтитын қалталардың иерархиясы болып табылатын "сығылмаған FLA" файлын ашатын кілт файл.