W tym wpisie chciałbym przedstawić Ci moją opinię o najlepszej książce na temat JavaScriptu jaką miałem przyjemność przeczytać, czyli o “JavaScript. Programowanie obiektowe” napisanej przez Stoyana Stefanova.

JavaScript trudny język jest

JavaScript istnieje już ponad 20 lat. Powstał po to by dodać trochę interakcji na stronach WWW końca lat 90. Jak każda technologia, tak samo i JS ewoluował. Początki były trudne, przypominające epokę kamienia łupanego. Ktoś tam coś wymyślił, jakieś nowe zastosowanie dla JS, a następnie rozlewało się to po całym Internecie, atakując Nas na niemal każdej odwiedzanej stronie. Gotowe “wstawki” kopiowane były przez osoby zupełnie nie rozumiejące co kopiują i jak to działa, byle osiągnąć zamierzony bajerancki efekt na stronie. Nikt raczej nie uczył się JS. Niby w książkach o HTML można czasem było znaleźć 2-3 słowa na jego temat, ale głównie dlatego że konkurencyjne publikacje wprowadziły taki trend, a nie dlatego że sam autor chciał się bardzo w ten temat zagłębiać.

Powstawały kolejne biblioteki i frameworki JS. Dochodziło do takich kuriozum, że programista chwalący się znajomością JS, aby pobrać jeden głupi element ze strony po jego id musiał ładować całą kilkuset-bajtową bibliotekę jQuery…

Na szczęście te czasy powoli mijają, programiści (i firmy ich zatrudniające) chcą być bardziej profesjonalni i wiedzieć więcej. Powstają nawet takie specjalizacje jak “Frontend Developer”. Coraz więcej osób chce wiedzieć co programuje w JS i jak to w rzeczywistości działa. Chcą korzystać z doświadczenia innych, sami szukają najlepszych praktyk. Jeśli i Ty jesteś taką osobą to książka “JavaScript. Programowanie obiektowe” powinna Cię zainteresować.

Dla kogo jest ta książka?

Początkujący programiści

Początkujący programiści webowi w książce Stefanova znajdą na prawdę fajne, obszerne wprowadzenie do tego języka. Stoyan opisuje po kolei każdy z podstawowych typów dostępnych w JS, przedstawia nam zastosowanie dla wielu wbudowanych funkcji oraz wprowadza w obiektowość zaimplementowaną w JS.

Autor w książce pokazuje początkującym jak używać konsoli przeglądarki do szybkiego prototypowania i debugowania skryptów. Dowiesz się także co-nieco o środowisku przeglądarki i zdarzeniach w JS.

Jeśli zaczynasz przygodę z JS, a lubisz poczytać na papierze i mieć wszystko opisane zwięźle i w jednym miejscu, to bierz tą książkę w ciemno.

Zaawansowani odbiorcy

Mniej więcej połowa książki to podstawy. Oznacza to że druga połowa to już wyższy poziom wtajemniczenia, wymagający trochę więcej czasu na przetrawienie. Warto jednak poświęcić ten czas i nawet przeczytać te kolejne rozdziały po kilka razy aż zajarzysz o co chodzi. Autor książki wprowadzi Cię w temat pisania własnych obiektowych aplikacji w JS. Poznasz 12 wzorców implementacji dziedziczenia w JS! Jeśli po przeczytaniu poprzedniego zdania oczy otworzyły Ci się szerzej bądź opadła Ci szczęka, to nie dziwię się. Także byłem pod wrażeniem. Zrozumienie przykładów zaproponowanych w książce wymaga wytężenia umysły, zwłaszcza gdy już jesteś przyzwyczajony do innego rozumienia dziedziczenia, wyniesionego z nauki innego języka programowania. Ale gdy już zrozumiesz będziesz mógł być z siebie dumny.

Czego nie znajdziesz w “JavaScript. Programowanie obiektowe”

Recenzowana książka na pewno nie jest dla tych którzy szukają repozytorium gotowych “wstawek” na stronę WWW. Nie znajdziesz tu także opisu żadnej biblioteki ani frameworka. To dobrze.

W książce brakuje, moim zdaniem, opisu pewnych ogólnych wzorców projektowych JS. Gdyby zostały one zamieszczone to śmiało mógłbym powiedzieć że do nauki JavaScript nie potrzebujesz już niczego więcej.

Publikacja nie zawiera także w sobie ani słowa o standardach pisania w JS oraz testowaniu kodu JS - ale to być może już temat na inną książkę?

Kupować czy nie?

Moim zdaniem, warto mieć w swojej programistycznej biblioteczce książkę “Javascript. Programowanie obiektowe”, zwłaszcza gdy na co dzień zajmujesz się webdevem. Jak wiele książek z cyklu “Technologie i rozwiązania” wydawnictwa Helion, książka Stoyana Stefanova prezentuje wysoki poziom oraz bez owijania w bawełnę uczy jak pisać dobre oprogramowanie.


Zobacz także: