12 libri che ogni sviluppatore JavaScript dovrebbe leggere

Nota: raccolta casuale di libri di sviluppo web nella foto.

Sono un grande fan dei libri JavaScript. Essendo uno studente di JavaScript di lunga data, ho avuto il piacere di leggere molti dei libri JavaScript più diffusi sul mercato. In questi giorni tendo a saltare quelli destinati a classificare i neofiti, ma leggo ancora molti libri destinati agli sviluppatori JavaScript con una piccola esperienza.

Questo è un momento strano per i libri JavaScript. Poiché abbiamo appena ricevuto un importante aggiornamento del linguaggio JavaScript in ES6, la sintassi e lo stile JavaScript di oggi sembrano abbastanza diversi dallo stile JavaScript ES3-ES5 che vedrai discusso nella maggior parte dei libri, ma poiché ES6 è davvero solo un superset di ES5, la maggior parte dei vecchi libri hanno pepite di apprendimento che si applicano ancora.

In altre parole, i vecchi libri non sono obsoleti, stanno solo mostrando un po 'la loro età, anche quelli pubblicati solo 2 anni fa. Potrebbe sembrare di parlare con un anziano che usa ancora il gergo degli anni '60. Se non hai familiarità con JavaScript, potrebbe essere divertente scoprire tutti gli hacker pazzi che i vecchi timer usavano sopportare solo per usare i metodi array su argomenti. Goditi la lezione di storia di JS.

Alcuni autori della comunità JavaScript hanno scritto libri per insegnarti ES6. Ti consiglio di leggerli dopo aver acquisito una certa familiarità con JavaScript di base. Se non conosci ancora ES6, leggi "Come imparare ES6".

Alla fine, tutti i nuovi autori di libri JS daranno per scontato ES6, e quindi il mondo dei libri JS tornerà alla normalità. Elencherò i miei consigli approssimativamente in ordine di apprendimento.

Come per i miei altri post di libri, i link di Amazon sono link di affiliazione e una parte del denaro speso verrà utilizzata per combattere i senzatetto con JSHomes.

Basta parlare. Tira fuori i libri!

I libri

  1. "JavaScript per i bambini: una giocosa introduzione alla programmazione" di Nick Morgan

Fedele al titolo, questo libro è un'esplorazione stravagante di concetti di programmazione molto basilari, ma non lasciarti ingannare. I libri per bambini non sono solo per bambini. Se non hai mai toccato il codice prima, questo è un buon punto di partenza, anche se sei cresciuto. Immergersi in profondità prima di imparare a nuotare può essere un'esperienza frustrante. È meglio iniziare la tua pratica con alcune facili vittorie.

2. "Composing Software" di Eric Elliott (dichiarazione di non responsabilità: sono io) è un'esplorazione della programmazione funzionale e della composizione degli oggetti in JavaScript. Tutta la progettazione del software è composizione: l'atto di scomporre problemi complessi in problemi minori e comporre quelle soluzioni. La maggior parte degli sviluppatori ha una conoscenza limitata delle tecniche compositive. È tempo che cambi.

In "Software di composizione", Eric Elliott condivide i fondamenti della composizione, compresa la composizione delle funzioni e la composizione degli oggetti, e li esplora nel contesto di JavaScript. Il libro tratta i fondamenti della programmazione funzionale e della programmazione orientata agli oggetti per aiutare il lettore a comprendere meglio come costruire e strutturare applicazioni complesse usando semplici elementi costitutivi.

3. "Eloquent JavaScript: una moderna introduzione alla programmazione" di Marijn Haverbeke

Questo libro è un'opera d'arte. Ti guida attraverso i concetti essenziali con una roadmap chiara usando un linguaggio chiaro. È magistralmente composto e modificato e, a differenza della maggior parte dei libri di programmazione, è pieno di esercizi da esercitarsi. Se insegnassi le basi della programmazione al liceo o al college, lo userei come un libro di testo.

4. "JavaScript: le parti buone" di Douglas Crockford

Adesso può sembrare assurdo, ma quando questo libro è stato scritto, JavaScript era ancora un linguaggio giovane che ha iniziato la sua vita come un piccolo linguaggio di scripting nei browser. All'epoca, i browser stavano appena iniziando a essere esplorati da seri sviluppatori di applicazioni.

Prima del 2004, era molto raro vedere applicazioni reali in esecuzione in un browser. Il browser era a malapena interattivo. Richiedeva il ricaricamento della pagina per trasmettere qualsiasi dato al server, non aveva alcuna capacità di archiviazione di cui valesse la pena parlare. JavaScript è stato utilizzato principalmente per creare effetti di interfaccia utente banali come gli stati di passaggio del mouse.

JavaScript è stato il bersaglio di molte battute da "veri programmatori" che hanno scritto codice in linguaggi compilati come C / C ++, C # e Java. Se volevi fare una vera programmazione per il browser, hai usato Flash.

