12 книги, които всеки програмист на JavaScript трябва да чете

Забележка: На снимката случайна колекция от уеб разработчици.

Аз съм голям фен на книгите с JavaScript. Като дългогодишен обучител на JavaScript, имах удоволствието да прочета много от популярните книги на JavaScript на пазара. В наши дни съм склонен да пропускам онези, насочени към класиране на новаците, но все пак чета много книги, предназначени за разработчици на JavaScript с малко опит.

Това е странно време за книгите с JavaScript. Тъй като току-що получихме основна актуализация на езика на JavaScript в ES6, днешният синтаксис и стил на JavaScript изглежда доста по-различен от JavaScript в стил ES3-ES5, който ще видите обсъден в повечето книги, но тъй като ES6 наистина е просто суперсет от ES5, повечето от старите книги имат самородки за учене, които все още се прилагат.

С други думи, старите книги не са остарели, те просто показват възрастта си малко - дори тези, издадени само преди 2 години. Може да изглежда като разговор с възрастен гражданин, който все още използва жаргон от 60-те. Ако сте нов в JavaScript, може да е забавно да откриете всички луди хакове, използвани от старите таймери, само за да използвате методите на масив за аргументи. Насладете се на урока по история на JS.

Някои автори от общността на JavaScript са написали книги, предназначени да ви научат на ES6. Препоръчвам да ги прочетете, след като сте се запознали малко с основния JavaScript. Ако все още не знаете ES6, прочетете „Как да научите ES6“.

В крайна сметка всички нови автори на JS книги ще приемат ES6 за даденост и тогава JS книжният свят ще се върне към нормалното. Ще изброя препоръките си приблизително в ред на обучение.

Както и в другите ми публикации за книги, връзките в Amazon са партньорски връзки и част от парите, които харчите, ще бъдат използвани за борба с бездомността с JSHomes.

Стига да говорим. Донеси книгите!

Книгите

  1. „JavaScript за деца: игриво въведение в програмирането“ от Ник Морган

Вярно на заглавието, тази книга е капризно проучване на много основни програмни концепции, но не позволявайте това да ви заблуди. Книгите за деца не са само за деца. Ако никога досега не сте докосвали кода, това е доброто място за начало, дори ако всички сте пораснали. Гмуркането в дълбокия край, преди да се научите как да плувате, може да бъде смущаващо изживяване. По-добре е да започнете практиката си с няколко лесни печалби.

2. „Съставяне на софтуер“ от Ерик Елиът (отказ от отговорност: Това съм аз) е изследване на функционалното програмиране и композицията на обекти в JavaScript. Цялата софтуерна разработка е композиция: актът на разбиване на сложни проблеми на по-малки проблеми и съставяне на тези решения. Повечето разработчици имат ограничено разбиране на композиционните техники. Време е това да се промени.

В „Съставяне на софтуер“ Ерик Елиът споделя основите на композицията, включително както функционалната композиция, така и композиционната композиция и ги изследва в контекста на JavaScript. Книгата обхваща основите както на функционалното програмиране, така и на обектно ориентираното програмиране, за да помогне на читателя да разбере по-добре как да изгради и структурира сложни приложения, използвайки прости строителни блокове.

3. „Красноречив JavaScript: Съвременно въведение в програмирането“ от Marijn Haverbeke

Тази книга е произведение на изкуството. Преминава през основните понятия с ясна пътна карта, използвайки ясен език. Той е майсторски съставен и редактиран и за разлика от повечето книги за програмиране, той е пълен с упражнения за вас. Ако преподавах основите на програмирането в гимназията или колежа, щях да използвам това като учебник.

4. „JavaScript: Добрите части“ от Дъглас Крокфорд

Може да изглежда абсурдно сега, но когато тази книга беше написана, JavaScript все още беше млад език, който започна живота като мъничък скриптов език в браузърите. По онова време браузърите тепърва започват да се изследват от сериозни разработчици на приложения.

Преди 2004 г. беше много рядко да видите реални приложения, работещи в браузър. Браузърът почти не беше интерактивен. Изискваше презареждане на страници за предаване на каквито и да било данни към сървъра, той нямаше собствен капацитет за съхранение, за който си струва да говорим. JavaScript се използва главно за създаване на тривиални ефекти на потребителски интерфейс като състояния на мишката на мишката.

JavaScript беше целта на много шеги от „истински програмисти“, които написаха код на компилирани езици като C / C ++, C # и Java. Ако искате да направите каквото и да е истинско програмиране за браузъра, използвах флаш.

