Linux E X P R E S

Facebook

Ara Pehlivanian, Don Nguyen: JavaScript okamžitě

JavaScript_okamzite.png

Po učebnici JavaScriptu rád sáhne nejeden zájemce o programování, popř. speciálně o tvorbu webových stránek. Ještě kdyby byla učebnice kvalitní, dobře se četla a obsahovala dobré rady, ale kdyby nebyla přitom příliš drahá... Vyhovuje těmto přáním kniha „JavaScript okamžitě / Ovládněte JavaScript za víkend“, kterou nedávno v českém překladu vydal Computer Press? Snad vám v rozhodování pomůže tato recenze.


Úvod

JavaScript je jedním z nejpoužívanějších programovacích jazyků. Tím, že je dnes používán na asi všech nejnavštěvovanějších internetových stránkách a samozřejmě podporován všemi prohlížeči, je také automaticky používán na každém osobním počítači.

Na stránkách s výbornými návody k tvorbě webu w3schools.com se v tutoriálu k JavaScriptu dokonce píše: „JavaScript is the most popular programming language in the world.” Nebo třeba: „Microsoft supports JavaScript for creating Windows 8 apps. JavaScript is definitely the future for both the Internet and Windows.“

Na dalším webu je uveden jako sedmý jazyk z deseti, jejichž studium autoři nejvíc doporučují v roce 2014 (po PHP, oba jsou pro tvorbu stránek základem). No a na ebay.co.uk s u prodeje zde popisované knihy uvádí: „JavaScript is a key technology in modern web development, enabling you to craft interactive, usable and engaging experiences for your users.“

Tomu odpovídají i požadavky na programátory v JavaScriptu, inzerátů je dost, na CareerJet je to dokonce 8000 nabídek k heslu JavaScript ku 2000 nabídkám pro heslo Java. A tak po učebnici JavaScriptu rád sáhne nejeden zájemce o programování, popř. speciálně o tvorbu webových stránek. Ještě kdyby byla učebnice kvalitní, dobře se četla a obsahovala dobré rady, ale přitom nebyla příliš drahá... Vyhovuje těmto přáním kniha „JavaScript okamžitě“?

Autoři

Zárukou kvality by měli být už oba autoři. Ara Pehlivanian je kromě této knihy a více článků na webu spoluautorem dalších dvou knih o JavaScriptu („Professional JavaScript Frameworks: Prototype,YUI, ExtJS, Dojo and MooTools”, 888 stran; „The Art & Science of JavaScript”). Pracoval na řadě velkých webových projektů, patřil mezi přední vývojáře služby Yahoo! Mail a v současnosti pracuje jako vývojář JavaScriptu v týmu HP Cloud Services.

Don Nguyen je autorem další knihy z této edice (XXX okamžitě čili Jump Start XXX) a jako v případě předchozího autora jde opět o knihu na téma JavaScript: „Jump Start Node.js”. Dle zde recenzované knihy v JavaScriptu programuje mnoho let, a to na straně serveru v podobě Node.js i na straně klienta.

Komu je kniha určena

Podle autorů je kniha vhodná pro: „...webové návrháře a vývojáře, kteří chtějí rychle proniknout do tajů jazyka JavaScript. Předpokladem k tomu je však základní znalost jazyků HTML a CSS.“ Píšou také: „Ať už jste zkušený programátor, který se chce tento jazyk naučit, nebo začátečník dychtící zaplnit volné pozice na pracovním trhu, tato kniha vám pomůže.“

Souhlasím, pro začátečníky budou ale některé kapitoly obtížné (objekty, funkce, funkce vyššího řádu – ukázky funkcionálního programování), ale zase může jít o vítanou pozvánku k dalšímu studiu. Optimistický název knihy „JavaScript okamžitě – Ovládněte JavaScript za víkend“ může ale asi platit skutečně jen pro pokročilého čtenáře (znalce HTML, CSS, OOP); kniha je hutná (ale i čtenářsky chutná – pěkně psaná). Kapitoly jsou vysvětlovány čtivě.

Obsah knihy

