John Resig: JavaScript a Ajax

Martin Hassman 5. 3. 2008

Nakladatelství Computer Press loni na podzim vydalo knihu JavaScript a Ajax - Moderní programování webových aplikací od Johna Resiga, zaměstnance Mozilla Corporation a autora jedné z nejpopulárnějších JavaScriptových knihoven jQuery. Kniha je určená zájemcům o pokročilé programovací techniky na dnešním webu.

Pokud bych chtěl vyjmenovat nejznámější JavaScriptové experty, John Resig by určitě byl mezi nimi. Proto bylo pro mne příjemným překvapením, když se v knihkupectvích objevil překlad knihy o JavaScriptu, kterou John před rokem a půl napsal.

Název českého vydání JavaScript a Ajax je tak trochu marketingový podvod. Kniha se v originále jmenuje Pro JavaScript Techniques, což se do češtiny přímo nesnadno překládá. Pro české vydání tak byl kreativně zvolen název, který dobře prodává. (Ajax je buzzword a táhne.) Je ovšem nutno poznamenat, že několik kapitol knihy se Ajaxu skutečně věnuje, proto ačkoliv je název nepřesný, rozhodně se nejedná o název lživý.

Obsah knihy

JavaScript Ajax Resig

Ačkoliv je John Resig tvůrcem JavaScriptové knihovny jQuery, bylo by chybou předpokládat, že nás jQuery bude provázet celou knihou. Naopak, John ji v celé knize použije jen několikrát a snaží se čtenářům předvést celé spektrum existujících JavaScriptových knihoven.

Na začátku je čtenář seznámen s používáním objektově orientovaného JavaScriptu (samotné základy jazyka JavaScript vysvětlovány nejsou, ty se u čtenáře předpokládají), na které navážou pokročilejší techniky, jako je implementace klasické dědičnosti, privátních a statických metod nebo jmenných prostorů. Autor vysvětlí možnost komprimace zdrojového kódu a představí čtenáři řadu moderních JavaScriptových knihoven. Myslím, že i ostřílení JavaScriptoví programátoři v této části najdou něco, co dosud neznali.

Následuje přehled ladicích nástrojů pro jednotlivé prohlížeče včetně Firebugu pro Firefox nebo Web Inspektoru pro Safari. Tato část je určena pro ty, kdo podobné nástroje dosud neznají. Pokud je již používáte, nedozvíte se prakticky nic nového.

Jen velice stručně jsou vysvětleny základy DOMu a událostí, ovšem o to větší prostor je pak věnován jejich praktickému používání tak, aby fungovaly ve všech prohlížečích. Jsou zmíněny i knihovny, které používání DOMu usnadňují. Pokud využijete autorových rad, s nativním DOMem již téměř nemusíte přijít do styku. Mezi ukázkami nechybí drag & drop, ani jednoduché animace stránky. Velký důraz je kladen na používání JavaScriptu tak, aby webová stránka zůstala funkční i při jeho absenci (tento důraz v řadě jiných JavaScriptových publikací chybí).

Samostatná kapitola je pak věnována validaci formulářů na straně klienta. John vám ukáže, jak si na pár řádcích vytvořit jednoduchý univerzální nástroj pro formulářovou validaci. Následuje ukázka webových galerií Lightbox a ThickBox doplněná návodem na vytvoření galerie vlastní.

Několik kapitol se věnuje Ajaxu a způsobům jeho použití včetně detailního návodu na vytvoření našeptávače a Ajaxové wiki. Poslední kapitola je věnována budoucnosti JavaScriptu. Čtenář je seznámen s novinkami JavaScriptu 1.6, 1.7 i s HTML5. Je předvedeno E4X a ukázáno použití canvasu. Následují přílohy se stručným přehledem DOMu a událostí. Nechybí ani nezbytný rejstřík.

Příklady zdrojových kódů

Ke knize můžete získat příklady zdrojových kódů. K těm mám několik výtek. Trochu mne překvapilo, že v zabaleném souboru u českého vydání jsou přítomny i .DS_Store soubory (skryté soubory vytvářené na Mac OS X), které někdo před publikací zapomněl odstranit a čtenář je tak zbytečně s archivem stahuje.

S velkou pečlivostí jsou přikládány opravdu všechny, i ty nejkratší, zdrojové kódy uvedené v knize. V kapitole 9 věnované galeriím tak například najdeme krátké soubory obsahující jen jeden jediný řádek, ale přiložená ukázka celé galerie nefunguje. To je přehmat anglického vydání, který se následně dostal i do českého. Je to škoda, přitom stačilo příklad jednou vyzkoušet a problém by byl odhalen.

Zhodnocení knihy

Musím říci, že mne autor John Resig nezklamal. Při čtení cítíte, že má o problematice velký přehled a umí ji stravitelně podat. A tam, kde rozsah knihy nestačí, vám nabídne další odkazy. Jsem přesvědčen, že kniha patří mezi to nejlepší, co bylo na toto téma napsáno.

Je otázkou, jak dlouho se kniha na předních místech udrží. Zatímco některé další vynikající knihy z oboru (např. kniha Davida Flanagana) mají nadčasový charakter a čtenáři většinu jejich obsahu budou moci bez větších problémů využít i za 3–5 let, JavaScript a Ajax vykazuje jistou trendovost. Vychází z toho, jak „módní“ je psát JavaScript zrovna dnes, a za pomoci kterých nástrojů a knihoven. Není vyloučeno, že za několik málo let budeme již používat jiné (lepší) nástroje i techniky a kniha tak ztratí na hodnotě rychleji než knihy ostatní. To ovšem na její dnešní kvalitu nemá žádný vliv!

Zájemce o téma jistě potěší, že John zahájil práce na své druhé knize s názvem Secrets of the JavaScript Ninja, která se bude věnovat pokročilým vlastnostem jazyka JavaScript.

Kvalita překladu

Zatímco nemohu skrýt své nadšení z obsahu knihy, opak platí o jejím překladu. Ve knize je řada překlepů, což zjistíte velmi brzy. První na nás vykoukne již z obsahu.

Během čtení narazíte i na stěží srozumitelné věty, pro ukázku: „Vrcholem úspěchu při vývoji knihovny v JavaScriptu je schopnost jednoduše vypustit ukazatel <script> na ni, a přesto neovlivnit její funkci.“

Překladatelé se místy pokouší i o odvážnější překlady. Jako příklad uvedu překlad unobstrusive JavaScript jako nevtíravý Javascript, který v zásadě není špatný a vystihuje podstatu. Problém je, že se tento překlad otrocky opakuje i ve všech dalších spojeních, a tak se dočteme, že „jazyk CSS slouží jako standard pro tvorbu jednoduchých, nevtíravých webových stránek“ (jako by stránky používající kaskádové styly nedokázaly být pěkně vtíravé).

Překlad je nejednotný, jednou čteme o prototypové dědičnosti a podruhé o dědičnosti vzorové. Časté jsou nekonzistence zdrojových kódů. Jednou si nadefinujeme metodu zobraz(), abychom ji později volali pod názvem display(), o několik stránek dále si pro změnu nadefinujeme metodu zobr(), kterou voláme jako disp(), následně next() vs. dalsi() atd.

Vedle zmíněných problémů již zní jako drobnost, že příklady zaměřené na americké čtenáře nejsou převáděny do našich místních zvyklostí, např. u validace data (tj, časového údaje, pozn. edit.) se nikdo nesnažil tvar MM/DD/YYYY převést do formátu běžného u nás.

Ve všech zmíněných případech by k odstranění stačila odborná korektura. Tu měl u knihy na starosti Michal Till. Nevím, na čí straně byla větší chyba, ale osobně doufám, že se s překladateli této knihy, Ondřejem Bašem a Ondřejem Žižkou, ani s jejím odborným korektorem již v žádné další knize nesetkám.

Ovšem co naplat, když řadě čtenářů nezbude než dát přednost levnějšímu nekvalitnímu českému vydání před koupí dražšího originálu.

Komu je kniha určena