A quei tempi, era facile ridicolizzare JavaScript, e tutti sembravano farlo, ma Douglas Crockford riconobbe che Brendan Eich nascondeva alcune pepite nella lingua che solo ora stanno iniziando ad essere veramente apprezzate dalle masse di programmazione. Questo libro esplora le basi di queste funzionalità e potrebbe darti un nuovo apprezzamento per quanto sia speciale e interessante JavaScript.

5. "Programmazione di applicazioni JavaScript: architettura Web robusta con librerie JS Node, HTML5 e Moderns" di Eric Elliott (sono io)

Quando ho iniziato ad assumere sviluppatori JavaScript per creare applicazioni, mi ha davvero colpito il modo in cui pochi di loro hanno capito come sfruttare JavaScript per costruire una solida architettura di applicazioni. Con questo in mente, ho deciso di scrivere un libro che avrebbe coperto alcune best practice JavaScript, introdotto le persone ai prototipi, alla composizione degli oggetti e almeno ai concetti di base della programmazione funzionale (abbastanza per capire come costruire e mantenere una tipica applicazione JavaScript) e quindi applicare tali concetti alla creazione di alcune delle preoccupazioni comuni che sorgono nella maggior parte delle applicazioni, indipendentemente dal dominio aziendale delle applicazioni.

Molti libri rispondono alla domanda "Come faccio a utilizzare JavaScript?" Volevo rispondere alla domanda "Come faccio a utilizzare JavaScript per creare un'applicazione reale?"

