Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

„Flash je mrtev, HTML5 není připravené, co teď?“

Prohlášení společnosti Adobe o ukončení vývoje Flash Playeru pro mobilní zařízení vzbudilo velkou vlnu emocí a komentářů. Po několika dnech už je situace jasnější a přehlednější. Pojďme si tedy shrnout, co vlastně Adobe oznamuje, co to znamená pro Flash a co to znamená pro web jako takový.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Po oznámení konce vývoje Flash Playeru pro mobilní platformy a ne zcela šťastném vyjádření společnosti Adobe proběhly mezi tvůrci webu různé emoce. Když to přeženeme: někteří oslavují konec zlého ošklivého Flashe a příchod svobodného HTML5 (zmínky o genialitě Steva Jobse, který konečně zabil Flash, nechybí), jiní hořekují nad koncem solidního cross-platformního řešení s penetrací nad 95 % uživatelů a věští zkázu webové civilizace a úpadek do hlubin nejasných specifikací a zmatených implementací.

Bohužel tyto komentáře vypovídají jen málo o skutečné situaci, mnohdy spíš o osobních preferencích komentujících. Pojďme se na celou situaci podívat střízlivějším pohledem, oproštěným od fanouškovství ať už na tu, či onu stranu.

Co se vlastně stalo?

Adobe se rozhodlo, že nebude vytvářet plugin (Flash Player) pro mobilní zařízení. Jedním z důvodů je "nemožnost zajistit konzistentní UX". Namísto toho nabídne pro vývojáře ve Flashi / AIRu možnost vytvářet přímo nativní aplikace pro jednotlivé platformy, resp. výstup v HTML5.

V tomto článku budeme zkratkou HTML5 označovat celou rodinu technologií HTML5, CSS3 a JS.

Je to poměrně snadno pochopitelné: mobilní zařízení představují velmi variabilní svět, nejen co do platforem, ale i co do technických možností. Zajistit, aby věci, psané ve Flashi, vypadaly a ovládaly se plus mínus stejně na třípalcovém displeji s odporovou dotykovou vrstvou a (například) na velkém tabletu s kapacitním snímáním a multitouch je nadlidský úkon. Ještě přesněji řečeno: zajistit, aby jednotlivé přehrávače dokázaly tyto různé metody sjednotit a programátorovi nabídnout rozhraní, které bude z hlediska vývojáře konzistentní, ale zároveň využije možnosti daných zařízení.

Adobe tak vlastně elegantně přehodilo práci se zajištěním takové kompatibility na výrobce prohlížečů. "To je vaše věc, chlapci, my jedeme podle standardů a vy se postarejte!" Nadávky uživatelů na nefunkční to či ono tak po mnoha dlouhých letech nebudou směřovány na adresu Flash Playeru.

Konec Flashe? Ale kdepak...

Flash už dávno není jen ten Flash, co znali vaši dědové, tedy plugin do prohlížeče, v němž se konaly animované reklamy, hlasité reklamy, později video... Flash je dnes pro Adobe celý ekosystém, od vývojářských nástrojů po runtime. Flash Player je jen jedna část na samotném konci toho řetězce - samozřejmě významná, ale už ne tak, jako před několika lety.

Před lety přišel framework Flex, postavený nad Flash Playerem, který umožňoval jednodušší a rychlejší návrh internetových aplikací (RIA) a jejich UI. Technicky byly aplikace ve Flexu překládány do swf, tedy do formátu, určeného pro běh ve Flash Playeru, ale ze strany vývojáře šlo o technologii výrazně odlišnou od toho, co bylo do té doby známo jako "Flash".

