12 knygų, kurias turėtų skaityti kiekvienas „JavaScript“ kūrėjas

Pastaba: nuotraukoje parodyta atsitiktinių internetinių dev knygų kolekcija.

Aš esu didelis „JavaScript“ knygų gerbėjas. Būdamas ilgametis „JavaScript“ mokytis, turėjau malonumą skaityti daugybę rinkoje populiarių „JavaScript“ knygų. Šiomis dienomis esu linkęs praleisti tuos, kurie yra skirti naujokams reitinguoti, tačiau vis tiek skaičiau daug knygų, skirtų „JavaScript“ kūrėjams, turintiems mažai patirties.

Tai keistas „JavaScript“ knygų laikas. Kadangi ką tik gavome esminį „JavaScript“ kalbos pakeitimą ES6 kalba, šiandieninė „JavaScript“ sintaksė ir stilius atrodo visai kitaip nei „ES3-ES5“ stiliaus „JavaScript“, kurį pamatysite aptarę daugelyje knygų, tačiau todėl, kad ES6 iš tikrųjų yra tik ES5 pakeitimas, dauguma senųjų knygų turi mokymosi grynuolių, kurie vis dar taikomi.

Kitaip tariant, senosios knygos nėra pasenusios, jos tik parodo šiek tiek savo amžių - net ir tos, kurios buvo išleistos tik prieš 2 metus. Gali atrodyti, kad kalbėtumėtės su vyresnio amžiaus piliečiu, kuris vis dar naudoja slengą nuo 60-ųjų. Jei dar nesinaudojote „JavaScript“, gali būti smagu atrasti visus pamišimus, kuriuos senieji laikytojai taikė taikydamiesi tiesiog naudodami masyvo metodus. Mėgaukitės JS istorijos pamoka.

Kai kurie „JavaScript“ bendruomenės autoriai parašė knygas, skirtas išmokyti jus ES6. Aš rekomenduoju perskaityti juos, kai šiek tiek susipažinote su pagrindiniu „JavaScript“. Jei dar nežinote ES6, skaitykite „Kaip išmokti ES6“.

Galų gale visi nauji JS knygų autoriai laikys ES6 savaime suprantamu dalyku, o tada JS knygų pasaulis grįš į normalią būseną. Apytiksliai pateiksiu savo rekomendacijas mokymosi tvarka.

Kaip ir kituose mano knygų straipsniuose, „Amazon“ nuorodos yra dukterinės nuorodos, o dalis jūsų išleistų pinigų bus panaudota kovai su benamyste su „JSHomes“.

Užteks pasikalbėti. Išnešk knygas!

Knygos

  1. „Java kalba vaikams: žaismingas įvadas į programavimą“, autorius Nickas Morganas

Tiesa, atsižvelgiant į pavadinimą, ši knyga yra įnoringas labai paprastų programavimo sąvokų tyrinėjimas, tačiau neleiskite, kad tai kvailys. Knygos vaikams yra ne tik vaikams. Jei niekada anksčiau neliečiate kodo, tai yra gera vieta pradėti, net jei visi esate suaugę. Nardymas gilumoje prieš mokantis plaukti gali būti nelinksma. Geriau pradėti savo praktiką su lengvais laimėjimais.

2. Eriko Ellioto „Komponavimo programinė įranga“ (atsakomybės atsisakymas: tai aš) yra funkcinio programavimo ir objektų kompozicijos tyrimas „JavaScript“. Visas programinės įrangos dizainas yra kompozicija: sudėtingas problemas suskaido į mažesnes problemas ir sudedi tuos sprendimus. Daugelis kūrėjų turi ribotą supratimą apie kompozicijos techniką. Laikas tam pasikeisti.

„Kompozicijos kūrimo programoje“ Ericas Elliotas dalijasi kompozicijos pagrindais, įskaitant ir funkcijų kompoziciją, ir objektų kompoziciją, ir tyrinėja juos „JavaScript“ kontekste. Knygoje aprašomi tiek funkcinio programavimo, tiek objektinio programavimo pagrindai, kad skaitytojas galėtų geriau suprasti, kaip sukurti ir susisteminti sudėtingas programas naudojant paprastus statybinius blokus.

3. Marijn Haverbeke „Eloquent JavaScript: modernus įvadas į programavimą“