В онези дни беше лесно да се осмива JavaScript и изглежда, че всички го правят, но Дъглас Крокфорд призна, че Брендън Айч крие някои самородки на езика, които едва сега започват да се оценяват истински от програмните маси. Тази книга изследва основите на тези функции и може да ви даде нова оценка за това колко специален и готин JavaScript наистина е.

5. „Програмиране на JavaScript приложения: Здрава уеб архитектура с Node, HTML5 и Moderns JS библиотеки“ от Ерик Елиът (това съм аз)

Когато започнах да наемам разработчици на JavaScript за изграждане на приложения, наистина ме впечатли колко малко от тях разбраха как да впрегнат JavaScript за изграждане на здрава архитектура на приложенията. Имайки това предвид, реших да напиша книга, която да обхване някои от най-добрите практики в JavaScript, да запозная хората с прототипи, композиция на обекти и поне основните понятия на функционалното програмиране (достатъчно, за да разбера как да се изгради и поддържа типично JavaScript приложение) и след това приложете тези концепции за изграждане на някои от често срещаните проблеми, които възникват в повечето приложения, независимо от бизнес областта на приложението.

Много книги отговарят на въпроса „как да използвам JavaScript?“ Исках да отговоря на въпроса „как да използвам JavaScript, за да изградя истинско приложение?“

Технологиите много се промениха през двете години, откакто издадохме книгата, но според моето честно мнение (колкото и обективна да е авторът), тя все още е най-добрият преглед на архитектурата на приложението JavaScript на пазара днес. В допълнение към задълбочаването на разбирането за JavaScript, ще научите за основите на Node, RESTful API, автентификация и упълномощаване, функции за превключване на функции, регистриране и други.

6. „Ефективен JavaScript: 68 конкретни начина за използване на силата на JavaScript“ от Дейвид Херман

След като сте изложили основна експозиция на JavaScript, „Ефективен JavaScript“ ще ви отведе в екскурзоводска екскурзия на езика в по-голяма дълбочина, показвайки на пример уроци, преподавани от майстор програмист, подправен в неговия занаят.

Веднага ще бъдете запознати с някои измислици на JavaScript, от прецизност на числото с плаваща запетая (тъй като JavaScript има само един тип число и е тип с плаваща запетая), до странности на тип коерциони и вмъкване на запетая. Останалата част от книгата продължава в същия стил, изследвайки най-добрите практики за работа с функции, обекти, масиви, дизайн на библиотеки и API и паралелност. Независимо от нивото на вашите умения, обещавам, че ще научите нещо ново.

7. „JavaScript: окончателното ръководство“ от Дейвид Фланаган

The Definitive Guide е задълбочено проучване на функциите на JavaScript и API на уеб платформата от гледна точка на някой, който се интересува от изграждането на уеб приложения. Това е доста задълбочен преглед на много езикови функции, поръсени с предупреждения за стари версии на IE, които вероятно можете безопасно да игнорирате в този момент. Има шест издания на книгата и се надявам да предстоят още много издания. Притежавал съм предишни издания и винаги научавам нещо ново, когато излезе ново.

8. „Ти не знаеш JS“ от Кайл Симпсън

Тази наистина е поредица от книги - всички подобни по стил и обхват, някои от тях по-големи от други и всички много добри.

Програмирам в JavaScript отдавна. Проучих множество версии на спецификациите на JavaScript и следях отблизо разработването на нови версии на спецификацията, но все пак дълбокото очарование на Кайл с проучването на всички малки кътчета и ръкове успя да разкрие много битове на езика, които все още не бях открил или изследвал ,

Ако смятате, че „The Definitive Guide“ е дълбоко гмуркане, извадете си екипировката за гмуркане и подгответе своя дълбоководен потапящ океански изследовател. Ще видите някои видове JavaScript, които никой човек досега не е срещал (добре, преди да е написана тази серия).

Това, което няма да намерите в тази серия, е много да се говори за софтуерна архитектура, дълбока мъдрост на програмиста или изобилие от принципи за софтуерно проектиране, които лесно ще обхванат много различни езици. Но със сигурност ще ви помогне да придобиете нова оценка и по-задълбочено разбиране на JavaScript. Единственият фокус на Кайл върху дълбокото гмуркане в езиковите характеристики е рядко съкровище, от което си мисля, че дори екипът на TC39 може да научи нещо.

