Přejít k navigační liště

Zdroják » Různé » „Flash je mrtev, HTML5 není připravené, co teď?“

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

Články Různé

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ý.

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ší.

Komentáře

Subscribe
Upozornit na
guest
68 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
lol

a kto potrebuje flash?

pas

Zvláštní otázka.

V kontextu aktuálního redefinování té technologie může znít odpověď třeba: Potřebují ho vývojáři, kteří se specializují na hry nebo aplikace s vyšší mírou multimediálního obsahu a chtějí minimalizovat náklady na vývoj při souběžném cílení na více platforem (iOS, Android, Blackberry, Samsung Smart TV, v blízké budoucnosti mobilní Windows…).

A Kdo ho (už) nepotřebuje: webdesigneři.

Bambus

Skvěle řečeno :o)

rt

no nevim zda lze produkty psane ve flashi nazyvat hrami …

pas

Nerozumím… Jak byste to nazval? Lidi to hrajou, vydělává to víc než AAA tituly… tak jak to nazvat?

pas

Díky za článek – už na mě šla depka, jak jsou jiné odborné servery neskutečně povrchní, když jsem četl komentáře k téhle věci.

Jen bych chtěl autora v něčem poopravit. Adobe určitě nechce pod značku „Flash“ zahrnout i nástroje pro tvorbu HTML5. To by bylo pro vývojáře dost matoucí. Různé nové nástroje pro HTML jako Adobe Edge nebo Adobe Muse se sice inspirují těmi z rodiny Flash nástrojů, ale samy do této rodiny nepatří. A bohužel mají k praktické použitelnosti ještě daleko.

Je tam sice určitý přesah – např. nová verze Flash Pro editoru bude umět exportovat movie clipy jako sprite-sheety pro využití i v javascriptových animačních frameworcích (včetně příslušných metadat), ale to nic moc neznamená a takové přesahy tam byly vždy (export do videa, apod.).

Abych to shrnul, v Adobe se rozhodli pro jasné oddělení webařiny od vývoje klasických aplikací. Pro to první bude HTML5 a zcela nová rodina nástrojů. Pro to druhé bude Flash – po přechodnou dobu na desktopech ještě formou pluginu do browserů, ale jinak se Adobe jednoznačně přihlásilo k dlouhodobé vizi plugin-free browserů.

OBr

V Adobe to ale těžce nezvládli marketingově. I vy, coby vývojář, potřebujete plánovat do budoucna a pokud v průběhu několika měsíců Adobe publikuje pro laickou veřejnost několik protichůdných prohlášení, není to dobré ani pro vývojáře.
Flex teď půjde pod Apache, tak snad se ledy pohnou..
ovšem to, co řadu vývojářů zajímá mnohem více, je podpora Adobe vůči flashplayeru/AIRu , pokud kvůli nerentabilitě odstřihli mobilní flashplayer, kde je jistota, že to samé neudělají zítra s desktopovým FP(určitě ho to čeká taky) a pozítří s AIRem? Je jasné, že to v horizontu 1-2let tak horké nebude, protože AIR potřebují i pro své HTML5 exporty, aby je šlo distribuovat jako instalované aplikace, až tyhle horké dny přejdou,zase se vrátíme v „klidu“ do práce…

Petr

Microsoft to úplně stejně podělal se Silverlightem. Taky už nechápu, co tam ti manažeři dělají.

pas

Kde je jistota? Jistota není nikdy žádná. Firmy jako Google nebo MS startují a zabíjí své produkty ještě s větší frekvencí. Pořád se musíme přizpůsobovat. Flash bude nadále jen jedním z možných vývojářských nástrojů pro aplikace. Bát se, že skončí, je stejné jako bát se, že se přestanou vyrábět náhradní díly do mého oblíbeného soustruhu. Tak holt přesednu na jiný. Všechno, co v IT děláme, stejně určuje pár velkých firem, byť si někteří myslí, že nad tím vyzrají, když se zaměří na tzv. svobodné technologie.