La tecnologia è cambiata molto nei due anni da quando abbiamo pubblicato il libro, ma secondo la mia onesta opinione (per quanto obiettivo possa essere l'autore), è ancora la migliore panoramica dell'architettura delle app JavaScript sul mercato oggi. Oltre ad approfondire la tua conoscenza di JavaScript, imparerai le nozioni di base sui nodi, le API RESTful, l'autenticazione e l'autorizzazione, i sistemi di attivazione / disattivazione delle funzionalità, la registrazione e altro ancora.

6. "JavaScript efficace: 68 modi specifici per sfruttare la potenza di JavaScript" di David Herman

Dopo aver avuto un'esposizione di base su JavaScript, "JavaScript efficace" ti condurrà in una visita guidata della lingua in modo più approfondito, mostrando ad esempio le lezioni insegnate da un programmatore esperto nel suo mestiere.

Immediatamente ti verranno introdotte alcune delle stranezze di JavaScript, dalla precisione del numero in virgola mobile (perché JavaScript ha solo un tipo di numero, ed è un tipo in virgola mobile), alle stranezze del tipo coercizioni e inserimento di punti e virgola. Il resto del libro continua nello stesso stile, esplorando le migliori pratiche per lavorare con funzioni, oggetti, array, progettazione di librerie e API e concorrenza. Indipendentemente dal tuo livello di abilità, ti prometto che imparerai qualcosa di nuovo.

7. "JavaScript: la guida definitiva" di David Flanagan

La Guida definitiva è una profonda esplorazione delle funzionalità dell'API della piattaforma Web e JavaScript dal punto di vista di qualcuno interessato a creare applicazioni Web. È una panoramica abbastanza completa di molte funzionalità del linguaggio, cosparsa di avvertimenti sulle vecchie versioni di IE che probabilmente puoi tranquillamente ignorare a questo punto. Ci sono state sei edizioni del libro e spero che ci siano molte altre edizioni a venire. Ho posseduto edizioni precedenti e imparo sempre qualcosa di nuovo quando ne viene rilasciato uno nuovo.

8. "You Don't Know JS" di Kyle Simpson

Questa è davvero una serie di libri - tutti simili per stile e portata, alcuni più grandi di altri e tutti molto buoni.

Sto programmando in JavaScript da molto tempo. Ho studiato più versioni delle specifiche JavaScript e seguito da vicino lo sviluppo di nuove versioni delle specifiche, eppure il profondo fascino di Kyle nell'esplorazione di tutti gli angoli e le fessure è riuscito a scoprire molte parti del linguaggio che non avevo ancora scoperto o esplorato .

Se pensavi che "La Guida Definitiva" fosse un'immersione profonda, apri l'attrezzatura subacquea e prepara il tuo esploratore sommergibile oceanico. Stai per vedere alcune specie JavaScript che nessun essere umano ha mai visto prima (beh, comunque prima che questa serie fosse scritta).

Ciò che non troverai in questa serie è un sacco di chiacchiere sull'architettura del software, la profonda saggezza del programmatore o l'abbondanza di principi di progettazione del software che si estenderanno facilmente a molte lingue diverse. Ma ti aiuterà sicuramente a ottenere un nuovo apprezzamento e una comprensione più profonda di JavaScript. La singolare attenzione di Kyle all'immersione profonda nelle caratteristiche del linguaggio è un raro tesoro da cui immagino che anche il team TC39 possa imparare qualcosa.

9. “JavaScript Allongé: The Six Edition” di Reginald Braithwaite

JavaScript Allongé nella sua essenza è un libro sul pensiero nelle funzioni. Creazione di software flessibile da piccole unità disaccoppiate.

Detto questo, cerca di non essere eccessivamente prescrittivo o supponente. Per prendere in prestito dall'introduzione:

"JavaScript Allongé non tenta di affrontare la questione delle migliori pratiche JavaScript nel più ampio contesto dello sviluppo del software, perché JavaScript Allongé non è un libro sulla pratica, è un libro sul pensiero".

Mentre leggi il libro, ti accorgerai che l'autore mantiene le sue promesse. Questo non dovrebbe assolutamente essere il primo libro JavaScript che leggi. Reginald introduce concetti semplici come `const` costruendo lentamente attraverso argomenti di ambito di funzioni intermedie come IIFE e chiusure, dopo aver dimostrato applicazioni parziali ed espressioni di funzioni al curry.

La maggior parte dei libri introduttivi JavaScript inizia saggiamente parlando di valori e di come rappresentare quei valori con i vincoli usando `var`,` let` o `const`. Reginald lancia il ritmo per una buona ragione: farà ballare il tuo cervello. Il libro sta cercando di aiutarti a pensare in modo diverso e profondo alle funzioni e funziona.

Dovresti leggerlo dopo aver acquisito familiarità con JavaScript, quando sei pronto per iniziare a esplorare come combinare tecniche di programmazione funzionali e orientate agli oggetti per creare applicazioni JavaScript.

10. "Node.js in azione" di Mike Cantelon, Marc Harter, TJ Holowaychuk e Nathan Rajlich

"Node.js in azione" è un'ottima introduzione allo sviluppo di applicazioni Node di base che copre argomenti essenziali come HTTP / HTTPS, middleware Connect / Express, messaggistica in tempo reale con Socket.IO, utilizzo di database e così via. Se non conosci Node, questo è un ottimo punto di partenza.

11. "Networking di browser ad alte prestazioni" di Ilya Grigorik

È difficile sopravvalutare l'importanza di grandi prestazioni dell'applicazione. La riduzione dei millisecondi dei tempi di caricamento della pagina e la riduzione del jank dell'interfaccia utente offrono rendimenti degli investimenti che possono essere rivali solo da una grande revisione del design dell'interfaccia utente.

Questo libro tratta considerazioni sulle prestazioni di grande impatto come HTTP2, streaming di dati, WebSocket, WebRTC, DataChannel e così via.

In altre parole, questo libro è la guida definitiva per creare un'applicazione di maggior successo ottimizzando il suo profilo prestazionale.

12. "Web Audio API" di Boris Smus

Ogni vero Rock Star JavaScript ha bisogno di questo libro. Dopotutto, non sei una vera rockstar JS fino a quando non colleghi la chitarra al tuo browser web. So di aver detto che si trattava di libri "tutti gli sviluppatori JavaScript dovrebbero leggere", ma questo è solo per gli sviluppatori JavaScript che amano giocare con suoni e musica. La maggior parte degli sviluppatori JavaScript potrebbe cavarsela senza mai imparare questa API e non li danneggerebbe affatto, ma è noioso.

Questo libro è nella mia lista principalmente perché amo la musica e l'ingegneria audio. L'API audio Web è in realtà un sistema di API correlate per la generazione e la manipolazione del suono utilizzando gli standard della piattaforma Web. Puoi usarlo nei browser e in Nodo.

Per utilizzare l'API audio Web, si manipolano i nodi in un grafico. Normalmente, ti farei solo riferimento a un riferimento utile, ma a meno che tu non sia un ingegnere audio, potresti sentirti un po 'sopraffatto. Questo libro ti guida attraverso i vari tipi di nodi audio e ti insegna come intrecciarli insieme, lavorare con l'API di temporizzazione per pianificare con precisione i suoni, manipolare i parametri nel tempo, applicare effetti audio e persino creare visualizzazioni audio.

In altre parole, è molto divertente.

Inizia la tua lezione gratuita su EricElliottJS.com

Eric Elliott è l'autore dei libri, "Software di composizione" e "Programmazione di applicazioni JavaScript". Come co-fondatore di EricElliottJS.com e DevAnywhere.io, insegna agli sviluppatori le abilità di sviluppo software essenziali. Crea e consiglia team di sviluppo per progetti crittografici e ha contribuito alle esperienze software per Adobe Systems, Zumba Fitness, The Wall StreetJournal, ESPN, BBC e i migliori artisti discografici tra cui Usher, Frank Ocean, Metallica e molti altri.

Gode ​​di uno stile di vita remoto con la donna più bella del mondo.