Hlavní navigace

Peter-Paul Koch: ppk on JavaScript

27. 6. 2008 10:00 (aktualizováno) | Martin Hassman

Do mé sbírky knih o JavaScriptu přibyl další úlovek ppk on JavaScript, jejímž autorem je Peter-Paul Koch (ppk), známý zejména svým webem Quirksmode.org. Jelikož si práce Petra-Pavla Kocha vážím (zejména jeho článků a příspěvků na blogu), tak jsem se na knihu hodne těšil.

Jedná se o knihu relativně novou, byla vydána v loňském roce (byť dopsána již v roce 2006) a zahrnuje mj. i Internet Explorer 7, takže by měla zůstat ještě pár let aktuální.

Hned na začátku musím říci, že se jedná o tu nejbizarnější knihu o JavaScriptu, jakou jsem kdy četl. Nečekal jsem například, že ppk hned v úvodu přizná, že nemíní psát o objektově orientovaném JavaScriptu, protože jej během svých osmi let praxe nikdy nepotřeboval. Nakonec to dodrží jen napůl a na několika stránkách předvede základní práci s objekty, ovšem jeho nechuť k dnešním složitým JavaScriptovým knihovnám a všudepřítomnému AJAXu je z celé knihy znát.

Tím rozhodně nemíním říct, že by se jednalo o knihu špatnou. Jsem dokonce přesvědčen, že řada čtenářů ji bude považovat za tu nejlepší knihu o JavaScriptu na světě, ale jedná se o knihu spíše méně obvyklou a hodně záleží na vašem přístupu k webovému programování, zda se vám bude líbit nebo se jí raději vyhnete.

Vstupní znalosti

Co se týče vstupních znalostí, zde autor předpokládá, že knihu čte člověk, který již umí trochu dělat webové stránky, o HTML a CSS má jisté znalosti a možná i jednou nebo dvakrát v životě použil nějaký JavaScript ve své stránce, byť jen metodou copy & paste bez hlubšího porozumění.

Nemusíte se bát, že by po vás autor požadoval nějaké programátorské znalosti. Všechny ukázky kódu jsou bohatě popsané a vysvětlené. Tím bohatě chci říct, že ppk se občas trochu „vykecává“. To má za následek jednak, že se málokdy stane, aby vám něco uteklo nebo jste něco nepochopili, protože ppk vše dopodrobna vysvětlí. Také nemusíte v zásadě při čtení moc přemýšlet, protože ppk s pedagogickým umem nenechá nic podstatného nevyřčeno a nebojí se občas věci i zopakovat. (Jsou knihy, kde tohle neplatí, kde se musíte zastavovat a přemýšlet nebo se i vracet zpět, aby vám neutekla nit. To se vám u ppk nestane.) Knihu tak lze číst i v rušnějším prostředí (třeba ve vlaku). Naopak to ale znamená, že knihu nejspíš nepůjde moc dobře používat jako referenční příručku (kdo by to v tom dlouhém povídání všechno hledal).

Z obsahu

Tak kupříkladu kniha nezačíná popisem základní syntaxe JavaScriptu, jak bychom možná čekali, ale na necelých 140 stranách jsme seznámeni s válkou prohlížečů, s historií skriptování, s tím, jak je důležité i při použití JavaScriptu zachovat stránky přístupné (jedno z nejlepších pojednání o přístupnosti, co jsem kdy četl), dočteme se něco o hlasových čtečkách a o správné detekci prohlížečů. Dozvíme se dokonce i návod, jak nahlásit chybu v tom kterém prohlížeči.

Mě se celý úvod moc líbil a sám jsem se dozvěděl ledacos nového, ale takový klučina lačnící po vlastním programování bude při tom moc a moc netrpělivý nebo to celé prostě přeskočí. Teprve až v páté kapitole (na straně 140!) začneme skutečně něco kódovat. (Zmínil jsem už, že se jedná o bizarní knihu?)

Po pochopení základů JavaScriptu jsou probrány události, DOM a dynamická změna CSS. Vše je zakončeno AJAXem. Žádné teoretické záležitosti, vše se soustředí na problémy, se kterými běžný kodér přijde do styku. A tak místo abychom se v jednotlivých kapitolách setkali s kompletním popisem problematiky (ať již DOMu nebo událostí), autor místo toho vysvětlí základní principy a popíše jen základní metody, které postačí k vyřešení naprosté většiny problémů. A myslím, že ppk hloubku výkladu odhadl opravdu správně. Nestane se, že byste konec kapitoly přeskočili s tím, že tohle nejspíš nikdy nebudete potřebovat.