OBr

..souhlasím, i když trochu té jistoty, alespoň krátkodobé, bych rád měl(hlavně kvůli zákazníkům). Byť sám vím, jak to „pravděpodobně“ bude s dalším vývojem, tak to, co se teď podařilo, znejisťuje především zákazníky.
A musím přiznat, že vývoj a „cool“ efekt, kterým se Adobe prezentuje, mě poslední rok trochu ukolébalo abych místo toho uvažoval v širších souvislostech.

pas

Jinak souhlasím, že marketingově to byl průser. Mohli vydat zprávu nadepsanou „Posilujeme Flash platformu na mobilních zařízeních“, přičemž sdělení by zůstalo stejné.

Patrik Martinko

1000x chvalim … asi najlepsi clanok aky som za posledne mesiace cital … taktiez suhlasim s tym, ze vyhlasenie adobe nebolo velmi rozumne, pretoze „obycajni ludia“ ktori nepoznaju hlbsie tuto problematiku budu poznat len titulok, ze „flash zrejme konci“ … co je trosku skoda

Niektorym ludom by som to dal ako povinne citanie ;)

Dlho som neboj na zdrojaku, ale asi tu budem chodit uz castejsie :)

bhawk

Naozaj skvely clanok, a povinne by si ho mali precitat vsetci tzv. doomsayeri. :-) Inak, tiez ma Adobe tymto vyrokom zaskocilo, ale nejako som sa o to nezaujimal. Az tu, hlavne titulkou clanku som sa donutil precitat detaily. Vdaka.

Jano

Spravu ktoru vydalo Adobe a to co ludia s toho pochopili su dve rozne veci. Vacsina to chape ako vitazstvo HTML a upadok Flashu. Utvrdzuje ma to len v tom, ze ludia si proste praju zanik Flashu. Je to skor nalada trhu je prejst od Flashu na HTML. Adobe by pravdepodobne muselo prist s niecim novym co by zmenilo tieto nalady. Myslim, ze Adobe s tym uz bojuje dlho.

martin

to docela zamrzi, udelat horkou novinku a pri spusteni zjistit, ze jedete na mrtvem koni :)
pritom totez mohli klidne mit v html

http://duri.myopenid.com/

Ono to bolo každému jasné, už keď vývoj IB vo Flashi ohlásili.

Borek Bernard

Jako že mohli mít totéž v HTML už teď, ve stejném čase, za stejné peníze a pro stejný podíl uživatelů jako v případě použití Flashe?

Petr Staníček

… dík, Martine.

mixal11

Konecne clanok, ktory nevizdvihuje HTML5 do neba ale ukazuje, ze v HTML (zvlast 5), vladne chaos a nejednotnost, ktora tu este dlhy cas bude.

pf

Férovej článek (co mi přidal i trochu naděje, že to co mám napsáno ve Flexu nebudu muset v blízkém horizontu předělávat do něčeho… co ještě vlastně ani neexistuje). Děkuji.

haxe

mimo jiné se hodí zmínit jazyk haxe, dart (stačí jenom dodat nejaké gui třeba z google closures), gwt a krom toho všeho se dá i na internetu najít kompilátor action-scriptu do javascriptu…

pf

„stačí jenom dodat nejaké gui“ – to mě poměrně pobavilo toto, expresivní, jednoduchý a mocný základní jazyk je důležitý prvek skládačky, ale „nějaké gui“ tedy rozhodně nestačí… GUI už se vyvíjí desítky let a podívejte se kolikrát museli jednotlivé party postupně skoro všechno zahodit a začít znova (stačí se podívat na GNOME a KDE na desktopu)… a od webu se přeci safra neustále očekává, že nabídne kvalitu, kterou lze dosáhnout pomocí GUI na desktopu…

Franta

Ona se ta bitva „Flash vs. HTML5“ nemusela vůbec konat, kdyby byl Flash Player šířen pod nějakou svobodnou licencí…

