Hlavní navigace

JavaScript dokáže emulovat Flash Player

Petr Krčmář 4. 6. 2010

Milovaný i nenáviděný, používaný i zakazovaný, opěvovaný i proklínaný. Takový je Flash Player. Technicky velmi problematický modul do prohlížečů je ale velmi užitečný pro vývojáře složitých webových aplikací. Objevují se řešení problémů s Flashem – emulátory napsané v JavaScriptu. Co vlastně dokáží?

Velcí hráči nechtějí Flash

Flash je tu s námi už mnoho let, je nainstalován na drtivé většině počítačů a obvykle funguje a plní svou funkci velmi dobře. Přesto je to často spíše trpěný kus software, který svým uživatelům přináší nemalé problémy. Pověstný je svou náročností na procesorový čas a také častými pády, se kterými téměř vždy stáhne i samotný prohlížeč. Podle statistiky, kterou před několika lety vydala Mozilla, může právě Flash za většinu pádů prohlížeče Firefox.

V poslední době se navíc k odporu proti Flashi postavili i velcí hráči v čele s firmou Apple. Ta ve svých populárních zařízeních iPhone a iPad odmítá Flash implementovat nebo jeho instalaci povolit. Přestože se Adobe snaží dostat Flash i na mobilní zařízení, Apple stále odmítá a poukazuje na přílišnou náročnost takového řešení, která se na mobilních přístrojích podepíše především na výdrži. Problém s výkonem naznačují i první testy mobilního Flashe. Uživatelé ale hlásí, že například na Nokii N900 s procesorem na 600 MHz se chová Flash velmi dobře.

Dalším velkým odpůrcem Flashe, alespoň pro přehrávání webového videa, je firma Google. Ta nedávno otevřela video formát VP8 a na YouTube už začal převádět videa do nového formátu. Většina prohlížečů už teď tento nový formát podporuje a vy si jej můžete na YouTube vyzkoušet.

Zajímavé je, že firmy Apple společně s Googlem mají dost velkou sílu na to, aby minimálně výrazně rozvířily vodu a způsobily větší webové vlnobití. Google nechce Flash pro přehrávání videa a Apple ho nechce vůbec. Uživatelé ale stále chtějí svůj obsah i na mobilních zařízeních. Cesta ven tedy vede jediným směrem – alternativním řešením. Zatímco Google už to své připravil, hledání toho pro ostatní Flash prvky nás teprve čeká.

Kudy tudy do Bezflashova

Google chce Flash nahradit pomocí nativních funkcí prohlížeče a využívá k tomu tag <video> a také ostatní podobné snahy vedou skrze jádro prohlížeče očištěné od všemožných přídavků. Podle mnohých mají moderní prohlížeče dostatečné schopnosti na to, aby nebyl Flash potřeba.

Flash je nástroj, který pomocí příkazů pro virtuální grafický engine dokáže pracovat s vektorovou grafikou. V tomto směru by tedy mohl být teoreticky nahrazen JavaScriptem a vektorovým formátem SVG. Už delší dobu můžeme díky těmto technologiím hrát na webu třeba šachy nebo hru Wolfenstein. Proč to tedy nezkusit na Flash.

Prvním viditelnějším projektem pokoušejícím se nahradit Flash pomocí JS a SVG je Gordon, jehož autorem je Tobias Schneider. Na domovské stránce projektu si můžete prohlédnout několik jednoduchých demonstračních ukázek. Můžete si je i přímo porovnat s originálními animacemi. Výsledek je překvapivě dobrý a implementace je z hlediska uživatele také velmi prostá:

<head>
    <script type="text/javascript" src="../gordon.js"></script>
  </head>
  <body onload="new Gordon.Movie('blue.swf', {id: 'stage', width: 500, height: 400})">
    <div id="stage"></div>
  </body>

Výsledek funguje ve Firefoxu, Chrome i Safari včetně toho v iPhone. Bohužel zatím umí jen SWF verze 1, i když zvládá některé funkce z verzí vyšších. Aktuální je ovšem verze 10. Zatím je tedy Gordon použitelný jen pro opravdu jednoduché věci, což je patrné i z demonstračních ukázek. Autor ale tvrdí, že pracuje na podpoře SWF 2 a časem se dostane ještě dál. Uvidíme.

Novějším a nadějnějším projektem je Smokescreen. Jeho autorem je společnost RevShock a zatím o něm není příliš mnoho známo. Podle prvních informací se bude jednat o open-source nástroj pro přímou konverzi SWF do JavaScriptu. Opět jsou k dispozici demonstrační ukázky, které ale vypadají velmi slibně. Sada podporovaných prohlížečů je stejná: Firefox, Chrome, Safari a mobilní Safari.

Smokescreen zatím není k dispozici, i když firma tvrdí, že brzy bude. Je primárně určen pro převod flashové reklamy. Ta je samozřejmě tahounem podobných snah, protože zadavatelé reklamy by rádi viděli své vizuálně zajímavé bannery i na stále se šířících iZařízeních.

Je to opravdu Flash v JavaScriptu?

Úspěch takového řešení závisí především na výkonu moderních webových prohlížečů. Přestože se výrobci stále snaží jej vylepšovat a za poslední dva roky došlo k výraznému pokroku, pravděpodobně nikdy nedosáhne javascriptová implementace Flashe nativního výkonu. O porovnání výkonů si můžete přečíst v našem velkém testu osmi prohlížečů.

Anketa

Chtěli byste Flash nahradit JavaScriptem?

Podobné projekty tak zřejmě přinesou dva významné nové prvky: jednak se samozřejmě objeví nová, barevnější a veselejší reklama na mobilních zařízeních, ale vývojáři také budou moci pro tvorbu webů použít moderní nástroje určené pro přípravu flashových animací. Ty z hlediska práce s grafikou dosáhly vysoké kvality a v budoucnu bude zřejmě možné je využít pro přípravu líbivé a pokročilé grafiky bez nutnosti instalovat do klientských prohlížečů podpůrné moduly. Kdy se asi objeví rozšíření pro blokování reklamy v nových formátech?

Našli jste v článku chybu?

4. 6. 2010 7:42

stilett (neregistrovaný)

Upřímně řečeno, mně se líbí víc současná situace, kdy je Flash zvláštní plugin – jde ho tak jednoduše blokovat.

4. 6. 2010 11:56

annatar (neregistrovaný)

Trochu me mrzi, ze se tu porad pise, jak moc velke zlo flash je, ale z pohledu animatora/grafika tu proste nic lepsiho neni. Prostredi pro flash nenavidim, ale nakonec se v nem doberu vysledku, da se v tom jednoduse skriptovat pokud chcete a pokud ne, tak se s action scriptem nemusite setkat vubec. To jak pak behaji treba komplexni flashove stranky uz je vec jina, ale flash funguje a pokud se umi dobre pouzit, tak je porad idealni nastroj pro nektere druhy interaktivni grafiky na web (ale i jind…

DigiZone.cz: ČRo rozšiřuje DAB do Berouna

ČRo rozšiřuje DAB do Berouna

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Podnikatel.cz: Prodává přes internet. Kdy platí zdravotko?

Prodává přes internet. Kdy platí zdravotko?

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

DigiZone.cz: ČRa DVB-T2 ověřeno: Hisense a Sencor

ČRa DVB-T2 ověřeno: Hisense a Sencor

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život