WebAssembly a evoluce vývoje webového frontendu

Javascript hrál v průběhu let velmi důležitou roli při formování vývoje webu. Vyvinul se natolik, že se nyní používá k psaní jiných softwarových řešení, než jsou aplikace prohlížeče. Byl také přizpůsoben pro psaní aplikací na straně serveru a strojové učení. V dnešní době se javascript stal velmi populárním a mocným. Jak však javascript dospívá, vývoj webového rozhraní je stále v rané fázi.

Inovační hladovění
Webový prohlížeč existuje asi 30 let. Lepší uživatelská zkušenost s webovými aplikacemi však začala teprve nedávno. Začalo to teprve tehdy, když se objevily chytré telefony a ovládly trh. Najednou bylo představeno HTML5 a Single Page Applications neboli (SPA) dobyly webový prohlížeč. Během této doby také ECMAScript konečně odhalil ES6, který dal implementacím javascriptu moderní funkce. Všude vyrostly JavaScriptové knihovny a frameworky jako ReactJS, Angular, Vue a další. Proč nám ale chvíli trvalo, než jsme tyto inovace provedli? Proč musíme čekat, až chytré telefony a tablety splní tyto potřeby?

Někdo se pokusil o inovace, ale selhal
Inovace, jako je tato, byly provedeny před lety, aby pomohly vývojářům vytvořit moderní a citlivou webovou aplikaci bez javascriptu. Společnost Sun Microsystems vytvořila a navrhla Javu tak, aby spouštěla ​​aplety v prohlížeči s cílem zajistit lepší uživatelskou zkušenost. Kdo by zapomněl na Microsoft Silverlight a Adobe Flash, které byly vytvořeny pro vytváření bohatých internetových aplikací. Ale nakonec je jedna věc s nimi společná, všechny selhaly, protože nejsou přirozeně součástí prohlížeče ve srovnání s javascriptem. Abyste mohli v prohlížeči spouštět tyto typy aplikací, musíte si nainstalovat běhové prostředí. Z nějakého důvodu jej některé prohlížeče přestaly podporovat, zejména na mobilních telefonech.

Proč samotný JavaScript nestačí?
Při práci se strojovým učením, vývojem API a vývojem her si můžete vybrat nástroje a programovací jazyk, které chcete. Ve webovém prohlížeči je však pouze javascript. Javascript je dobrý, ale není nejlepší. Bohužel je to jediné, co máme. Na javascriptu je spousta úskalí a podivností. Dobré a špatné stránky javascriptu jsou široce diskutovány v knize „Javascript the good parts“, kterou napsal Douglas Crockford. I když se ES6 snažil tyto problémy vyřešit, ne všechny prohlížeče to ještě podporovaly. Vývojáři tedy spoléhali na transpilery. Transpilery čtou kódy napsané v ES6 a chrlí javascript, který zaručeně funguje kdekoli, dokonce i na některých starých prohlížečích. Můžete také použít jiné programovací jazyky, které vám pomohou psát lepší kódy, a opět je pomocí transpilerů převést zpět na javascript. Prohlížeč však tyto jazyky nezná, jsou jen fasádou. Zkuste svůj kód odladit z prohlížeče a budete překvapeni. Bylo by skvělé, kdybychom jednoho dne mohli mít svobodu vytvářet aplikace v prohlížečích, kde lze jazyky jako C#, Java, C++ a vaše oblíbené programovací jazyky nativně spouštět a ladit v prohlížeči. Stačí jej zkompilovat do strojového kódu a prohlížeč jej může spustit rychleji bez jakéhokoli běhového prostředí třetích stran. Pro spouštění kódů v prohlížeči nemusíte používat transpilery a další nástroje, jako je webpack, grunt a gulp, což jsou podle mě jen hacky a řešení, aby javascript fungoval. A přesto máte možnost použít javascript. To znamená, že vývoj bude snazší a jednodušší. K vytvoření aplikace můžete použít jeden jazyk. Můžete psát lepší a efektivnější kódy, protože většina funkcí, které javascript postrádá, je již vytvořena v jiných jazycích.


WebAssembly k záchraně
V roce 2015 bylo WebAssembly poprvé oznámeno veřejnosti. Prokázala možnost spuštění aplikace napsané v jiném jazyce než javascript. A ano, všichni byli ohromeni. Je to jako splněný sen. Nepotřebuje běhové prostředí třetí strany. Hra napsaná kompletně na Unity3D byla zkompilována tak, aby cílila na WebAssembly v binárním formátu. Může se spustit v prohlížečích s výkonem blízkým nativnímu kódu. To otevřelo spoustu možností pro vývoj aplikací v prohlížeči. Vývojáři, kteří nemají žádné zkušenosti s vývojem webu, nyní mohou psát aplikace, které běží v prohlížečích. Nemusí být ani odborníkem na CSS, HTML nebo javascript. WebAssembly je velmi slibný a většina prohlížečů ho nyní podporuje. Je to ještě velmi mladé a čeká nás další práce, aby se to zlepšilo. Jedním z největších vzrušení je Blazor WebAssembly. Je to rámec pro vytváření jednostránkových aplikací pomocí C# vytvořený společností Microsoft. Jedná se o open-source framework, kde můžete používat a sestavovat komponenty .Net Core vaší aplikace a spouštět je v prohlížeči. Dříve můžete použít pouze javascript k sestavení tohoto druhu aplikací. Jsem si docela jistý, že s touto inovací vyjde několik dalších technologií a rámců, které používají jiný programovací jazyk. Čeká nás docela vzrušující budoucnost, že?