Tento týden proběhly dvě velké konference společností Microsoft a Adobe, které vždycky sleduju s velkým očekáváním, protože novinky na nich oznámené čas od času vývojářům změní život. Když například Microsoft oznámil Silverlight, znamenalo to vyhlídku, že jednou napsaný kód půjde spustit jak na Windows, tak na Macu, v prohlížeči, na mobilních zařízeních, v televizích apod. Totéž Adobe a jejich Flex / Flash Platform. (Podobně Java, ale v jejím světě se nepohybuju.) Pokud píšete RIA aplikace, tato vize je jedním z nejlepších příslibů, jaké vám technologická firma vůbec může dát.
A pak přišlo Microsoft PDC a oficiální vyjádření, že Silverlight ustupuje z role obecné vývojové technologie a že tu teď bude plnit HTML5 – strategicky je tedy Silverlight de facto mrtvý. Adobe na svém MAXu neukázalo žádné novinky pro aplikační vývojáře na straně Flexu / Flashe, pouze „blbiny“ typu akcelerované 3D apod. (že je ActionScript 3 koncepčně 10 let starý a pro vývoj by se fakt hodila jeho nová generace, o tom ani ň). Opět se ale hodně mluvilo o HTML5.
Vypadá to tedy, že strategickou technologií budoucnosti je HTML5 – u Microsoftu bohužel úplně, u Adobe vývoj Flashe / Flexu pokračuje a znamená to tedy „pouze“ to, že HTML5 požere dost zdrojů už tak poměrně malé vývojářské firmě.
A z představy, že se RIA aplikace budou vyvíjet v HTML5, mi vlasy na hlavě vstávají hrůzou. Seznam důvodů je subjektivní, ale zde máte názor jednoho RIA vývojáře:
- JavaScript jako jazyk je primitivní (málo toho umí), ale současně taky poměrně komplikovaný (X+1 způsobů, jak realizovat OOP, apod.). Souhlasím, že JavaScript je asembler webu, a trpím představou, že bych měl v asembleru programovat. Podívejte se třeba, jak C# 5.0 krásně řeší asynchronní programování, a ve světě AJAXu, kde se toto píše pořád dokola, ticho po pěšině.
- Dejte vědět, až HTML5 jako standard ve své úplnosti bude mít penetraci přes 10%. I když, jako vývojáře mě vlastně zajímá spíš nějakých 80%. Můžeme se vsadit, jestli tou dobou ještě vůbec budu programátor.
- V HTML jsem viděl velmi málo aplikací reálného rozsahu. Mezi pár světlých výjimek patří Gmail, Google Docs, Office Web Apps a pár dalších, což jsou ale téměř vždy aplikace s velkou firmou v pozadí a s enormními investicemi do vývoje. Menší HTML aplikace se moc nevidí – je to jen náhoda?
- HTML má pro vývoj aplikací velmi nízkou sémantiku.
- Nástroje pro AJAXový vývoj jsou relativně primitivní, což je přirozený důsledek několika bodů výše. Situace se postupně zlepšuje, stále bych ale IDE pro AJAX nesrovnával s nejlepšími IDE pro jiné technologie.
Jsem hodně zvědavý, co nás na poli RIA aplikací čeká v příštích pár letech. Můj současný odhad je, že Flex zůstane podobný jako dnes – poměrně velmi dobrá technologie, jen s menším množstvím inovací pro vývojáře, protože na to prostě Adobe nemá lidi. Silverlight je patrně mrtvý, pokud někdo z Microsoftu strategii nezmění, a potenciálně zajímavá by opět mohla být Java, ačkoliv tam je problémů taky dost. Pokud se však naše budoucnost jmenuje HTML5, z mého pohledu se musí stát následující:
- Rozšířenost HTML5 jako celku se musí dostat na rozumná procenta, jinak budu jako vývojář mrhat časem při hledání x-browser bugů (od toho už jsem si vážně odvykl).
- V HTML5 se nesmí programovat přímo, ale pomocí nějakého jazyka vyšší úrovně. Nejvíc by se mi asi líbil Silverlight / XAML + C#, ale přežitelný by byl i Flex, případně Java (tam se o možnosti kompilace do HTML5 už otevřeně mluví)
- Nevěřím, že HTML5 plně nahradí technologie pro vývoj desktopových aplikací (možné to je např. pomocí Adobe AIR), opět tedy vidím nutnost pro nějaký jazyk vyšší úrovně, který by web a desktop zapouzdřil. Opět proč ne XAML nebo něco jako Flex.
- Potřebujeme lepší nástroje. Daleko lepší, než dnes.
Zatímco tedy lidi od webu HTML5 oslavují a jásají, já v něm vidím velké riziko pro vývoj RIA aplikací. Snad bude budoucnost shovívavá.
Neviem prečo máš pocit, že je silverlight mŕtvy? Podľa mňa len MS povedal, že to nebude jeho primárna crossplatform technológia, ale jej vývoj sa určite nezastaví. Čo by určite nebolo logické. Silverlight bude hlavne to čo ty od nej čakáš, teda RIA a game platforma a v budúcnosti možno náhrada desktopu. BTW nejaké flame už máme tu http://www.aspnet.sk/…-101741.aspx