pas

To si vůbec nemyslím. Apple by zakázal Flash Player, ať by byl pod jakoukoliv licencí. Stejně tak Microsoft. Tyhle firmy se shodly na vizi plugin-free browseru a je úplně jedno, jestli je to z bohulibých důvodů (příjemnější řešení pro uživatele) nebo z toho důvodu, že chtějí uživatele naučit prémiový obsah a aplikace hledat spíše v app marketech než v browseru.

Franta

V principu je jedno, jestli je nějaká funkčnost realizovaná pomocí pluginu nebo přímo prohlížečem. Jde o tu otevřenost a standardizovanost – kdyby takový Flash byl, má výrobce prohlížeče na výběr – může ho implementovat podle standardu sám (bez pluginu) nebo použít hotovou implementaci od někoho jiného (s pluginem – případně tu implementaci použít jako knihovnu a začlenit do svého prohlížeče, takže to bude opět bez pluginu, ale ušetří si práci s vlastní implementací standardu).

pas

Flash Player od Adobe sice není open source, ale formát SWF (a všechny související) jsou otevřené formáty a výrobcům browserů nic nebrání je naimplementovat po svém. I Apple to klidně mohl udělat v Safari pro iOS. Ale neudělal to, protože je to moc práce a jeho vize je jiná – náročnější obsah a aplikace směřovat do kontrolovaného app storu.

Pavel Šimerda

To mi zní jako hezká pohádka.

Borek Bernard

Po víkendu by se článek mohl jmenovat „Flex je mrtev, HTML5 není připravené, co teď?“, protože kromě mobilního Flash Playeru se z Adobe poroučí i Flex (přejde pod zatím v detailech neznámý model OSS vývoje pod Apache Foundation). A právě zavržení Flexu je z mého pohledu ta nejzávažnější věc.

Jak je v článku správně napsáno, budoucnost možná není ve Flash Playeru, ale to nevadí, Flash Platform je dnes daleko širší pojem a svým způsobem je správné, že se Adobe začíná soustředit na HTML5 – firmy jako Apple a Microsoft ukazují, že skutečně jen HTML5 bude v budoucnu dostupné univerzálně. Flex však mohl mít i bez Flash Playeru svou budoucnost – je to vysokoúrovňová vývojářská technologie a kompilace je jen „implementační detail“. Pravda, zkompilovat dnes něco do HTML/JS a docílit u uživatele stejné konzistence jako v případě Flash Playeru je obtížné až nemožné, ale situace se bude zlepšovat a dlouhodobě by to nemusel být nepřekonatelný problém. A ve Flexu / ActionScriptu má Adobe obrovskou komunitu vývojářů.

Adobe se ale Flexu zbavilo. Do jiných divizí přesunulo vývojáře a manažery jak z Flex týmu, tak z týmu pracující na doprovodné backendové technologii (ADEP, dříve LiveCycle), stejný osud potkal i AIR tým apod. Zkrátka to skutečně vypadá, že Flash Platform přestalo být pro Adobe prioritou a chce do ní přestat investovat teď hned, ještě než se objeví reálná alternativa. Absolutně tomu nerozumím.

Všichni asi chceme vidět, jak se věci v příštích měsících vyvinou, ale závažnost situace potvrzuje fakt, že většina kolegů Flex vývojářů aktivně zkoumá alternativy. Pokud Flex umře, bude pro celou oblast vývoje RIA aplikací hodně velká škoda.

David Grudl

Tento komentář ovšem obrací celou situaci úplně naruby a článek se tak stává jen dalším mylným výkladem situace kolem Flashe…

Borek Bernard

V Adobe vědí, jak člověku zkazit víkend :)

pas

Doporučuju přímo zdroj – http://blogs.adobe.com/flex/2011/11/your-questions-about-flex.html – včera tam navíc přibyl update. V něm je zajímavá třeba zmínka o „Falcon JS cross-compiler“.

DT

Že Flex SDK přechází na otevřený commitment, bych nepovažoval za takovou katastrofu. Spousta jazyků a frameworků takto funguje odjakživa, takže co.
Opratě přece stejně pořád drží Adobe funkčním vývojem FP/AIR. A vzhledem k tomu, že Flash Builder je primární nástroj pro tvorbu AIR aplikací (které zůstávají prioritou Adobe), nemyslím si, že by jeho engine Adobe nechalo jen tak bez dozoru vykrvácet.

Borek Bernard

To s tím držením opratí nad vývojem FP / AIRu je velmi dobrá poznámka, jen není jasné, jestli to je pod novým modelem plus nebo mínus. RIA aplikace totiž pod FP nejsou pro Adobe prioritou a nové vlastnosti tak můžou znamenat „jen“ vylepšování 3D enginu, videa a podobně. Taky je otázka, proč by se pod ASF do vývoje Flexu měla zapojit nějaká jiná velká firma, např. IBM, když běhové prostředí stále plně kontroluje Adobe a kdykoliv může přijít zvrat jako tento víkend (a on dříve nebo později přijde).

Všechny nedávné události jsou především krizí důvěry. Nikdo celkem nezpochybňuje, že FP i Flex tady ještě nějaký čas budou a stále se bude jednat o kvalitní technologie, ale postavit na nich nějakou aplikaci, do které chci nainvestovat několik člověkoroků práce (běžný případ RIA projektů)? To si hodně firem rozmyslí.

OBr

..přesně tak, „velkoryse“ se zbavíme Flex SDK pod rouškou populárního open source (což by snad i mohlo celé věci trochu pomoci s ohledem na dosavadní „pružnost“ Adobe).. ale běhové prostředí budeme stále ovládat my, budeme na něm i dále pracovat a zlepšovat, věřte nám, myslíme to upřímě…

Jediné slovo, které bude po těchto dnech s Adobe velmi často omíláno je „DŮVĚRA“

pas

Flex, tzn. jeho architektura, jazyk MXML, komponenty, skinování – to všechno má velkou hodnotu samo o sobě, bez ohledu na cílové prostředí. Noví „majitelé“ Flexu by se měli soustředit na to, jak se zbavit závislosti na jednom konkrétním runtimu. A snad to udělají, viz Falcon JS cross-compiler… A i samotná závislost na FP/AIR není už žádný velký problém, protože z FP/AIR se za poslední roky stal natolik low-level runtime, že těžko si představit, co dalšího by tam flexaři pro svoje potřeby chtěli přidat (můžou třeba zkusit renderování přes Stage3D místo display listu ;-)).

Franta

Ad „A snad to udělají, viz Falcon JS cross-compiler…“

Snad ano, pak to bude konečně zajímavá platforma. Ale kdyby byl Flash Player otevřený, tak by to bylo zajímavé a perspektivní už teď.

pas

Jak už jsem psal na jiném místě – formáty Flash platformy otevřené jsou. Tvrdit, že kvůli uzavřenosti Flash Playeru není platforma zajímavá, je stejné jako tvrdit, že HTML není zajímavé kvůli tomu, že MSIE je uzavřený software.

Ale především to je akademická debata, která lidi z praxe moc nezajímá.

Borek Bernard

Posledních pár minor verzí vyvíjeli uzavřeně s odůvodněním, že nové vlastnosti SDK jsou vázány na nové vlastnosti runtimu, takže podle stejné logiky teď hodlají přestat vyvíjet runtime (pro RIA), nebo minimálně bude mít SDK za runtimem zpoždění. Takže update ActionScriptu, zpracovávání metadat, AOP a další důležité věci pro enterprise vývoj jsou hodně s otazníkem.

