Kniha má v podtitulu "Základy programování, webové formuláře, DOM a Ajax", tedy základ pro nástroje s nimiž je možné naprogramovat i internetový obchod či virtuální desktop. Kniha Začínáme s JavaScriptem si ovšem neklade cíle tak vysoké, na druhou stranu jsou mnohem zásadnější pro práci – Začínáme s JavaScriptem vás naučí základům JavaScriptu.
Kniha je dílem dvojice autorů Yanka a Adamse je určena především začátečníkům, kteří by rádi svůj web rozpohybovali či oživili. V devíti kapitolách a jednom dodatku povede čtenáře světem dynamického webu svěžím a osobitým přístupem.
Obsah knihy
Jak již bylo řečeno, kniha obsahuje celkem devět kapitol a jeden dodatek. Na asi 300 stran toho autoři dostali celkem dost:
Tři vrstvy webu – první kapitola shrnuje a uvádí do filozofie oddělování obsahu, formy a chování na webu. Vysvětluje, proč je dobré používat styly a formu tak oddělovat od obsahu.
Programování s JavaScriptem – zatímco v první kapitole se kód JavaScriptu nevyskytuje, druhá kapitola (a všechny následující) se mu již plně věnují. Zde se autoři věnují vkládání kódu JavaScriptu do dokumentu, proměnným, obecným základům programování s cykly, podmínkami. Obsahuje vše, co bude potřeba nejen pro "Nazdar světe" program, ale díky podmínkám a funkcím i celkem pěkný program. Pro zkušené programátory to bude příjemným osvěžením a zavedení nové syntaxe jazyku JavaScript.
Přístup k dokumentu – velice pěkně vyvedená kapitola o DOM, tedy struktuře dokumentu. Náročnost textu se již začíná zvyšovat a zvláště začínající programátoři text budou muset číst vícekrát. Kapitola se věnuje dělení dokumentu na jednotlivé uzly, práci s nimi, případně chování jednotlivých tříd uzlů či chování tříd prvků v dokumentu.
Události – kapitola věnující se interakci s uživatelem. Mimo jiné se věnuje například kontextové identifikaci odkazů či nejrůznějším akcím uživatelů.
Animace – naučíte se rozpohybovat vaše stránky. Ať už přidání krátkého opakujícího se filmečku, spočtení pohybu po stránce po přímce, případně i plynule se vysouvající nabídky.
Vylepšení formulářů – ačkoli na první pohled jsou formuláře v HTML dostatečně bohaté, zajisté se dají vylepšit. V této kapitole autoři ukáží, kterak generovat obsah roletového menu v závislosti na volbě z jiného, svázaného, roletového menu, jak pomocí JavaScriptu kontrolovat formulář už na straně klienta (například nevyplněné povinné pole).
Chyby a ladění – naučíte se otevřít si chybovou konzoli v nejčastějších webových prohlížečích (a dostane se vám varování, že je jednodušší hledat chyby v libovolném prohlížeči krom Internet Exploreru a v něm ladit opravdu jen IE specifika). Dále se v kapitola věnuje teorii okolo ladění, hledání chyb a debugingem obecně. Druhá část kapitoly je věnována doplňku pro Firefox – Firebugu.
Ajax – kapitola se z velké části opírá o již dříve probrané části a pouze tyto znalosti rozšiřuje na použití s Ajaxem. V kapitole je vysvětlen základ asynchronní komunikace a ukázán konkrétní postup pro napsání takovéhoto kódu.
Výhledy do budoucna – autoři se zde zamýšlejí nad tím, jak by mohl vypadat web za nějaký čas, a ukazují to na konkrétních příkladech jako meebo.com, Flickr.com či kalendář Google.
Příloha – celou knihou a příklady provází funkce knihovny core.js, která ulehčuje množství operací. V této příloze je celá knihovna probrána a rozebrána tak, že budete schopni programovat i bez této knihovny (ačkoli s ní to jde snáze).
Postřehy a připomínky
Kniha se nedá doporučit jako čtení před spaním či pro odpočinek (stále vás chce naučit JavaScriptu, nikoli pobavit). Zvláště pokud s JavaScriptem začínáte, budete se často vracet zpět, listovat a znovu a znovu přemýšlet, jak byste ten který kód naprogramovali. Ovšem stejně jako může být zajímavý a vtipný výklad kvantové mechaniky, může být vtipně podán i JavaScript. Jedna věta za všechny, pojednávající o rychlosti animace a výkonu počítače:
„Kdyby pohádka Sněhurka a sedm trpaslíků proběhla za 7,3 sekundy, z hlediska výkonu by to bylo nepochybně velmi efektivní, nicméně srozumitelnosti děje by to moc nepomohlo.“
Neboli celá kniha je sice náročná na čtení, ale čtenář se u ní nenudí. Navíc jednotlivé kousky kódu jsou vždy popsané tak, že víte, co která funkce zrovna dělá či chce udělat. Pokud něco popsáno není, máte jistotu, že to již popisováno bylo a začne prohledávání nazpátek.
Kladně hodnotím i to, že autoři nezanedbávají odlišnosti chování JavaScriptových aplikací v různých prohlížečích – bohužel jsou i knihy, kde se o rozdílech nedovíte. Velká část těchto odlišností se orientuje na Internet Explorer – autoři zde upozorňují na různá pojmenování funkcí oproti jiným prohlížečům, jiná chování a případná nebezpečí, která s IE hrozí, jako díry v paměti (memory leaks) či jinou interpretaci funkce this (jdoucí proti normě W3C). Z celé knížky, převážně z kapitoly o událostech, čiší značná nevole vůči tomuto prohlížeči. Naštěstí nezůstává pouze u pláče, ale vždy navrhují řešení, jak upravit kód i pro tento nedodělek.
Trochu zamrzí typografické chyby v sazbě, protože v knize nejsou ojedinělé chyby v sazbě. Na druhou stranu takovíto tiskařští šotci se dostanou snad do každé knihy a tato proto není výjimkou. Černobílý tisk a brožovaná vazba je u tohoto typu knížek naprostým standardem a proto nepřekvapí a ani neurazí.
Celkově kniha působí výborným a uceleným dojmem. Nenaučí vás sice naprogramovat si hru či vlastního IM klienta, ani si po jejím přečtení nevytvoříte virtuální desktop. To ovšem ani není cílem této knihy. Po jejím přečtení budete s to připravit si dynamický web, který bude interagovat s uživatelem. Pokud celou knihu pochopíte, budete mít již pevné základy pro další programování a studium.
Začínáme s JavaScriptem
Autoři: Kevin Yank a Cameron Adams
Překlad: RNDr. Jan Pokorný
Formát knihy: 170 mm x 228 mm, brožovaná vazba
333 stran černobílých včetně rejstříku (10 stran)
Datum vydání: 2008
Nakladatel: Zoner Press
Doporučená cena: 340 Kč
ISBN: 978-80-86815-94-7