O víkendu jsem dal dohromady malý projekt: ateska.github.io/warlords, jako součást mého retro-gaming / preservation úsilí. A zároveň jako příležitost, jak si (znovu po čase) osahat WebAssembly a jeho propojení s Go.
Musím říct, že jsem byl příjemně překvapen — jak rychlostí vývoje, tak i výkonem běžící aplikace. Go se do WebAssembly překládá přímočaře, a práce s HTML5 Canvasem přes JS bindings je svižná a dobře použitelná.
WebAssembly na mě působí jako velmi schopná technologie s obrovským potenciálem. Jen mě mrzí, že se zatím nestala mainstreamem — škoda, mohla by být základem pro moderní webové aplikace s nativním výkonem.
Souhlasím s tím, co zaznělo na zmíněném workshopu: WebAssembly má své výzvy, ale já osobně zůstávám optimistou.
To neznas? To je stranka na ktery se ti bez sciptovani nezobrazi ani hlaska ze si mas povolit sciptovani. Vsechno se animuje, vysouva, zasouva, a na monitoru to vypada tak, ze z tech 1920px se pouziva tech 600(a to mas kliku) nekde uprostred, pismena maji vejsku nejmin 10em, a mezery mezi nejmin 20. Takze se ti na obrazovku vejde tak 5 radku textu.
Nativni vykon je pak to, ze kdyz nemas aspon 100+Mbit konektivity, nacita se to 5 minut, sezere ti to klidne 30+jader CPU na 100% a kdyz se podivas na obsazenou ramku, tak te trefi, protoze tomu ani 10GB nestaci.
A typicka ukazka je treba youtube. K popukani je pak to, ze to nefunguje ani v jejich vlastnim browseru. O to vic, ze kdyz to bylo ve flashi, tak tomu stacil o 3 rady pomalejsi HW a fungovalo to uplne vpohode.
Moderní webová aplikace je dle mého názoru taková, ve které nemusím používat Javascript ale nějaký novější programovací jazyk. V Javascriptu píšu hodně a mam ho v podstatě rád, ale to stáří a technologický dluh z něho trčí už docela dost. V moderním vývoji bych čekal možnost volby jaký jazyk zvolit - tak, jak to je např. na desktopových operačních systémech.
Nativní výkon je takový výkon aplikace, který poskytuje přímo hardware, bez interpretu nebo VM atd. - případně něco tomu hodně blízké.
Ono je celkem zřejmě, že dříve či později něco takového vznikne - viz. obsah té přednášky. U Webassembly mě přijde, že to je uchopené ze správné strany ... a nepřál bych si, aby opět vznikly technologie uzavřené, typu Active-X nebo Flash.
Preboha preco ? Moderny jazyk kde, backend alebo frontend ? Asi je mysleny frontend ale preco sa vobec snazime vsetko tlacit do frontendu ? K comu je dobre z browseru robit druhy "desktop" ? Ja tomuto "modernemu" progressu nerozumiem. Znasilnovanie browseru na desktop pouzitie kde na konci je to po vsetkych strankach horsie ako klasicka nativna aplikacia, jedine ze je to distribuovane cez web. Nativny vykon nikdy nebude kedze web apka bude vzdy bezat v sandboxe browseru a ten bude z roznych bezpecnostnych dovodov do toho kecat. Skor by ma zaujimalo porovnanie ci je az tak produktivnejsi vyvoj napriklad React aplikacie oproti klasickemu desktopu (povedzme .net). Ked musim riesit npm a zavyslosti tak si zacinam s laskou spominat na javu a maven.