Flash byl především animační nástroj s možnostmi skriptovat některé akce pomocí implementace ECMAScriptu s názvem Action Script (AS). Adobe k Flexu připravilo vývojové prostředí, zvané Flex Builder, které bylo postavené na Eclipse a umožňovalo práci tak, jak jsou vývojáři aplikací zvyklí např. z Visual Studia či Delphi, s nabídkou vizuálních komponent, s průvodci a "generátory kódu". Flex Builder odstínil vývojáře od samotného Flashe a nabídl jednoduchý značkovací jazyk MXML pro popis uživatelského rozhraní a možnost psaní knihoven a ovládacích rutin v jazyce AS (který byl už v tu dobu svými datovými typy, syntaxí či objektovostí mnohem podobnější např. C# než JavaScriptu).

Velkou výhodou Flexu byla jeho téměř bezešvá spolupráce se serverovým backendem, včetně možností předávat si transparentně např. celé objekty a nestarat se o to, jak přesně komunikace probíhá a kdy (srovnejte s AJAXem). Druhá velká výhoda byl AIR, neboli "desktopový runtime pro Flex". Změnou několika nastavení můžete vygenerovat Flexovou aplikaci tak, že bude fungovat s runtimem AIR, tedy bude spustitelná kdekoli, kde je AIR nainstalován (obdoba např. JRE nebo .NET Runtime). Aplikace pro AIR mohou mít dokonce komponentu "webový prohlížeč" (WebKit) - tedy přístup, dnes používaný např. v PhoneGap.

Flash není jen videopřehrávač a reklamy

Adobe tohle všechno zahrnulo do "ekosystému Flash". V posledních verzích se Flex Builder přejmenoval na Flash Builder a dostál postupně výrazných změn - například přibyla možnost generovat nativní aplikace pro mobilní platformy (včetně iOS).

Flash dnes obsahuje tedy kromě animačního nástroje ("Flash") i IDE pro psaní aplikací ("Flash Builder"), runtime pro desktop ("AIR"), runtime pro prohlížeče ("Flash Player") a některé pomocné nástroje, které přesahují i do jiných oblastí použití (Catalyst, Edge...). 

Ukončení vývoje Flash Playeru pro mobilní platformy je věc, která by Flash, jako ho vnímá Adobe, neměla ohrozit - na jeho místo nastoupí u aplikací AIR, respektive překlad aplikací, napsaných ve Flexu, do nativního kódu, a v oblasti animací a videa by zase mělo přijít HTML5 (viz Edge, z druhé strany se nabízí např. projekt Popcorn od Mozilly).

Aktualizace a upřesnění: Podle posledních informací Adobe předá Flex pod správu Apache Foundation a jeho vývoj bude převeden pod zatím nespecifikovaný OSS model. Další informace např. zde: http://blogs.adobe.com/flex/2011/11/your-questions-about-flex.html

Nešikovné vyjádření...

Upřímně řečeno: nelze odhadnout, jestli to tak opravdu dopadne. Adobe je připravené - jejich nástroje podporují jak export do HTML5, tak vytváření nativního kódu, ale přitom neztrácejí kontinuitu s tím, na co byli několik posledních let vývojáři zvyklí. Z čistě věcného hlediska by se tedy nemělo jednat o žádný velký zlom.

Problém je, že "čistě věcné" hledisko, bohužel, není to jediné, a ani to podstatné. Svým poměrně nešikovným vyjádřením Adobe udělalo velkou chybu - totiž zahazardovalo se značkou "Flash" a znejistilo mnohé zákazníky, kteří si budou klást otázku: "Má Flash perspektivu...? Můžeme ho dál používat, nebo bychom se měli přeorientovat na jinou technologii?" Vysvětlování, že se vlastně nic neděje a že má smysl dál zůstávat u vývojářských nástrojů se značkou Flash, totiž nemusí u všech uspět.

Adobe se totiž podařilo místo sdělení "Flash je nyní i HTML5" říct "Flash končí, bude nahrazen HTML5". Samozřejmě, že ten, kdo si podrobně přečte zprávu a komentáře k ní, zjistí, že to tak není, ale lidé nečtou podrobné zprávy a komentáře, lidé si pamatují slogany. A slogan tak, jak byl v první chvíli vnímán, zněl: "Adobe končí s Flashem". Málokdo rozlišuje mezi Flashem a Flash Playerem, málokdo si uvědomí, že se jedná pouze o mobilní platformy - bohužel. Byla otřesena víra ve značku Flash.

Spása od HTML?

Pokud porovnáme Flash a HTML5 (celou rodinu technologií, včetně CSS a JS), vidíme, že se nedá o náhradě mluvit... HTML5 je uskupení více či méně rozpracovaných návrhů standardů, které se postupně proměňují a jsou v různé míře implementovány výrobci prohlížečů. Noční můra protokolu WebSocket, který se měnil implementátorům pod rukama, budiž mementem.

O něčem takovém, jako je penetrace Flashe v aktuálních verzích, se může HTML5 stále jen zdát. Flash plně těžil z modelu majoritního výrobce, tzn. standard byl jasně dán existující implementací a výrobce k ní dodával vývojářské nástroje. Proti tomu působí HTML5 jako poměrně chaotický slepenec různých ad hoc návrhů, které jsou v jednotlivých prohlížečích implementovány dobře, špatně, nebo vůbec.

Ale i v dalších ohledech HTML zaostává: JavaScript je sice výborný jazyk, ale člověk jeho krásu objeví, až když ho pochopí. Většinový vývojář ho používá "jako Céčko" a nadává, že JS má jiný objektový model. O různých implementacích nemluvě. Oproti tomu je AS jazyk, který bude vývojářům, zvyklým na C-like jazyky, připadat mnohem srozumitelnější. 

Rychlost prototypování aplikací je rovněž rozdílná. Stejně tak třeba jejich testování či udržování. Ve všech těchto ohledech Flash (Flex) jednoznačně vede a nabízí komfort, který se blíží klasickým vývojářským nástrojům. HTML je, ať se nám to líbí nebo ne, stále o mnoho let pozadu a na všechny tyto nástroje teprve čeká. I když to tak možná současným kodérům nepřipadá a mají dojem, že se vlastně s vylepšeným textovým editorem a příkazovou řádkou dá velmi dobře vyvíjet...

Obrovskou výhodu má ekosystém Flashe právě v tom, že obsahuje profesionální vývojářské nástroje. To je neoddiskutovatelný fakt, který uznávají i největší zastánci HTML5: vývojové prostředí alespoň na úrovni Flash Builderu pro HTML zatím zkrátka neexistuje, kóduje se převážně ručně (a ruční práce je ta nejdražší) a o pohodlném "komponentovém" návrhu aplikace si zatím nechává HTML5 jen zdát. Možná se dočkáme i paradoxní situace, že Flash (Flash Builder) bude "nejlepší vývojářský nástroj pro HTML".

Co dál?

Nestalo se tedy vlastně nic závažného. Rozhodně není na místě ani oplakávat Flash, ani slavit vítězství HTML5, obě technologie budou pokračovat dál. Zcela střízlivě zhodnoceno jde vlastně jen o odpískání nutných a dlouhodobých investic do udržování Flash Playeru pro stále divoký trh s mobilními zařízeními. Bohužel, toto rozhodnutí bylo oznámeno poněkud nešťastně a vyvolalo vlnu dohadů a spekulací.

Na druhou stranu je dobré, že se taková diskuse vede. Připomíná totiž, co vše v ekosystému HTML5 zatím chybí a jaké jsou jeho nedostatky.

Specifikace HTML5 v posledních letech a měsících udělala obrovský skok a zahrnula mnohé funkce, které bylo do té doby možné řešit pouze jinými způsoby - většinou právě flashovými "applety". Flash je stále používán jako "fallback" pro video, audio a další nástroje, a tuto roli si ještě několik let udrží. Se specifikací drží více nebo méně krok výrobci prohlížečů, od Chrome, který implementuje každou novinku, po IE, který implementuje pouze stabilní části specifikací, protože je mířen na konzervativní uživatele a nemůže si dovolit nestabilitu či experimenty. Bohužel s prudkým rozvojem HTML5 nepřišel adekvátní rozvoj vývojářských nástrojů - nástroje, které jsou v tomto světě "špička", vlastně nenabízí o moc víc než "asistovaný zápis kódu".

Jde tedy o "vítězství HTML5 a dobro pro celý web"? V zásadě ano - ovšem vítězství nikoli ve smyslu poražení nepřítele, ale spíš v tom, že orientací Flashového ekosystému na HTML5 může svět HTML5 získat slušné vývojářské nástroje a řadu nových impulsů. Zároveň by bylo chybou domnívat se, že tímto vítězstvím prokázalo HTML5 svou technologickou vyzrálost a převahu - z hlediska vývoje aplikací je v komfortu práce i ve stabilitě běhového prostředí stále o několik let pozadu. Ale tak už to ve světě technologií chodí: ne vždy se prosadí ta technicky lepší.

Martin Malý

Martin Maly

Začal programovat v roce 1984 s progra­movatelnou kalkulačkou. Pokračoval k BASICu, assembleru Z80, Forthu, Pascalu, Céčku, dalším assemblerům, před časem v PHP a teď je rád, že neprogramuje…

Školení: Návrh a používání MySQL databáze

 

Naučte se používat jednu z nejrozšířenějších databází. Dozvíte se vše potřebné od návrhu až po samotné využití MySQL v projektech.

Školení pro všechny, kteří se chtějí naučit efektivně pracovat s MySQL nebo se v práci s touto databází zlepšit.

Přihláška a podrobné informace

Přehled názorů

potreba?
lol 16. 11. 2011 00:44
Nový
└ 
Re: potreba?
pas 16. 11. 2011 01:02
Nový
 
├ 
Re: potreba?
Bambus 16. 11. 2011 07:47
Nový
 
└ 
Re: potreba?
rt 21. 11. 2011 12:59
Nový
 
 
└ 
Re: potreba?
pas 21. 11. 2011 14:29
Nový
Flash
pas 16. 11. 2011 01:40
Nový
└ 
Re: Flash
OBr 16. 11. 2011 07:57
Nový
 
├ 
Re: Flash
Petr 16. 11. 2011 08:20
Nový
 
├ 
Re: Flash
pas 16. 11. 2011 10:50
Nový
 
│
└ 
Re: Flash
OBr 16. 11. 2011 11:26
Nový
 
└ 
Re: Flash
pas 16. 11. 2011 10:54
Nový
konecne paradny clanok
Patrik Martinko 16. 11. 2011 01:46
Nový
Vyborne!
bhawk 16. 11. 2011 07:45
Nový
Flash upadok
Jano 16. 11. 2011 08:49
Nový
tatrabanka bankovnictvi
martin 16. 11. 2011 09:12
Nový
├ 
Re: tatrabanka bankovnictvi
duri.myopenid.com 16. 11. 2011 09:33
Nový
└ 
Re: tatrabanka bankovnictvi
Borek Bernard 16. 11. 2011 18:05
Nový
Skvělá analýza
Petr Staníček 16. 11. 2011 09:54
Nový
Re: „Flash je mrtev, HTML5 není připravené, co teď?“
mixal11 16. 11. 2011 10:18
Nový
clean
pf 16. 11. 2011 11:20
Nový
haxe
haxe 16. 11. 2011 12:38
Nový
└ 
Re: haxe
pf 16. 11. 2011 12:54
Nový
Otevřenost
Franta 16. 11. 2011 12:40
Nový
└ 
Re: Otevřenost
pas 16. 11. 2011 13:14
Nový
 
└ 
Re: Otevřenost
Franta 16. 11. 2011 17:25
Nový
 
 
└ 
Re: Otevřenost
pas 16. 11. 2011 18:00
Nový
 
 
 
└ 
Re: Otevřenost
Pavel Šimerda 17. 11. 2011 19:58
Nový
Je to horší, než se zdá
Borek Bernard 16. 11. 2011 18:23
Nový
├ 
Re: Je to horší, než se zdá
David Grudl 16. 11. 2011 18:30
Nový
│
└ 
Re: Je to horší, než se zdá
Borek Bernard 16. 11. 2011 18:33
Nový
├ 
Re: Je to horší, než se zdá
Martin Malý 16. 11. 2011 18:36
Nový
│
└ 
Re: Je to horší, než se zdá
pas 16. 11. 2011 20:30
Nový
├ 
Re: Je to horší, než se zdá
DT 16. 11. 2011 19:02
Nový
│
└ 
Re: Je to horší, než se zdá
Borek Bernard 16. 11. 2011 19:55
Nový
│
 
├ 
Re: Je to horší, než se zdá
OBr 16. 11. 2011 20:17
Nový
│
 
└ 
Re: Je to horší, než se zdá
pas 16. 11. 2011 20:53
Nový
│
 
 
├ 
Re: Je to horší, než se zdá
Franta 16. 11. 2011 21:08
Nový
│
 
 
│
└ 
Re: Je to horší, než se zdá
pas 16. 11. 2011 21:24
Nový
│
 
 
└ 
Re: Je to horší, než se zdá
Borek Bernard 17. 11. 2011 10:34
Nový
│
 
 
 
└ 
Re: Je to horší, než se zdá
pas 17. 11. 2011 11:24
Nový
└ 
Re: Je to horší, než se zdá
OBr 16. 11. 2011 20:05
Nový
fantom
pozortucnak 16. 11. 2011 23:27
Nový
aktualne alternativy
xxxxmarek 17. 11. 2011 07:41
Nový
├ 
Re: aktualne alternativy
pas 17. 11. 2011 10:14
Nový
│
└ 
Re: aktualne alternativy
Borek Bernard 17. 11. 2011 10:38
Nový
├ 
Re: aktualne alternativy
pozortucnak 17. 11. 2011 10:18
Nový
│
└ 
Re: aktualne alternativy
xxxxmarek 17. 11. 2011 16:44
Nový
│
 
├ 
Re: aktualne alternativy
Čelo 18. 11. 2011 17:40
Nový
│
 
├ 
Re: aktualne alternativy
srigi . 18. 11. 2011 18:25
Nový
│
 
│
└ 
Re: aktualne alternativy
jlx 21. 11. 2011 09:27
Nový
│
 
└ 
Re: aktualne alternativy
Martin Malý 19. 11. 2011 05:07
Nový
│
 
 
├ 
Re: aktualne alternativy
Franta 19. 11. 2011 17:12
Nový
│
 
 
└ 
Re: aktualne alternativy
xxxxmarek 21. 11. 2011 11:32
Nový
└ 
Re: aktualne alternativy
Radek 22. 11. 2011 07:21
Nový
 
└ 
Re: aktualne alternativy
pas 22. 11. 2011 09:15
Nový
 
 
└ 
Re: aktualne alternativy
jaja 22. 11. 2011 23:47
Nový
konkrétní použití
Pepa 19. 11. 2011 15:09
Nový
HTML5 RIPs the WWW
omg 20. 11. 2011 13:36
Nový
└ 
Re: HTML5 RIPs the WWW
omg 20. 11. 2011 13:39
Nový
Nejde jen o Flex a hry
MeDon 21. 11. 2011 14:34
Nový
├ 
Re: Nejde jen o Flex a hry
pas 21. 11. 2011 14:52
Nový
└ 
Re: Nejde jen o Flex a hry
Franta Kučera 21. 11. 2011 15:42
Nový
 
├ 
Re: Nejde jen o Flex a hry
pas 21. 11. 2011 16:33
Nový
 
└ 
Re: Nejde jen o Flex a hry
pas 21. 11. 2011 16:35
Nový
Svym zpusobem je to skoda
gilhad 11. 12. 2011 22:31
Nový
└ 
Re: Svym zpusobem je to skoda
pas 13. 12. 2011 00:52
Nový
JavaScript nebo ActionScript
Horacio 17. 1. 07:09
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem