Proč všichni přechází na JavaScript/Ajax?

Původně jsem chtěl psát o jednom Google update, ale při sběru dat z GA jsem se zasekl na načítání jejich JavaScriptové stránky. Už mi to nedá a musím se zeptat proč? Proč všechny weby přechází na stránky, které načítají obsah nějak průběžně? Kde jsou staré dobré dokumenty HTML, které se prostě kompletně načtou, člověk na něco klikne a dostane se dál. Žádné stovky kilobajtů JavaScript, ikonka načítání stránky a zasekaný prohlížeč. Ne vážně tohle je budoucnost?

Začalo to Facebook

První stránka, která mi přestala pořádně fungovat byl před pár lety Facebook v prohlížeči Internet Explorer. Právě ten je na velké JavaScripty hodně náchylný. Každou chvíli se někde něco načítalo. Člověk chtěl provést akci, ale čekalo se na JavaScript. Bylo to tak rozsekané, že jsem na prohlížení začal používat FireFox a později Chrome, který mi přijde že JavaScript zvládá nejlépe.

Jen pro zajímavost tohle je FB profil 404M.

Celkem 5,3 MB, 228 requestů a doba načtení 5,56 vteřin. Z toho 4 MB a 161 requestů JavaScript. To je pomalu zločin proti internetu :)

Google Analytics

Už nevím, kdy přešel Google Analytics na novou verzi, ale pořád mě ve FireFox zlobilo. Místo aby se načetla stránka tak vidím jen horní část a pohyblivou čáru symbolizující načítaní. Občas to vyhodí chybu že se něco pokazilo. Poslední verze už tolik nezlobí, ale pamatuji si jak mě to vytáčelo a proklínal jsem JavaScript/Ajax :)

Obdobně teď zlobí i AdSense. Mám z toho dojem že čekám 2x na dokument a ještě než se vše načte.

Nové internetové bankovnictví KB

Internetové bankovnictví KB MojeBanka podle mnoha ohlasů nebyla žádná sláva. Mě ale nevadilo, co jsem potřeboval, to jsem si dohledal. Zaplatit se dalo velice rychle.

Nedávno přešli na novou verzi, která stahuje online pořád nějaké data. Třeba přihlašovací formulář s certifikátem se načte okamžitě, ale je neaktivní překrytý šedou vrstvou a vidíte ikonku pro načítání. V podstatě každý váš proklik doprovází šedá průhledná vrstva s rotující bílou čárkou po obvodu neviditelného kolečka. Působí to pomale.

Nejhorší je ale platba. Místo aby se jako dříve při dokončení objevily pole kam zadáte heslo a SMS kód tak všechno děláte postupně v popup okně, které je na šedém pozadí a opět se musí načítat. Samozřejmě netušíte jestli funguje anebo ne. Při dnešní platbě, teď v noci, mi to šlo celkem rychle (dvě – tři vteřiny) ale minulý měsíc se to načítalo snad deset vteřin a nevěděl jsem jestli to jede anebo ne.

Další věci jako našeptávač čísel účtu a kódu banky nechci řešit, to je otázkou zvyku. I když mate to.

Závěr

Určitě bych našel víc podobných případů, ale asi víte o čem mluvím.

Chápu že JavaScript/Ajax je cestou jak udělat místo stránky skutečnou aplikaci se vším všudy. Navíc přenášet data v JSON je rozhodně úspornější než znovu načítat celý HTML dokument. Šetří se i serverové zdroje, protože obsah se generuje v prohlížeči návštěvníka. Na druhou stranu to platí pro specifické stránky, či spíše služby, kde s tím počítáte. Pokud to nepotřebujte, tak bych nechal JavaScript jako pomocníka, který třeba kontroluje formulář a hlásí chyby, abyste pak nemuseli všechno vyplňovat znovu. Když však na JavaScriptu postavíte celé formuláře – třeba u objednávky jednotlivé kroky nebudou samostatné HTML dokumenty, ale postupně načítané přes Ajax, tak návštěvník nemůže použít navigaci prohlížeče. Tlačítko zpět jej posune před vyplnění objednávky místo o 1 krok zpět a to rozhodně nepotěší.

Možná je to teď takový trend, že roste podíl programování v JavaScript a ubývá server side skriptů. Ostatně to je třeba tématem WordPress. V roce 2014 zveřejnil Jordi Cabot graf počtu řádků u PHP a JavaScript pro jednotlivé verze. Bylo by zajímavé zjistit jaký je vývoj teď. Počítám že u WordPress 5.0, který vyšel dnes tam bude asi pořádný skok kvůli Gutenbergu.

Poměr PHP a Javascriptu ve zdrojovém kódu WordPress.

Mě osobně se po starých dobách HTML dokumentů celkem stýská. Žádný JavaScript ani CSS, to byly časy. I přes pomalý internet hodně rychlé :)

Share Button
(2)(1)

Jak bude reklama vypadat?
-
Kup si reklamu navždy pod tímto článkem jen za 100 Kč
Zobrazit formulář pro nákup

One Comment

  • Na to existuje poměrně jednoduchá odpověď - je to kvůli uživatelům. Dnes nechce nikdo čekat, až se mu načte stránka za 2 nebo 3 sekundy. Takže se načte pouze jádro a ten zbytek se dotáhne AJAXem a vykresluje se postupně, jak si o to uživatel požádá nebo se to dostane do zorného pole. Takže jednak dosáhneme toho, že poměrně brzy se něco na obrazovce objeví a dále ty věci, které taháme postupně přes AJAX, můžeme generovat paralelně, takže se zkrátí čas na jejich získání.

    (0)

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *