Hlavní navigace

Názor ke zprávičce Firefox zvažuje převzetí Flashe a čtečky PDF z Chromu od Filip Jirsák - Pro příště si odpusťte ty soudy, když o...

  • 2. 10. 2016 21:47

    Filip Jirsák

    Pro příště si odpusťte ty soudy, když o tom nic nevíte. „Ošetřit chybu“ znamená, že se program s tou chybou nějak vyrovná a v rámci možností pokračuje dál. V JScriptu (teď se můžete předvést, že víte o co jde) není povolena nadbytečná čárka za posledním prvkem pole. Když na takový kód Internet Explorer narazí, vypíše do konzole – pokud ji mám zapnutou – chybu syntaxe, a z příslušného skriptu neprovede ani čárku. Tomu já neříkám „ošetřit chybu“. Ano, dnes už JSLint a další existují a dá se tu spustit Gruntem nebo Gulpem nebo něčím jiným. Ovšem kde je ta výhoda oproti Javě? Ten kód se musí při vývoji rozparsovat a zkontrolovat, a pak se to zahodí a pošle se na klienta původní zdroják, aby ho mohl rozparsovat a zkontrolovat znova prohlížeč. Nějak mi uniká výhoda dělat znova něco, co už jednou bylo provedeno.

    Ano, když se bavíme o rychlosti a využití zdrojů, je důležité i to, že příslušná JVM je lépe optimalizovaná a v průměru tedy provádí kód efektivněji. Váš osobní odhad je zcela mimo.

    Když vlezete na web a kliknete na odkaz na soubor PDF, spustí webový prohlížeč a předá mu odkaz na ten PDF soubor (pokud nepoužíváte plugin pro PDF). Když kliknete na odkaz na Wordovský dokument, spustí webový prohlížeč Word a předá mu odkaz na ten soubor. A když kliknete na odkaz na WebStart aplikaci (JNLP soubor), spustí webový prohlížeč zavaděč Java WebStart a předá mu odkaz na ten JNLP soubor. Zavaděč WebStartu soubor stáhne, zjistí, jaká je vyžadovaná verze Javy, pokud není dostupná, vyřeší to s uživatelem, podívá se do cache, zda už aplikaci nemá staženou nebo neexistuje novější verze, stáhne potřebné aktualizace a aplikaci spustí.

    Jak už jsem psal, díky obrovskému přebytku výkonu a úsilí, které se do webových technologií nacpalo, jsou dnes webové aplikace použitelné. Ale je to za cenu, že je jejich provádění extrémně neefektivní a jejich vývoj je zbytečně pracný. Vy tady oslavujete JSLint, že už je možné při vývoji zkontrolovat syntaktickou správnost JavaScriptového kódu. No hurá, ale Java tohle měla v roce 1995, C to mělo v roce 1972.

    Notepad oproti Wordu taky nežere ani polovinu. Ale není to použitým programovacím jazykem, je to tím, že Notepad jaksi nemá některé funkce Wordu.

    WebStart jsem vysvětlil výš v tomto komentáři, snad to stačí. je dost smutné, že dneska někteří vývojáři mají zkušenost jenom s webovými aplikacemi a považují ty rovnáky na vohejbáky za něco normálního. Je to podobné jako s IPv6, kdy někteří správci neznají nic jiného než IPv4+NAT a těžko se jim vysvětluje, ať postaví normální IP síť a NAT zahodí někam hodně daleko. Je pravda, že když člověk musí s takovými rovnáky na vohejbáky dnes a denně pracovat, musí sám sebe přesvědčit, že je to vlastně normální, jinak by se z toho zbláznil. Já jsem to taky bral jako sport a jako výzvu, že ten web v MSIE 5.0 prostě rozchodím, protože kdybych bral vážně, že prohlížeč zaktualizuje DOM a přepočítá hodnoty stylů, jak jsou vidět z JavaScriptu, ale zapomene výsledek nakreslit na obrazovku, prohodil bych počítač už druhý den oknem. (A teď jsem křivdil MSIE 5.0, protože tohle myslím dělala sedmička – sice se začala přibližovat standardům, například podporovala CSS position: fixed, akorát ten prvek občas zapomněla nakreslit).