JavaScript a Ajax bych doporučil hned dvěma typům programátorů, každý si z ní odnese něco trochu jiného.

  • V případě, že znáte JavaScript a používáte práci s DOM a událostmi, bude pro vás kniha představením řady fint a triků, které jste pravděpodobně dosud neznali. Vaše JavaScriptové já opět o něco povyroste. A co víc, vše je popsáno tak, aby fungovalo v dnes běžně používaných prohlížečích. Nebudete muset ladit pro každý prohlížeč zvlášť, autor knihy to již vyřešil za vás.
  • Pokud znáte základy JavaScriptu, ale nezvládáte práci s DOM ani událostmi, i tak se bez obav můžete do knihy pustit. Pokud se budete držet instrukcí v knize, dokážete brzy obojí bez problémů používat a vytvářet i relativně složité aplikace. Nicméně kniha vám nepomůže pochopit, jak DOM a události přesně fungují; buď se bez toho obejdete nebo si k tomu časem pořídíte další knihu.
  • Pokud z JavaScriptu umíte tak maximálně „Hello World!“, pak je mi líto, ale kniha není pro vás. Přečtěte si napřed knihu pro začátečníky a teprve až ji zvládnete, vraťte se k této knize.

Kniha vám pomůže zvýšit vaši odbornou úroveň a pokud ji celou zvládnete a pochopíte, zařadíte se k té menšině JavaScriptových programátorů, kteří své profesi opravdu rozumí. Na pár set stranách vám kniha nabídne to, na co byste sami přicházeli měsíce.

Informace o knize

Autor: John Resig
Název: JavaScript a Ajax
Název originálu: Pro JavaScript Techniques
Překlad: Ondřej Baše a Ondřej Žižka
ISBN: 978–80–251–1824–5
Rozsah: 360 stran
Příklady ke stažení: CPress.cz
Kde koupit: Zboží.cz

Našli jste v článku chybu?
Měšec.cz: Cestujte bez starostí, získejte výhodné pojištění

Cestujte bez starostí, získejte výhodné pojištění

DigiZone.cz: VR i AR na vzestupu. Do roku 2018...

VR i AR na vzestupu. Do roku 2018...

Lupa.cz: Sdílíte na Facebooku soukromé odkazy?

Sdílíte na Facebooku soukromé odkazy?

Vitalia.cz: Máte chutě? Nejezděte do světa, ale do Dobřichovic

Máte chutě? Nejezděte do světa, ale do Dobřichovic

Vitalia.cz: Vědci: Hnojení chemií je zbytečné

Vědci: Hnojení chemií je zbytečné

Lupa.cz: Nej aplikace? Vodafone, Mozkovna, Záchranka

Nej aplikace? Vodafone, Mozkovna, Záchranka

Vitalia.cz: Epidemie: Klíšťová encefalitida po ovčím sýru

Epidemie: Klíšťová encefalitida po ovčím sýru

Lupa.cz: Jaké IoT tarify nabízejí mobilní operátoři?

Jaké IoT tarify nabízejí mobilní operátoři?

Lupa.cz: Vydavatelé jsou v háji, ale neumí si to připustit

Vydavatelé jsou v háji, ale neumí si to připustit

Vitalia.cz: 7 receptur z pohanky. Svědčí zdraví

7 receptur z pohanky. Svědčí zdraví

Měšec.cz: Ceny PHM v Evropě. Finty na úspory

Ceny PHM v Evropě. Finty na úspory

Podnikatel.cz: Takhle si Babiš představuje nové daně

Takhle si Babiš představuje nové daně

Měšec.cz: Inspirujte se: kam investují čeští dolaroví milionáři?

Inspirujte se: kam investují čeští dolaroví milionáři?

Vitalia.cz: Tohle kafe má být hit léta

Tohle kafe má být hit léta

DigiZone.cz: Kritické poznámky k DVB-T2

Kritické poznámky k DVB-T2

DigiZone.cz: Satelitní Flix TV vyráží do boje

Satelitní Flix TV vyráží do boje

Vitalia.cz: Margit Slimáková nesnáší rajskou, Petr Fořt pizzu

Margit Slimáková nesnáší rajskou, Petr Fořt pizzu

Lupa.cz: Text umírá, na webu zbude jen video

Text umírá, na webu zbude jen video

DigiZone.cz: Kanály Novy na Slovensku oficiálně?

Kanály Novy na Slovensku oficiálně?

Podnikatel.cz: Zůstat na Heurece je čiré bláznovství

Zůstat na Heurece je čiré bláznovství