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?
Vitalia.cz: Zmrzlinu? Ani snad ne

Zmrzlinu? Ani snad ne

DigiZone.cz: Přechod na DVB-T2? Kolem miliardy...

Přechod na DVB-T2? Kolem miliardy...

DigiZone.cz: DAB už i z Košic. A překvapivě!

DAB už i z Košic. A překvapivě!

120na80.cz: Jak se zbavit nadměrného pocení?

Jak se zbavit nadměrného pocení?

Podnikatel.cz: 3 velké průšvihy obchodních řetězců

3 velké průšvihy obchodních řetězců

DigiZone.cz: Skylink o půlnoci vypnul 12 525

Skylink o půlnoci vypnul 12 525

Podnikatel.cz: Italské těstoviny nebyly k mání, tak je začal vyrábět

Italské těstoviny nebyly k mání, tak je začal vyrábět

Lupa.cz: Tudy proudí váš hlas i data. V zákulisí CETINu

Tudy proudí váš hlas i data. V zákulisí CETINu

DigiZone.cz: Skylink: do pátku může docházet k výpadkům

Skylink: do pátku může docházet k výpadkům

Podnikatel.cz: Prodej na Alibabě? Malí hráči utřou nos

Prodej na Alibabě? Malí hráči utřou nos

Vitalia.cz: Taky je nosíte? Barefoot není pro každého

Taky je nosíte? Barefoot není pro každého

Root.cz: Bitcoin začal vyplácet jen půlku odměn

Bitcoin začal vyplácet jen půlku odměn

120na80.cz: SOS aneb spálená pokožka

SOS aneb spálená pokožka

Vitalia.cz: Klíšťata letos řádí, skvrna se udělá jen někomu

Klíšťata letos řádí, skvrna se udělá jen někomu

Lupa.cz: Největší pitominy s logem “nyní smart a připojené”

Největší pitominy s logem “nyní smart a připojené”

Podnikatel.cz: Polská vejce na českém pultu Albertu

Polská vejce na českém pultu Albertu

Vitalia.cz: Největší chyby při podávání vína?

Největší chyby při podávání vína?

Lupa.cz: eIDAS: Nepřehnali jsme to s výjimkami?

eIDAS: Nepřehnali jsme to s výjimkami?

Vitalia.cz: Paní výčepní: Holka, co mluví chlapům do piva

Paní výčepní: Holka, co mluví chlapům do piva

Vitalia.cz: Pepsi Cola mění sirup za cukr

Pepsi Cola mění sirup za cukr