12 knjiga koje bi svaki JavaScript developer trebalo da pročita

Prenosimo tekst Erika Eliota, iskusnog programera koji je podelio svojih top 12 knjiga za čitanje o JavaSciptu.

prenosimo - 18. Oktobar, 2016.

Pred vama je tekst koji je, objavio Erik Eliot, iskusni JavaScript programer i autor knjiga “Programming JavaScript Applications” i “Learn JavaScript with Eric Elliott”. Tekst je adaptiran i prenesen sa Mediuma.


Veliki sam fan knjiga o JavaScriptu. Kroz dugogodišnje učenje tog programskog jezika, imao sam zadovoljstvo da pročitam mnoge od najpopularnijih knjiga na tržištu. Iako se ovih dana trudim da izbegnem one koje su namenjene početnicima, i dalje čitam mnogo knjiga namenjenih developerima sa određenim iskustvom.

Zbog skorašnjeg velikog ES6 update-a, ovo je neobično vreme za JavaScript knjige. Današnja sintaksa i izgled JavaScripta znatno su drugačiji od ES3-ES5 stila koji ćete videti u većini knjiga. Ipak, ES6 je samo nadskup ES5 standarda, tako da sve stare knjige sadrže delove koje možete naučiti i primeniti i dan danas.

Drugim rečima, ranije napisane knjige nisu baš stare, međutim čak i onima koje su stare tek dve godine nazire se đon vremena koji je spreman da ih pregazi. Čitanje tih knjiga izgleda kao da pričate sa 60-ogodišnjakom koji priča žargonom iz 60-ih godina prošlog veka. Ako ste novi u JavaScriptu, možda će vam biti zabavno otkriti šta su old-tajmeri sve radili samo da bi koristili metode nizova na argumentima. U tom slučaju, uživajte u času istorije JS-a.

Neki autori iz JavaScript zajednice su već napisali knjige sa namerom da vas nauče ES6 standardu. Preporučujem da ih pročitate, ali tek nakon što se upoznate sa osnovama JavaScripta. Ako još uvek niste upoznati sa ES6, pročitajte “Kako naučiti ES6”.

Kad-tad, svi autori novih JS knjiga će uzimati ES6 zdravo za gotovo, i tada će se svet knjiga o ovom jeziku vratiti u normalu. Što se tiče mojih preporuka, izlistaću ih u redosledu prema nivou učenja.

JavaScript for Kids: A Playful Introduction to Programming

Autor: Nik Morgan

Kao što i sam naslov kaže, ova knjiga se bavi istraživanjem najosnovnijih koncepta programiranja, ali ne dozvolite da vas to zavara. Knjige za decu nisu samo za decu. Ako ranije niste uopšte kodirali, ovo je sjajno mesto za početak, čak iako ste odrasli. Zaroniti duboko pre nego što znate da plivate može biti bolno i frustrirajuće iskustvo. Bolje je početi sa malim pobedama.

Eloquent JavaScript: A Modern Introduction to Programming

Autor: Marijn Haverbeke

Ova knjiga je umetnost. Prošetaće vas kroz osnovne koncepte jasnim jezikom i stilom. Maestralno je sastavljena i uređena, i za razliku od mnogih knjiga za programiranje, puna je zadataka pomoću kojih možete vežbati svoje znanje. Da ja predajem osnove programiranja u srednjoj školi ili na fakultetu, koristio bih ovu knjigu kao udžbenik.

JavaScript: The Good Parts

Autor: Daglas Krokford

Možda će ovo zvučati čudno, ali kada je ova knjiga pisana, JavaScript je bio mlad i počinjao kao sitan skriptni jezik za pretraživače. U to vreme, developeri koji su bili sposobni da razvijaju ozbiljne aplikacije su tek počeli da otkrivaju svet browsera.

Pre 2004. bilo je veoma retko videti stvarne aplikacije pokrenute u browseru. Te aplikacije nisu bile veoma interaktivne. Zahtevale su ponovno učitavanje stranica kako bi poslale bilo kakve podatke na server i imale su toliku količinu svog prostora za skladištenje da je nije bilo vredno ni komentarisati. JavaScript se koristio primarno u svrhe kreiranja beznačajnog user interface-a kao što su efekti prelaska kursorom preko linka.