Ši knyga yra meno kūrinys. Jame paaiškinamos pagrindinės sąvokos, pateikiant aiškų planą, naudojant aiškią kalbą. Jis meistriškai sudarytas ir redaguotas, ir, skirtingai nei daugelyje programavimo knygų, jame pilna praktikos pratimų. Jei aš mokyčiau programavimo pagrindų vidurinėje mokykloje ar kolegijoje, tai panaudočiau kaip vadovėlį.

4. „JavaScript: geros dalys“, autorius Douglas Crockford

Dabar tai gali atrodyti absurdiška, bet kai ši knyga buvo parašyta, „JavaScript“ vis dar buvo jauna kalba, kuri gyvenimą pradėjo kaip mažą scenarijų kalbą naršyklėse. Tuo metu naršykles dar tik pradėjo tyrinėti rimti programų kūrėjai.

Iki 2004 m. Labai retai buvo galima pamatyti tikras programas, veikiančias naršyklėje. Naršyklė buvo vos ne interaktyvi. Norint perduoti bet kokius duomenis į serverį, reikėjo iš naujo įkelti puslapį, jis neturėjo jokios saugyklos talpos, apie kurią būtų verta kalbėti. „JavaScript“ pirmiausia buvo naudojamas kuriant nereikšmingus vartotojo sąsajos efektus, tokius kaip pelės užvedimo būsenos.

„JavaScript“ buvo daugelio „tikros programuotojų“, rašančių kodą sudarytomis kalbomis, tokiomis kaip C / C ++, C # ir „Java“, anekdotų taikinys. Jei norėjote atlikti kokį nors realų naršyklės programavimą, naudojote blykstę.

Tais laikais buvo lengva išjuokti „JavaScript“ ir, atrodė, visi tai darė, tačiau Douglasas Crockfordas pripažino, kad Brendanas Eichas paslėpė kai kuriuos grynuolius kalba, kurios tik dabar pradeda būti vertinamos programavimo masių. Šioje knygoje nagrinėjami šių funkcijų pagrindai ir gali būti naujai įvertinta, kaip ypatinga ir šauni „JavaScript“ yra.

5. „Java“ programų programavimas: tvirta interneto architektūra su mazgu, HTML5 ir „Moderns JS“ bibliotekomis “, autorius Ericas Elliott (tai aš)

Kai pradėjau samdyti „JavaScript“ kūrėjus, kad sukurtų programas, tikrai nustebino, kaip nedaugelis iš jų suprato, kaip panaudoti „JavaScript“, kad būtų sukurta tvirta programų architektūra. Turėdamas tai omenyje, nusprendžiau parašyti knygą, kurioje būtų aprašyta geriausia „JavaScript“ praktika, supažindinti žmones su prototipais, objektų kompozicijomis ir bent jau pagrindinėmis funkcinio programavimo sąvokomis (pakankamai, kad suprastume, kaip sukurti ir prižiūrėti tipišką „JavaScript“ programą). ir tada pritaikykite šias sąvokas kurdami bendrus rūpesčius, kylančius daugelyje programų, neatsižvelgiant į programų verslo sritį.

Į daugybę knygų atsakoma į klausimą: „Kaip naudoti„ JavaScript “?“ Norėjau atsakyti į klausimą: „Kaip naudoti„ JavaScript “, kad sukurtų realią programą?“

Per dvejus metus, kai išleidome knygą, technologijos labai pasikeitė, tačiau, mano sąžininga nuomone (objektyvus gali būti ir autorius), ji vis dar yra geriausia „JavaScript“ programų architektūros apžvalga šiandien. Be to, kad pagilinsite „JavaScript“ supratimą, sužinosite ir apie mazgo pagrindus, RESTful API, autentifikavimą ir autorizavimą, funkcijų perjungimo sistemas, registravimą ir dar daugiau.

6. Dabartinis „JavaScriptas: 68 konkretūs būdai panaudoti„ JavaScript “galią“, autorius Davidas Hermanas

Kai tik turėsite pagrindinį „JavaScript“ poveikį, „Efektyvus„ JavaScript “pateks į gilesnį ekskursiją po kalbą, parodydamas pamokas, kurias mokė meistras, patyręs savo amatą.

