Historie
V roce 1993 firma Future Wave Software vytvořila nástroj pro tvorbu inteligentní grafiky pro PC i MacOS s názvem SmartSketch (což by se dalo přeložit jako chytrá skica). Umožňoval vytvářet vektorové obrázky – které, na rozdíl od bitmapových obrázků bylo možno libovolně zvětšovat nebo zmenšovat beze ztráty přesnosti zobrazení. O dva roky později k tomu dodala možnost vytvářet animace a nástroj na tvorbu animované vektorové grafiky pojmenovala Future Splash Animator. V roce 1996 firmu Future Wave Software koupila firma Macromedia, která program přejmenovala na Macromedia Flash 1.0. Zároveň distribuovala plugin do prohlížečů – FlashPlayer a tím otevřela zcela nový trh pro interaktivní animovanou grafiku. Pro podporu tvorby interaktivní grafiky k programu dodala nástroj pro skriptování nazvaný MovieClip Action, později přejmenovaný na ActionScript ve verzi 1.0. ActionScript. Druhá verze jazyka ActionScript přišla v roce 2004 jako podpora páté verze Flashe. V roce 2005 firmu Macromedia pohltila firma Adobe a ve roce 2007 uvedla novou verzi jazyka -ActionScript 3.
Třetí verze jazyka ActionSciptu je plně objektový programovací jazyk, který umožňuje přidávat do vytvářených grafických aplikací složitou interaktivitu, zobrazování dat a ovládat přehrávání. Jeho syntaxe není složitá – je velmi podobná jazykům Java nebo JavaScript. ActionScript zahrnuje velkou knihovnu vestavěných tříd, která umožňuje vytvářet objekty pro prováděni mnoha užitečných úloh.
ActionScript i JavaScript jsou odvozené od mezinárodního standardu pro skriptovací jazyky ECMAScript. Proto by vývojářům, kteří znají JavaScript, měl být ActionScript okamžitě srozumitelný. Ale i ti, kteří žádný programovací jazyk dosud neznají, mohou se jazyk ActionScript rychle naučit. Začít využívat jazyk ActionScript není těžké – pro psaní skriptů nemusíte hned rozumět všem elementům jazyka – můžete vytvářet skripty z jednoduchých akcí a s jazykem a jeho velmi užitečnými knihovnami se seznamovat postupně, což je i cílem tohoto kurzu.
Vlastní vývojové prostředí Flash se také vyvíjelo – nyní toto prostředí, nazývané nyní Adobe Animate umožňuje vytvářet interaktivní animace nejen pro přehrávání prostřednictvím FlashPlayeru, ale i aplikace pro prostředí AIR pro PC, Android i IOS, nabo webové interaktivní aplikace využívající jazyk JavaScript a HTML5. Prostředí Adobe Animate také umožňuje vytvářet datové zdroje pro animaci pro WebGL s využitím jazyka JavaScript.
Třetí verze ActionScriptu plně podporuje objektově orientované programování. Na rozdíl od jazyků Fortran, C++ a dalších jazyků „klasického ražení“ již neumožňuje napsat program, který by nebyl (alespoň formálně) objektově orientovaný. Její autoři se přitom do jazyka ActionScript (verze 3) snažili začlenit převážnou většinu zásad objektově orientovaného programování. Pokud vám pojem „Objektově orientované programování nic neříká“ – vůbec nevadí. Se zásadami objektově orientovaného programování vás budeme v průběhu tohoto kurzu postupně seznamovat.
ActionScript je velice jednoduchý jazyk. Základy jeho syntaxe může člověk, který umí programovat, zvládnout během několika hodin. Pro ty, kdo ještě nikdy neprogramovali je ActionScript výborný jazyk pro naučení základním programovacím návykům a i prostředek pro vysvětlení a pochopení zásad objektového programování. Pro výuku programovacích technik je výhodné i to, že výsledky programováni jsou ve flashovém prostředí bezprostředně vizualizovatelné – vidíme je na obrazovce ve formě interaktivních animací (což je daleko zábavnější než vytvářet nezáživné školní příklady nějakých numerických či obchodních aplikací).
Jak to funguje
Při programování se snažíme co nejlépe popsat svoji představu o tom, jak má počítač splnit požadovanou úlohu. Pro vyjádření této představy využíváme programovací jazyky (v našem případě jazyk ActionScript) a také, v moderních nástrojích jako je třeba prostředí Adobe Animator i grafický editor v němž různými způsoby interaktivně vytváříme popis toho, jak se má vytvářený program – v našem případě interaktivní grafická animace – chovat. Program vytváříme v grafickém editoru a doplňujeme ho skripty v jazyku ActionScript – při ukládání do zdrojového textu má program příponu .fla. K programu můžeme přidružit zdrojové texty psané v jazyce ActionScript (při ukládání mají příponu .as).
Při překladu jsou zdrojové texty programu z grafického editoru (s příponou .fla) a zdrojové texty tříd z napsané v jazyku ActionScript (s příponou .as) s využitím předem přeložených základních knihoven jazyka ActionScript převedeny do tzv. byte-kódu, vyjádřeného jako soubor s příponou swf. Tento soubor flashový prohlížeč (FlashPlayer) prichází suborem swf, z byte-kódu programu zjistí co má udělat a vykoná příslušné požadavky. Jinak řečeno, swf soubor interpetuje a vytváří flashovou aplikaci.
Z tohoto pohledu je jasné, že flashové programy jsou pomalejší, než programy překládané přímo do podoby instrukcí, kterým rozumí příslušný operační systém a strojového kódu příslušného procesoru Na druhé straně, výhodou interpretovaných programů je to, že jim tak moc nezáleží na tom, na jaké platformě, na jakém operačním systému běží, pokud pro danou počítačovou platformu a daný operační systém je k dispozici příslušný interpret – tj. v daném případě přehrávač FlashPlayer. Vytvořený flashový program proto můžeme přehrávat jak na počítačích s operačním systémem Windows tak i na platformě MacOS. Protože FlashPlayer dodávaný jako stažitelný doplněk k internetovým přehrávačům musí programy respektovat určitá omezení, daná bezpečnostní politikou jako ochrana proti nežádoucím hackerským útokům a virům. Z toho např. vyplývá i to, že flashový program interpretovaný internetovým prohlížečem s flash-playerovým doplňkem nemá přímý přístup k diskům počítače na němž běží. Toto omezení neplatí, pokud program budeme vytvářet přímo jako aplikaci pro prostředí AIR – interpretační platforma AIR je k dispozici jak pro PC, tak i pro platformy Android a IOS.
Za zmínku ještě stojí, že programy využívající přehrávač FashPlayer, platformy AIR a jazyk Actionscript můžeme také vytvářet v prostředí nástroje Adobe Flash-Builder, která poskytuje rozšířené možnosti pro vytváření složitých webových aplikací.
Přehrávač flashových aplikací od samého počátku není podporován operačním systémem pro mobilní výrobky firmy Apple. Při uvedení na trh prvních Ipadů a Iphonů byla nepřítomnost flashového přehrávače oficiálně zdůvodňována jeho přílišnou výpočetní náročností, která by při provozu užírala příliš velký proud z baterie. Skutečnou příčinu ale podle některých analytiků byla spíše obava z příliš v té době rozšířené nabídky flashových aplikací, která by mohla konkurovat programům vyvíjených pro bezprostředně pro IPady a IPhony.
Další problém s využitím flashových aplikací souvisí se snahou moderních internetových přehrávačů omezovat možnost začleňování do přehrávačů rozšiřujících doplňků s tím – že vše (včetně interaktivních animací) by měl zajišťovat přehrávač v normě HTML 5, případně doplněný skriptovacím jazykem JavaScript. Nicméně ale dodnes v hlavní přehrávače Microsoft Edge i Google Chrome rozšíření přehrávačem flashe umožňují. Krom toho Adobe Animator nabízí nástroje pro tvorbu interaktivních animací pro HTML5 či WebGL s podporou jazyka JavaScript. Krom toho, firma Adobe nabízí i další možnosti, jak přeložit program vytvořený pro flash s využitím jazyka ActionScript na serverech firmy Adobe do formy, kterou je možno poslat do systému IOS pro IPady a IPhony.