JS je bio meta mnogih šala “pravih programera” koji su pisali kod u kompajlerskim jezicima poput C/C++, C# i Javi. Ako ste hteli da uradite neko pravo programiranje za browser, koristili ste flash.

Tih dana, bilo je lako prozivati JavaScript, i činilo se da svi to rade, ali je Daglas Krokford prepoznao da je Brendan Ejč, kreator JavaScripta i suosnivač Mozilla-e, imao nekoliko kečeva u rukavu koji su u to vreme počeli da budu zaista i cenjeni od strane programerskog mejnstrima. Ova knjiga objašnjava osnove tih karakteristika JS-a i može vas ubediti da je ovaj programski jezik zapravo kul.

Programming JavaScript Applications: Robust Web Architecture with Node, HTML5, and Moderns JS Libraries

Autor: Erik Eliot (to sam ja)

Kada sam počeo da zapošljavam JavaScript developere, pogodilo me je kada sam shvatio koliko malo njih ume da iskoristi maksimum iz JS-a u cilju pravljenja snažnih aplikacija. Sa tim na umu, odlučio sam da napišem knjigu koja će pokriti neke od najboljih praksi u ovom programskom jeziku, upozna ljude sa prototipovima, kompozicijom objekata, i bar sa osnovnim konceptima funkcionalnog programiranja (dovoljno da razumeju kako da izgrade i očuvaju tipičnu JavaScript aplikaciju), i onda primene te koncepte na kreiranje nekih od najčešćih struktura koje se javljaju u većini aplikacija, bez obzira na oblast biznisa kojom se bave.

Mnogo knjiga odgovara na pitanje “kako da koristim JavaScript?”. Ja sam hteo da odgovorim na pitanje “kako da koristim JavaScript da kreiram stvarne aplikacije?”.

Tehnologija se promenila dosta u poslednje dve godine od kada je knjiga izdata, ali prema mom iskrenom mišljenju (objektivno koliko god autor to može), to je i dalje najbolji pregled arhitekture JavaScript aplikacija danas na tržištu. Kao dodatak dubljem razumevanju JavaScripta, naučićete i osnove Node-a, RESTful API-a, autentikacije i autorizacije, logovanje i još svašta nešto.

Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript

Autor: Dejvid Herman

Nakon što ste bili izloženi osnovnom JavaScriptu, “Effective JavaScript” će vas sprovesti kroz ovaj programski jezik na temeljniji način, pokazujući primerima lekcije koje će vas učiti programeri koji su majstori svog zanata.

Odmah ćete biti upoznati sa nekima od falinki JavaScripta, od preciznosti decimalnih brojeva, do neobičnih načina na koje js dodaje “;” i menja tipove operandi. Ostatak knjige nastavlja u sličnom stilu, otkrivajući najbolje prakse rada sa funkcijama, objektima, nizovima, bibliotekama i API dizajnom i konkurentnošću. Bez obzira na nivo vaših veština, obećavam vam da ćete naučiti nešto novo.

JavaScript: The Definitive Guide

Autor:  Dejvid Flanagan

“The Definitive Guide” je temeljno istraživanje JavaScripta i API osobina web platformi iz ugla nekog ko je zainteresovan za kreiranje web aplikacija. To je veoma zahtevan pregled sa dosta osobina ovog jezika, prošaran upozorenjima za zastarele verzije Internet Explorera koje verovatno možete da ignorišete u ovom trenutku istorije. Do sada je bilo šest izdanja ove knjige i ja se nadam da će ih biti još. Imao sam prethodna izdanja, a sa svakim sledećim naučim nešto novo.

You Don’t Know JS

Autor: Kyle Simpson

Ovo je jedna zaista dobra serija knjiga — sve slične stilom i obimom, neke veće od drugih u seriji, ali sve od njih su zaista dobre.

Programiram u JavaScriptu već dugo vremena. Učio sam različite verzije ovog programskog jezika i pomno pratio razvoj novih verzija , ali me je Kajlova duboka očaranost otkrivanjem zavučenih ćoškova naterala da otkrijem još neke delove ovog jezika do kojih još uvek nisam uspeo da dođem.