Falcon-JS je velká naděje, ale poprvé se zmínka o něm objevila až v tom nejposlednějším „krizovém“ blog postu, aby trochu uklidnili komunitu, nikdy předtím veřejně o cross-kompilaci do HTML5 nemluvili (a to jsem v interním listu, kde víme novinky jednu až dvě verze dopředu). Osobně vážně doufám, že se to nějak časem podaří naprogramovat, ale moc nechápu, proč zodpovědnost za tuto klíčovou práci dali mimo firmu. Asi pro ně Flex vážně přestal být důležitý.

pas

Aha, tak to jsem nevěděl … update ActionScriptu bychom uvítali i my, co máme Flash „na hraní“ :). Tak snad to nějak dopadne…

OBr

..nejhorší na tom je, že rozumná alternativa neexistuje.
Momentálně mi to připomíná situaci, kdy v dobře rozjetém závodě, po několika úspěšně projetých kolech úmyslně vyřazujeme rychlost, aby nás dojel synek bohatého sponzora,který sice neumí jezdit, má vysokou spotřebu, občas to auto rozfláká, koukat se na něj nedá.. ale co, třeba z něj něco vyroste, tak mu budeme držet palce, protože nám ta rychlost pomalu a jistě časem dojde, takže budeme muset přesednout, pokud chceme být v čele závodu :)

pozortucnak

A co jazyk fantom ? Součástí tohoto jazyka je i fwt – Fantom Widget Toolkit
http://fantom.org/doc/fwt/index.html

Portability
Write code portable to the Java VM, .NET CLR, and JavaScript in the browser.

xxxxmarek

otazka je ake su alternativy pre vyvoj RIA. Napadaju ma 2:

1. Javascript MVC frameworky ako napr. backbone.js, sproutcore,extjs … btw ma niekto skusenosti s vyvojom v tychto fw, a co si onich myslite ?

2. GWT, respektive jeho nastupca Dart(respektive fw postaveny na darte), nakolko vyvoj gwt zanika a vyvoj sa smeruje na dart. Dart z roznych dovodov podla mna hlavne licencnych(ne­zavyslost googlu na jave)…
-tato 2. alternativa nieje velmi aktualne prednesok kedze este niejaku dobu potrva kym sa dart dostane do pouzitelnej podoby.

-btw tiez nechapem preco nespravia funkcny compilator do (javascriptu/html5) ked to dokazali s GWT. A navyse action script by malo byt omnoho jednoduchsie prelozit do javascriptu ako javu(kedze AS vychadza z ecma scriptu).

pas

Kompilovat AS3 do JS by na tom celém byl ten nejjednodušší úkol. Ostatně AS2 (který byl o krůček jednodušší než AS3) fungoval tak, že se překládal do AS1 a AS1 je už přímo shodný s JavaScriptem.

Problém není v jazyce, ale v tom dalším – jak renderovat grafický výstup. Když se řekne Flex, tak si sice každý představí data gridy a buttony a scrollbary, takže to zdánlivě vypadá jednoduše. Ale vývojář kdykoliv může použít i low-level API Flash Playeru, může používat 3D, různé bitmapové efekty, práci s kamerou, peer-to-peer komunikaci přes UDP, generování zvuku… tyhle věci by bylo těžké nebo nemožné namapovat na API JavaScriptu.

Musel by se vyčlenit nějaký „Flex Lite“, který překládat půjde. Což by stejně za pokus stálo. Ideální by bylo (bývalo), kdyby spojili síly právě s Googlem – ten by převzal ActionScript, který má velkou vývojářskou základnu, radši než vymýšlet nový jazyk Dart, který je principiálně shodný (prostě „dospělý Javascript“). Jako bonus by od Adobe dostali vyzrálý komponentový framework, který teď stejně dostává zadarmo komunita.

Borek Bernard

Výborný komentář.

pozortucnak

Ja problém javascriptu vidím v tom že chybí/nelze udelat poradne ide…
Ono řeči typu js je převlečený lisp nejsou daleko od pravdy… ukazte mi ide
ktere dokáže doplňovat metody pro frameworky typu dojo, mootools…
IDE které chápe to že v dojo načítám jiné třídy pomocí dojo balíčkového systému, IDE kté rozumí všemu z http://zdrojak.root.cz/clanky/zakladni-vzory-pro-vytvareni-jmennych-prostoru-v-javascriptu/ a je schopno podle toho správné doplňovat kód…