Obsah je dostupný ke stažení na stránkách nakladatelství, proto jen zhuštěně (na konci kapitol se autoři ještě věnují postupně budovanému projektu a je zde také vždy shrnutí obsahu kapitoly):

  • Úvod
    (Komu je tato kniha určena), Použité konvence, Zdrojové kódy ke knize.
  • Kapitola 1
    Konzola, Zápis kódu JavaScriptu do souborů HTML, Umístění elementu script.
  • Kapitola 2
    Proměnné, Komentáře, Deklarace, Typy, Operace, Nástrahy slabě typovaného jazyka, Převod typů, Operátory porovnávání, Řízení toku, Projekt.
  • Kapitola 3
    Pole, Tvorba pole, Přidávání prvků do pole, Načítání hodnot z pole, Vnořená pole, Co lze dělat s poli, Modifikační metody, Přístupové metody, Iterační metody, Projekt.
  • Kapitola 4
    Objekty a funkce, Vytvoření objektu, Přidávání hodnot do objektu, Načítání hodnot z objektu, Vnořené objekty, Řetěz prototypů, Procházení objektu v cyklu. Funkce, Oblast platnosti, Zdvihání proměnných, Deklarace, Parametry a argumenty, Objektově orientované programování skrze funkce, Klíčové slovo this, Vlastnosti, Metody, Projekt.
  • Kapitola 5
    Cykly a skoky (while, do while, for, for in, … Příkazy s návěštím), Ošetřování výjimek, Empirická studie, Alternativy k cyklům, Pár slov ke stylu, Funkce vyššího řádu, Rekurze, Projekt, Počítáme úkoly, Řazení.
  • Kapitola 6
    Model DOM, Nezbytnost zpětné kompatibility, Objekt document, Model DOM Level 0, Specifikace DOM Level 1, Vytváříme elementy a atributy modelu DOM, Metoda insertBefore(), getElementsByTagName(), Specifikace DOM Level 2, Metoda getElementById(), hasAttributes(), hasAttribute(), Specifikace DOM Level 3, Level 4, Metoda getElementsByClassName(), Datové atributy, Vlastnost style, Projekt.
  • Kapitola 7
    Události modelu DOM, Propagování událostí, Obsluhující funkce událostí, Atribut v dokumentu HTML, Metoda addEventListener(), Vlastnosti elementů modelu DOM, Další příklady, Kontext události, Vlastní události, Projekt (Přidáváme úkoly, Řazení, Úpravy úkolů).
  • Kapitola 8
    Canvas, Připravujeme data, Zavádíme plátno, Základy kreslení, Text a soustava souřadnic, Další příklad otočení, Číslování osy y, „Ahoj světe“ na plátně, Čáry mřížky, Obdélníky, Oblouky, Popisky sloupců grafu, Vržené stíny, Tvorba obrázků.
  • Příloha A
    Běžné události

Obsah je bohatý a věnuje se i novějším tématům (brzo se začíná s objekty, používá se také funkcionální programování, grafika v JavaScriptu). Také je v textu mnoho odkazů na další zdroje.

Co v knize nenajdete

Nezbylo místo na popis uložení dat do počítače klienta, ale v hotovém projektu, který je ke stažení na stránkách Computer Press, je ukládání úkolů na disk funkční.

Zdrojové kódy ke stažení, budovaný projekt

Na stránkách Computer Press jsou k dispozici všechny uváděné zdrojové kódy, většinou jako součást projektu – záznamníku úkolů.

Hodnocení knihy

Klady

Myslím, že jde o zdařilou učebnici, která nejen nastartuje práci s JavaScriptem pro začátečníky, ale může dát užitečné podněty i čtenářům, kteří už s JavaScriptem pracovali (viz výše uvedené OOP, funkce vyššího řádu – ukázky funkcionálního programování).

Hodnotu zvyšují také časté užitečné externí odkazy, např. „empirická studie“ na str. 93, kdy místo debaty, jestli používat příkazy skoku, uvádějí autoři příkazy, kterými si může čtenář sám stáhnout a prozkoumat zdrojový kód knihovny jQuery a zjistit, že na 10 000 řádků kódu připadá asi 600 funkcí a příkazů return, ale jen 16 příkazů break a 7 příkazů continue.

Zápory?

Moc jsem jich nenašel. V knize nejsou téměř žádné tiskové chyby nebo chyby v překladu: na spočítání myslím stačí prsty jedné ruky (na str. 83 vypadlo ke konci stránky v běžném textu jednou „do” u cyklu „do while”; ve zdrojovém kódu na str. 23 je proměnná deklarována jako „úkol”, ale v inicializaci je uvedena jako „task”).

Rozsah knihy je menší, což ale odpovídá ceně (v současnosti kolem 200 Kč). Snad ještě výsledná podoba projektu, kterou si čtenář může stáhnout a vyzkoušet, mohla být trochu propracovanější, nebo k ní mohly být dodány náměty a rady k vylepšení. Umím si ale představit, že autoři neměli času nazbyt a tak se spokojili se základní verzí na ukázku témat probíraných v knize.

Závěr

Zájemci o skutečnou práci s jazykem sice nezbude, aby po přečtení knihy hledal další materiály, ale těch je i na Internetu dnes už obrovské množství (např. W3Schools, interaktivní kurz na Codeacademy, Javascript.is (Sexy), Interaktivní kniha s příklady, ...). Většinou jsou sice v angličtině, ale to není žádné překvapení a současným zájemcům to asi nebude činit velké problémy; naopak práce v angličtině je pro každého zájemce o programování nutností.

Začátek v češtině s touto knihou může být ale dobrou pomocí. Myslím, že jde tedy o dobrou volbu, která splní svoje poslání.

Diskuze (4) Nahoru