Iškart būsite supažindinti su kai kuriomis „JavaScript“ keiksmažodžiais, pradedant nuo kintamojo taško skaičiaus tikslumo (nes „JavaScript“ yra tik vienas skaičių tipas, o tai yra slankiojo kablelio tipas), iki tipinių prievartų ir kabliataškio įterpimo keistenybių. Likusi knygos dalis tęsiama tuo pačiu stiliumi, nagrinėjant geriausią praktiką dirbant su funkcijomis, objektais, masyvais, bibliotekos ir API dizainu bei suderinamumu. Nepaisant jūsų įgūdžių lygio, pažadu, kad išmoksite kažko naujo.

7. „JavaScript: galutinis vadovas“, autorius Davidas Flanaganas

Galutinis vadovas yra gilus „JavaScript“ ir žiniatinklio platformos API funkcijų tyrinėjimas iš kažkieno, besidominčio internetinių programų kūrimu. Tai gana išsami daugelio kalbos funkcijų apžvalga, apibarstyta įspėjimais apie senas IE versijas, kurias šiuo metu tikriausiai galite saugiai ignoruoti. Buvo išleisti šeši knygos leidimai, tikiuosi, kad ateis dar daug leidimų. Aš turėjau ankstesnius leidimus ir visada išmokau ko nors naujo, kai išleidžiamas naujas.

8. Kyle'as Simpsonas „Jūs nežinote JS“

Tai iš tikrųjų knygų serija - visos jos panašios savo stiliumi ir apimtimi, kai kurios iš jų yra didesnės už kitas, ir visos jos yra labai geros.

Aš ilgą laiką programuoju „JavaScript“. Aš ištyriau kelias „JavaScript“ specifikacijų versijas ir atidžiai stebėjau naujų specifikacijos versijų kūrimą, tačiau giliai sužavėjęs Kyle'ą, tyrinėdamas visus mažus kampelius ir raktikaulius, sugebėjau atskleisti daugybę kalbos dalių, kurių dar nesu atradęs ar tyręs. .

Jei manėte, kad „Galutinis vadovas“ yra gilus nardymas, išsukite savo akvalango įrangą ir paruoškite giluminio povandeninio vandenyno tyrinėtoją. Jūs ruošiatės pamatyti kai kurias „JavaScript“ rūšis, su kuriomis anksčiau niekas nėra susidūręs (šiaip ar taip, prieš rašydamas šią seriją).

Tai, ko nerasite šioje serijoje, yra daug kalbėta apie programinės įrangos architektūrą, gilią programuotojo išmintį ar daugybę programinės įrangos projektavimo principų, kurie lengvai apims daugybę skirtingų kalbų. Bet tai tikrai padės jums įgyti naują supratimą ir gilesnį „JavaScript“ supratimą. Ypatingas Kyle'o dėmesys gilinantis į kalbos ypatybes yra retas lobis, iš kurio įsivaizduoju net TC39 komanda galėtų ko nors išmokti.

9. „JavaScript Allongé: šeši leidimai“, pateikė Reginald Braithwaite

„JavaScript Allongé“ iš esmės yra knyga apie mąstymą funkcijose. Kurkite lanksčią programinę įrangą iš mažų, atsietų vienetų.

Nepaisant to, stengiamasi ne per daug įsakmiai išdėstyti ar pareikšti savo nuomonę. Pasiskolinkite iš įžangos:

„„ JavaScript Allongé “nebando išspręsti geriausios„ JavaScript “praktikos klausimų platesniame programinės įrangos kūrimo kontekste, nes„ JavaScript Allongé “nėra knyga apie praktiką, tai yra knyga apie mąstymą“.

Skaitydami knygą suprasite, kad autorius laikosi savo pažadų. Tai tikrai neturėtų būti pirmoji jūsų skaityta „JavaScript“ knyga. „Reginald“ pristato paprastas sąvokas, tokias kaip „const“, lėtai kurdamas tarpines funkcijų apimties temas, tokias kaip IIFE ir uždarymus, parodydamas dalinį pritaikymą ir kreivas funkcijų išraiškas.