Ono što nećete naći u ovim knjigama je mnogo priče o softverskoj arhitekturi, duboke programerske mudrosti ili priče o principima softverskog dizajna koji se lako mogu primeniti i u drugim jezicima. No, svakako će vam pomoći u dubljem razumevanju JavaScripta.

JavaScript Allonge: The Six Edition

Autor: Redžinald Brejtvejt

JavaScript Allonge je u svojoj osnovi knjiga o razmišljanju u funkcijama — o pravljenju fleksibilnog softvera od malih, odvojenih jedinica.

S tim u vezi, ova knjiga vam neće dati konkretne recepte i postupke. Iz uvoda:

JavaScript Allonge ne pokušava da naglasi pitanje najboljih praksi u JavaScriptu, zato što JavaScript Allongé nije knjiga o vežbanju, već knjiga o razmišljanju.

Kako budete čitali knjigu, shvataćete da autor ispunjava svoja obećanja. Ovo definitivno ne bi trebalo da bude prva JavaScript knjiga koju ćete pročitati.

“Produženi JavaScript” bi trebalo da pročitate tek nakon što već možete da radite “tečno” u JavaScriptu, i kada budete spremni da otkrivate kombinacije tehnika funkcionalnog i objektno orijentisanog programiranja.

Professor Frisby’s Mostly Adequate Guide to Functional Programming

Autor: Brajan Lonsdorf

Knjiga je nezavršena, ali je svejedno pročitajte.

I ne, niste glupi. Veoma je teško naučiti funkcionalno programiranje. Ja ga polako učim već mnogo godina i osećam kao da sam tek zagrebao površinu (pomirio sam se sa sobom da taj osećaj nikad neće nestati). Srećom, profesor Frizbi je divan vodič.

Svet funkcionalnog programiranja je pun termina iz lambda računa, algebre i teorije kategorija. U ovoj akademskoj džungli, veoma je lako zaglaviti se i osetiti se izgubljeno. Međutim, ton profesora Frizbija je energičan i zabavan. Evo primera iz video serijala povezanog sa knjigom:

Kada bi samo sve programerske knjige bile zabavne dok nas tuku novim, teškim i izazovnim konceptima u naše debele lobanje. Ovo je knjiga koju ćete možda poželeti da pročitate više puta, i za razliku od mnogih drugih izazovnih knjiga iz oblasti računarski nauka, u ovoj ćete i uživati.

Node.js in Action

Autori: Majk Kentlon, Mark Harter, TJ Holovajčuk i Natan Rajlič

“Node.js u akciji” je odličan uvod u osnove razvoja Node aplikacija pokrivajući osnovne teme poput HTTP/HTTPS, Connect/Express midlver, poruke u realnom vremenu sa Socket.IO, korišćenje baza podataka i tako dalje. Ako ste novi u Node-u, ovo je odlično mesto za početi.

High Performance Browser Networking

Autor: Ilja Grigorik

Teško je prenaglasiti važnost odličnih performansi aplikacije. Skraćivanje milisekundi sa vremena učitavanja stranice i poboljšavanje korisničkog interfejsa je investicija u koju vredi uložiti vreme i znanje.

Ova knjiga pokriva veoma značajne teme vezane za performanse, kao što su HTTP2, strimovanje podataka, WebSockets, WebRTC, DataChannel, i tako dalje.

Drugim rečima, ova knjiga je krajnji vodič za izgradnju uspešnije aplikacije kroz optimizaciju njenih performansi.

Web Audio API

Autor: Boris Smus

Čak je i pravoj rok zvezdi JavaScripta potrebna ova knjiga. Na kraju krajeva, niste prava JS rok zvezda ako ne uključite svoju gitaru u browser. Znam da sam rekao da su ovo knjige koje bi “svaki developer trebalo da pročita”, ali ova je samo za one programere koji vole da se igraju sa zvukovima i muzikom. Mnogi JavaScript developeri mogu da se izvuku a da nikad ne nauče ovaj API, i to naravno neće nauditi njihovoj karijeri — ali to je dosadno.

Ova knjiga je na mojoj listi pre svega jer ja volim muziku i audio inženjering. Web audio API je zapravo sistem povezanih API-a koji generišu i manipulišu zvukovima koristeći web standarde. Možete ih koristiti u browseru i u Node-u.

U svakom slučaju, knjiga je zaista zabavna.