jinak https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS

je tam zmíněný i jangaroo – AS3 (ActionScript) to JavaScript compiler

xxxxmarek

tak je tu este coffescript, podla mna by mohla byt buducnost RIA v pisani app coffescripte s frameworkami ako backbone.. . Zatial vsak nikoho nepoznam kto v tom nieco produkcne napisal.

Čelo

37signals si vytvořili vlastní mobilní verzi basecampu pomocí coffeescriptu a vlastního Cinco mobile frameworku (které tvoří propojené Backbone.js + Zepto + Eco + Stitch).

Srigi

Cely Grooveshark je napisany v CfS a Backbone. Sami si sa to pozrite, lezie z toho 1M javascriptu. Na Githube su potom tony projektov v CfS, napr. hubot od samotneho Github.

jlx

Mala poznamka:
Pokud vim, tak Grooveshark neni napsany v Backbone.js, ale v JavascriptMVC (coz je muj oblibeny framework, samozrejme ;)

Co se tyce pouziti CoffeeScriptu to nevim (ze zdrojaku to nevyctu), ale spis pochybuju – kod nevypada, ze by byl vygenerovany. Navic ve spojeni s JMVC se CoffeeScript moc nepouziva..

Franta

A jak to vidíš do budoucna – budou časem slušná IDE, nebo je to u těchto jazyků více méně trvalý problém?

xxxxmarek

a je niejake pouzitelne IDE pre coffeescript. existuje plugin do netbeansov,neviem vsak nakolko je to pouzitelne https://github.com/dstepanov/coffeescript-netbeans

Radek

Silverlight umí vše co Flash, v daleko propracovanějším jazyku C# + XAML, je úzce propojen s celým .NETem, má výborné vývojové prostředí (oficiální dokonce hned 2: Visual Studio a Expression Blend), komponent pro něj existuje nespočet atd. Pro vývoj RIA prostě nejlepší volba…

pas

C# není „daleko propracovanější“ než ActionScript 3.
XAML rozhodně není propracovanější než MXML.
Visual Studio není o třídu lepší než Flash Builder, možná o kousek.
Expression Blend rozhodně není lepší než Flash Proffesional.
Komponent není víc pro Silverlight než pro Flex.
Propojenost s .NETem zajímá jen někoho (připomíná to argumenty Radka Hulána ohledně nepropojenosti služeb Googlu s produkty Microsoftu :)).
Tak prosím dosti pohádek, ano? :)

jaja

C# je rozhodně a s předstihem nejpropracovanější programovací jazyk ze všech v současnosti existujících, ač ne každý patlal jej dokáže docenit.

Pepa

Všechny články html5 vs. flash mluví o jakýchsi RIA jako o jednom homogenním balíku.

Ale když si to trochu rozsekáme – na hry, multimediální prezentace a vůbec věci „kde se hýbe spousta věcí a hraje do toho muzika“ je určitě flash lepší řešení, i když pouze pro desktopy.

Na „pracovní“ aplikace jako Gmail, Google Docs, Basecamp, iCloud, apod. je zase asi lepší html5, za asistence nějakých frameworků typu sproutcore, batman, backbone,…

P.S. „bezešvá spolupráce“ – to je pěkná prasárna…

omg

cely se to melo jmenovat: Jak HTML5 zabije Web: nepujde blokovat flashove reklamy, protoze zadne nebudou.

omg

vysvetleni k „zabije“: vykon vykon vykon a jeste jednou rozdilny vykon jednotlivych zarizeni. doted byl web pouzitelny zabokovanim flashe skoro vsude a povolenim jen vybranych elementu v dobe, kdy je clovek chtel pouzivat a byl ochoten jim obetovat vypocetni vykon poddimenzovaneho kusu HW. dokud tohle selektivni spousteni nebude v HTML5 prohlizecich, tak je budoucnost WWW tak jak jej zname zhruba 2 metry pod zemi nebo v peci v krematoriu.