9. „JavaScript Allongé: The Six Edition“ от Реджиналд Брайтвайт

JavaScript Allongé по своята същност е книга за мисленето във функциите. Изграждане на гъвкав софтуер от малки, отделени устройства.

Това каза, че се опитва да не е прекалено предписващ или изразяващ увереност. Заеми от въвеждането:

„JavaScript Allongé не се опитва да отговори на въпроса за най-добрите практики на JavaScript в по-широкия контекст на разработката на софтуер, тъй като JavaScript Allongé не е книга за практикуване, а книга за мислене.“

Докато четете книгата, ще разберете, че авторът спазва обещанията си. Това определено не трябва да е първата книга на JavaScript, която сте прочели. Reginald въвежда прости понятия като `const` чрез бавно изграждане чрез теми за обхват на междинните функции като IIFE и затваряния, след като демонстрира частични приложения и изрази на изкривени функции.

Повечето уводни книги с JavaScript разумно започват с обсъждане на стойности и как да се представят тези стойности с връзки, като се използват `var`,` let` или `const`. Реджиналд прелита ритъма по уважителна причина - той ще накара мозъка ви да танцува. Книгата се опитва да ви помогне да мислите различно и дълбоко за функциите и тя работи.

Трябва да го прочетете, след като работите добре с JavaScript, когато сте готови да започнете да проучвате как да комбинирате функционални и обектно ориентирани техники за програмиране за изграждане на JavaScript приложения.

10. „Node.js в действие“ от Майк Кантелон, Марк Хартер, Т. Дж. Холовайчук и Нейтън Райлич

„Node.js в действие“ е чудесно въведение в основни разработки на приложения за Node, обхващащи основни теми като HTTP / HTTPS, междинен софтуер за свързване / експрес, съобщения в реално време със Socket.IO, използване на бази данни и т.н. Ако сте нов в Node, това е чудесно място да започнете.

11. „Високопроизводителна мрежа за браузъри“ от Иля Григорик

Трудно е да се прекали значението на страхотната ефективност на приложението. Бръсненето на милисекунди от времето за зареждане на страницата и намаляването на джънк UI доставят инвестиционни възвръщаемости, които могат да бъдат съпоставени само с голям ремонт на потребителски интерфейс.

Тази книга обхваща съображения за висока производителност като HTTP2, поточно предаване на данни, WebSockets, WebRTC, DataChannel и т.н.

С други думи, тази книга е окончателното ръководство за изграждане на по-успешно приложение чрез оптимизиране на профила му на производителност.

12. „Web Audio API“ от Борис Смус

Всеки истински JavaScript Rock Star се нуждае от тази книга. В крайна сметка не сте истинска рок звезда на JS, докато не включите китарата си в уеб браузъра си. Знам, че казах, че това са книги „всеки JavaScript разработчик трябва да чете“, но този е само за разработчици на JavaScript, които обичат да играят със звуци и музика. Повечето разработчици на JavaScript биха могли да се разминат с това, че никога не учат този API и изобщо няма да им навреди - но това е скучно.

Тази книга е в моя списък преди всичко, защото обичам музика и аудио инженерство. API за уеб аудио всъщност е система от свързани API за генериране и манипулиране на звук, използвайки стандартите на уеб платформата. Можете да го използвате в браузъри и в Node.

За да използвате уеб аудио API, манипулирате възлите в графика. Обикновено бих ви насочил към удобна справка, но освен ако не сте аудио инженер, може да се почувствате претоварени. Тази книга ви води през различните видове аудио възли и ви учи как да ги тъчете заедно, да работите с API за синхронизиране за точното планиране на звуци, манипулиране на параметри във времето, прилагане на аудио ефекти и дори създаване на аудио визуализации.

С други думи, много е забавно.

Започнете безплатния си урок на EricElliottJS.com

Ерик Елиът е автор на книгите „Съставяне на софтуер“ и „Програмиране на JavaScript приложения“. Като съосновател на EricElliottJS.com и DevAnywhere.io, той обучава разработчиците на основни умения за разработка на софтуер. Той създава и съветва разработващи екипи за крипто проекти и е допринесъл за софтуерни преживявания за Adobe Systems, Zumba Fitness, The Wall StreetJournal, ESPN, BBC и най-добрите звукозаписни изпълнители, включително Usher, Frank Ocean, Metallica и много други.

Той се радва на отдалечен начин на живот с най-красивата жена в света.