Praktické zaměření

Celá kniha je totiž výrazně zaměřena na praxi a na oblasti, které bude běžný webový vývojář potřebovat nejčastěji (i všechny použité příklady pochází z autorovy vlastní praxe). V knize snad není kapitola, kde by ppk čtenáře neupozorňoval na problémy s interoperabilitou mezi jednotlivými prohlížeči a na způsoby jejich řešení. Pokud si náhodou myslíte, že máte rozdíly prohlížečů ve zpracování JavaScriptu v malíčku, tak sázím na to, že vás ppk stejně strčí do kapsy.

Velmi mne překvapilo malé množství chyb, které se v knize nachází. Sám jsem si při čtení všiml pouze jedné jediné a i errata knihy jsou velmi krátká. Tak pečlivá práce se dnes málokdy vidí. Pokud by někdy kniha byla přeložená do češtiny schválně si porovnám, o kolik se tento stav zhoršil.

Zhodnocení

Vím, že jsem zde knihu několikrát kritizoval (a věřím, že právem), ale i přesto jsem přesvědčen, že pokud jste webdesignér, který se chce ke své stávající živnosti naučit i skriptovat, anebo pokud třeba už trochu skriptovat umíte, ale potřebujete se v tom zlepšit, pokud možno bezbolestně a neobjevovat již objevené, tak je tahle kniha možná opravdu tím nejlepším, co si můžete vybrat.

Pokud jste zkušenější programátor, ale je vám vyčítáno, že vaše webové aplikace nejsou přístupné a vy hledáte cestu, jak to zlepšit, pak je tahle kniha nejspíš i pro vás. Možná se u ní občas budete nudit, možná budete místy s autorem nesouhlasit, ale nakonec se naučíte, jak tvořit aplikace přístupné.

V případě, že na vás výše uvedené definice neplatí, byste měli popřemýšlet, zda opravdu chcete zrovna tuhle knihu. Možná ano, možná také ne.

Údaje o knize

Autor: Peter-Paul Koch
Název: ppk on Javascript (obsah knihy)
Jazyk: angličtina
ISBN: 978–0–321–42330–6
Rozsah: 500 stran
Cena: knihu jsem koupil v originále za 950 Kč + poštovné v knihkupectví Shakespeare a synové (pokud náhodou víte, jak knihu objednat levněji, podělte se v komentářích).

Srovnání knih

Pokusím se zde o malé porovnání knih o JavaScriptu, které znám. Srovnávat budu výše recenzovanou ppk on JavaScript (anglické vydání) s David Flanagan: JavaScript Kompletní průvodce (2. vydání, které vyšlo kdysi i v češtině) a s John Resig: JavaScript a Ajax (vyšlo v češtině loni).

Ať se snažím, jak chci, nedokážu je seřadit od nejlepší po nejhorší, protože každá je zaměřena na trochu jiného čtenáře, resp. na trochu jinou fázi jeho profesního vývoje.

Zatímco Flanagan vás naučí samotný JavaScript na jedničku, záležitosti okolo DOM na dvojku a řešení praktických problémů včetně kompatibility prohlížečů tak na trojku. Tak ppk vás naučí JavaScript maximálně na trojku, vše okolo DOM na dvojku a praktické problémy na jedničku.

A do třetice John Resig vás JavaScript nenaučí vůbec (vlastně vstupní požadavek pro čtení knihy je znát JavaScript minimálně na tu trojku, ovšem pak to vytáhnete možná i na jedničku), vše okolo DOM na dvojku a praktické problémy na jedničku.

Navíc každá z uvedených knih má jeden bonus, který chybí těm ostatním. Flanagan je jedinečnou referenční příručkou, ppk vás naučí jak si i s JavaScriptem udržet přístupné stránky a Resig vám otevře svět moderních JavaScriptových knihoven.

Poučení? Pokud žijete z jedné JavaScriptové knihy a myslíte si, kolik toho umíte, tak se možná třeba taky pěkně mýlíte.

Přidávat nové názory je zakázáno.