Daugelis įvadinių „JavaScript“ knygų išmintingai prasideda kalbant apie vertybes ir tai, kaip tas reikšmes atvaizduoti įrišant, naudojant „var“, „let“ arba „const“. Reginaldas verčia plakti dėl rimtos priežasties - jis turės tavo smegenis šokti. Knyga bando padėti kitaip ir giliau galvoti apie funkcijas, ir ji veikia.

Turėtumėte perskaityti jį, kai jau esate susipažinęs su „JavaScript“, kai būsite pasirengę pradėti tyrinėti, kaip sujungti funkcinius ir objektų programavimo metodus, kad būtų sukurtos „JavaScript“ programos.

10. Mike Cantelon, Marc Harter, TJ Holowaychuk ir Nathan Rajlich „Node.js in Action“.

„Node.js veikia“ yra puikus įvadas į pagrindinio mazgo programų kūrimą, apimantis tokias svarbias temas kaip HTTP / HTTPS, „Connect / Express“ tarpinė programinė įranga, pranešimai realiuoju laiku su „Socket.IO“, duomenų bazių naudojimas ir pan. Jei dar nesate naujokas „Node“, tai yra puiki vieta pradėti.

11. „Didelio našumo naršyklių tinklai“, autorius Ilja Grigorik

Sunku pervertinti puikių programų našumo svarbą. Skutimas milisekundžių nuo puslapio įkėlimo laiko ir UI lizdo sumažinimas suteikia investicijų grąžą, kurią gali pasiekti tik atlikę puikų vartotojo sąsajos dizaino kapitalinį remontą.

Šioje knygoje aptariami didelio poveikio našumo aspektai, tokie kaip HTTP2, duomenų srautas, „WebSockets“, „WebRTC“, „DataChannel“ ir kt.

Kitaip tariant, ši knyga yra aiškus vadovas, kaip sukurti sėkmingesnę programą, optimizuojant jos veikimo profilį.

12. Boriso Smuso „Web Audio API“

Ši knyga reikalinga kiekvienam tikram „JavaScript Rock Star“. Juk jūs nesate tikra JS roko žvaigždė, kol neįjungiate gitaros į savo interneto naršyklę. Aš žinau, kad sakiau, jog tai knygos, kurias „turėtų skaityti kiekvienas„ JavaScript “kūrėjas“, tačiau ši knyga skirta tik „JavaScript“ kūrėjams, mėgstantiems žaisti su garsais ir muzika. Daugelis „JavaScript“ kūrėjų galėtų atsikratyti niekada neišmokdami šios API ir tai jiems visai nepakenktų - bet tai nuobodu.

Ši knyga yra mano sąraše pirmiausia todėl, kad man patinka muzika ir garso inžinerija. Žiniatinklio garso API iš tikrųjų yra susijusių API, skirtų garsui generuoti ir valdyti, naudojant žiniatinklio platformos standartus, sistema. Galite naudoti jį naršyklėse ir mazge.

Norėdami naudoti žiniatinklio garso API, manipuliuojate mazgais grafike. Paprastai aš norėčiau jus nukreipti tik į naudingą nuorodą, bet jei nesate garso inžinierius, galite jaustis šiek tiek priblokšti. Ši knyga padės jums peržvelgti įvairius garso mazgus ir išmokyti juos pinti kartu, naudoti laiko nustatymo API, kad būtų galima tiksliai suplanuoti garsus, laikui bėgant manipuliuoti parametrais, pritaikyti garso efektus ir net sukurti garso vizualizacijas.

Kitaip tariant, tai labai smagu.

Pradėkite nemokamą pamoką svetainėje EricElliottJS.com

Erikas Elliotas yra knygų „Programinės įrangos kūrimas“ ir „Programų kūrimas„ JavaScript “programose“ autorius. Kaip „EricElliottJS.com“ ir „DevAnywhere.io“ vienas iš įkūrėjų, jis moko kūrėjus būtiniausius programinės įrangos kūrimo įgūdžius. Jis kuria ir pataria kriptovaliutų kūrimo komandoms bei prisideda prie programinės įrangos patirties „Adobe Systems“, „Zumba Fitness“, „The Wall StreetJournal“, ESPN, BBC ir geriausių įrašų atlikėjų, įskaitant Usherį, Franką Oceaną, „Metallica“ ir daugelį kitų.

Jis mėgsta nuotolinį gyvenimo būdą su gražiausia moterimi pasaulyje.