Hlavní navigace

Názor ke zprávičce Firefox zvažuje převzetí Flashe a čtečky PDF z Chromu od Filip Jirsák - „Opravdovým JavaScriptem“ jsem myslel to, že to bude...

  • 2. 10. 2016 9:16

    Filip Jirsák

    „Opravdovým JavaScriptem“ jsem myslel to, že to bude skriptovací jazyk podobný Javě. JavaScript má OOP od začátku, akorát že používá prototypovou dědičnost, které programátoři zvyklí na třídní dědičnost z Javy, C++, Cx, Pythonu nebo PHP nerozumí. Takže se přidá třídní dědičnost. Přidá se řízení přístupu (moduly a privátní přístup), pro lambda výrazy (které má JavaScript opět od začátku) se přidal stejný syntaktický cukr, jako přidala Java. TypeScript přidává typový systém. Ale nic moc z vyšších úrovní, možná tak generátory. Porád to zůstává takovým „objektovým assemblerem“, jako je Java.

    Prohlížeč na Javě žádnou závislost nemá. Java WebStart funguje už mnoho let, a pokud máte nainstalovanou Javu, funguje vám to. Je to standardní způsob, jakým prohlížeč spouští programy pro obsah, který neumí sám zpracovat – před nástupem vestavěných pluginů pro PDF se takhle třeba zobrazovalo PDF v externím prohlížeči. A ne bylo to samozřejmě myšlené pro weby, ale pro aplikace, o kterých je řeč. Vykreslovat poštovního klienta, textový editor, tabulkový kalkulátor nebo účetní systém pomocí HTML a JavaScriptu je šílenost, napsat něco takového v Javě, C# nebo C++ a Qt by bylo mnohem přirozenější. A Java právě měla a má technologii WebStart, což je způsob, jak ty aplikace snadno a bezpečně (WebStart běží v sandboxu podobně jako prohlížeč, třeba pro zápis do souborového systému musí uživatel aplikaci explicitně udělit oprávnění) distribuovat na koncové počítače. Jenže Sun se na klientskou Javu vykašlal a s ní i na WebStart. Když se probudili a vytvořili JavaFX a začali opravovat WebStart, bylo už dost pozdě – navíc dali JavaFX do placu, nijak to nepodpořili a čekali, jestli se neprosadí sám. Což se samozřejmě nestalo, takže to (v tu chvíli už Oracle) zase zabalil, nechává JavaFX přežívat, ale nejeví žádnou snahu ho nějak rozvíjet nebo podporovat.

    A vedle toho zatím ve světě webu vzniká Web Assembly, což je právě programovací jazyk pro VM běžící v prohlížeči, tedy přesně to, co má Sun/Oracle už spoustu let hotové, slušně vyladěné a existuje pro to obrovský ekosystém. Oracle má zřejmě pocit, že má Javu na serverech jistou, a vůbec nebere vážně varování v podobě Node.js, které velice slušně dostalo JavaScript i na servery – což se zdálo být nesmyslné vzhledem k povaze JavaScripu. Jenže psát klienta i server v jednom jazyce je velmi lákavé, a když je na straně klienta jediná možnost, musí se přizpůsobit server.