MeDon

Ono nejde jen o Flex a hry. Např. některé firmy používají SWF a Flash Player pro svoje interní tutoriály, prezentace (Adobe Captivate, Adobe Presenter). Zatím se ve firmách používají převážen PC, ale za pár let současný boom iPad, iPhonů dorazí i do této sféry. Co pak s takovou SWF dokumentací? Spoléhat na nějaké OSS přehrávače třetích stran? Nebo možná nejlépe se začít Flashe zbavovat už teď.

pas

Vždyť na iOS Flash funguje, jen ne formou pluginu v browseru, ale jako samostané aplikace. Samozřejmě, že tam nepřehrajete hotové historické SWF, ale s minimem úsilí ho můžete přeexportovat do podoby normální iOS aplikace, a samozřejmě veškeré znalosti flashařů budou normálně použitelné dál.

František Kučera

Spoléhat se na nějaký proprietární formát a libovůli jeho autora a jedinou implementaci se nevyplácí, já to říkám pořád :-) Chyba se prostě stala už v minulosti, kdy si zvolili Flash, teď už se s tím nedá moc dělat a existují více či méně špatná řešení.

Stávající dokumentaci bych nechal dožít (on ten Flash taky neumře ze dne na den) a pro tu novou se poohlédnout po něčem jiném…

pas

Aha, takže chybu udělal kdokoliv, kdo kdy v minulosti použil Flash. Nevadí, že to dobře posloužilo ke svému účelu. Nevadí, že kdekdo díky Flashi dokonce hezky zbohatnul. Ale je to proprietární formát, takže kdo ho použil, udělal prostě chybu. Tyhle názory vždycky dokážou vykouzlit úsměv. :)

pas

A ještě k té „libovůli jeho autora“ – není to na iOS spíše tak, že tam šlo o libovůli jednoho pána, který rozhodně autorem Flashe nebyl? Takový pán může udělat čáru přes rozpočet jakékoliv technologii, ať je otevřená nebo uzavřená, dobrá nebo špatná.

gilhad

… zatim se spousta problemu jednoduse odstranila tim, ze se NEnainstaloval kodek pro Flash. Ted bude potreba najit jiny ucinny zpusob blokovani nezadouciho obsahu :(

pas

Doporučuju vyhodit počítač do popelnice a nepořizovat nový.

Horacio

Dobrý den chtel bych se zeptat v jakem jazyce by bylo nejlepši udelat tento program JavaScript, ActionScript ?

Podmínkou je aby jel na webu.

http://www.circuit-diagram.org/downloads

Tomáš

Dobrý den, je to pěkný článek, mnohé mi osvětlil, ale na druhou stranu, čistě z mého uživatelského pohledu mě celkem nezajímá, jak si to vývojáři a programátoři vyřeší a v čem budou programovat a jak, ale zajímá mě, kdy mi konečně na mobilních zařízeních začnou fungovat věci, které mi díky této změně nefungují.
Ať vlezu na jakoukoliv stránku, všude na mě civí rámečky s chybějícím modulem a to je dost nepříjemné. Má to tedy jednu výhodu – nevidím otravnou reklamu ;-)

Částečně jsem problém vyřešil instalací starší verze Flash Playeru do orig. prohlížeče, ale do chromu to např. dostat nelze. A i tak, některé věci už vyžadují novější verze FlashPlayeru a tam prostě máme všichni smůlu.

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.

Pocta C64

Za prvopočátek své programátorské kariéry vděčím počítači Commodore 64. Tehdy jsem genialitu návrhu nemohl docenit. Dnes dokážu lehce nahlédnout pod pokličku. Chtěl bych se o to s vámi podělit a vzdát mu hold.