Qual è il percorso della padronanza di JavaScript? [chiuso]


18

So come iniziamo con JavaScript, tagliamo e incolliamo uno snippit per ottenere una piccola funzionalità o convalida sul lato client.

Ma se segui questo percorso nel tentativo di implementare un comportamento interattivo ricco, non ci vuole molto prima di rendersi conto che stai creando una grande palla di fango.

Qual è il percorso verso la competenza nella programmazione del livello di interazione? Quali libri, tutorial, esercitazioni e processi contribuiscono alla capacità di programmare JavaScript affidabili e gestibili?

Sappiamo tutti che la pratica è importante in ogni sforzo, ma sto cercando un percorso simile alla risposta qui: /programming/2573135/


Il "livello di interazione?"
Robert Harvey,

1
Secondo me dovrebbe essere un nuovo tag: P
Mike,

1
Un'altra domanda in cui la risposta è pratica, proprio come qualsiasi altro campo che si desidera padroneggiare. Esercitati, impara dai tuoi colleghi (quelli che sono più abili) e ho già parlato della pratica. Il processo per padroneggiare il linguaggio di programmazione x è lo stesso che per il linguaggio di programmazione y, che è lo stesso che per padroneggiare la scultura o l'uncinetto o qualsiasi altro commercio.
Chris,

1
@johnny: quando puoi strappare l'eccezione dalla traccia dello stack ...
TMN il

1
@Chris - se segui il link che ho incluso, vedrai che una simile domanda può essere utilmente risolta. Dire "la risposta è pratica" non è utile. Indica alcuni punti di riferimento lungo un percorso utile, non dirmi solo di iniziare a camminare.
Eric Wilson,

Risposte:


15

leggi il codice di altre persone ( MOLTO ) e cerca di capire cosa stanno facendo e perché lo stanno facendo. Scrivi il tuo codice ( MOLTO ) prova nuovi concetti e idee, soprattutto gioca e divertiti. Il modo migliore per migliorare qualcosa è esercitarsi, esercitarsi e quindi esercitarsi ancora.

Leggi libri, tutorial, articoli, blog, feed RSS, ecc.

Crea qualche progetto su cui lavorare nel tuo tempo libero. Se non riesci a pensare a qualcosa, trova un progetto open source a cui potresti essere interessato a lavorare.

inoltre, non scoraggiarti e, soprattutto, ricorda che la "maestria" non è una destinazione, ma un viaggio: prendila al tuo ritmo, divertiti e goditi il ​​panorama. Se lo prendi troppo sul serio, ti brucerai e questo non gioverà a nessuno.


7
Vorrei che questo rispondesse automaticamente quando qualcuno chiede "come imparare / padroneggiare X". Sembra un po 'come padroneggiare una prova matematica o perfezionare un romanzo. Guarda altri lavori su X, esercitati con X da solo, risciacqua, ripeti -> Master in X.
Chris

@Chris, Yup. Questa è praticamente la mia risposta standard.
Muad'Dib,

Anche se posso dire che le domande su dove ottenere buoni riferimenti / libri / materiali sono domande che mi piacciono. Recentemente ho affrontato Python e la domanda che avevamo programmers.stackexchange.com/questions/12189/… ho trovato essere stellare per farmi decollare e correre.
Chris,

@Chris sì, questa risposta è più di un consiglio generale e manca di passaggi specifici che possono essere, a mio avviso, molto obiettivi. Anche a me piace vedere i link. Ma è a questo che serve Google, giusto?
Muad'Dib,

Giusto ma google non può fornire alcuna reazione / impressione del materiale. Google fa bene ma non fa tutto. Concordato a prescindere. t
Chris,


3

Prima di tutto, devi sapere quale sarà il tuo obiettivo per quanto riguarda l'apprendimento di JavaScript. Se stai solo cercando di fare un po 'di convalida dell'input e rendere l'interfaccia utente un po' più semplice per l'utente, allora non hai davvero bisogno di avere una comprensione approfondita del linguaggio se stai usando framework come jQuery .

Detto questo, se vuoi acquisire una solida conoscenza di JavaScript, prova a scrivere un'estensione in un framework esistente che implementa uno strumento utile.

In termini di libri e altre risorse, non ho davvero sentito parlare di libri utili e in generale ho imparato la lingua anche se provo a risolvere i problemi e controllo per assicurarsi che il mio codice sia pulito secondo JSLint . Una combinazione di un problema interessante (ad es. Estensione del framework), JSLint e abbastanza tempo per acquisire una solida pratica è probabilmente la soluzione migliore in termini di apprendimento della lingua.


2

Prima di apprendere qualsiasi dettaglio di sviluppo web (DOM ecc.) Impara la lingua principale. Puoi imparare in molti modi: libri, video , ecc. Naturalmente dovrai leggere e scrivere codice.

ECMAScript (questo è il nome dello standard linguistico - javascript si riferisce a diverse implementazioni) è un linguaggio molto interessante. È un linguaggio orientato agli oggetti dinamico, funzionale e basato su un prototipo, quindi, dovresti prenderti il ​​tuo tempo per capire i principi di questi paradigmi.

Scopri come utilizzare una console interattiva nel tuo browser (in Chromium, puoi accedervi premendo Ctrl+ Shift+ J) che è simile a strumenti come IRB e l'interprete interattivo Python. Ciò è utile per testare le funzionalità del linguaggio e il debug.

Usa JSLint per controllare la qualità del tuo codice.

Quando inizi a fare uno sviluppo 'reale' usando DHTML, rendi la tua vita più semplice usando un framework, come JQuery , per gestire i frustranti problemi tra browser.


1

Molte delle tecniche che rendono un programmatore un esperto in una determinata lingua possono essere applicate qui, anche se JavaScript ha un paio di perle che ne consentono un uso straordinario. Forse uno dei maggiori ostacoli che ho dovuto superare usando javascript è stato quello di annullare la mia mentalità di programmazione "C", vale a dire un migliaio di minuscole funzioni ristrette in un singolo file js.

Un consiglio generale è quello di astrarre ogni volta che puoi e provare a formare delle lezioni ogni volta che puoi per organizzare il comportamento generale. Crea nuovi file js per qualsiasi funzionalità che può essere utilizzata con buoni risultati negli altri tuoi file js (entro limiti ragionevoli) ed evita, se possibile, variabili globali. Consiglio vivamente di imparare jQuery se non l'hai già fatto. È uno strumento che ho imparato ad amare e ora non ne farei più a meno. È un'estensione estremamente flessibile di javascript che ti consente di semplificare enormemente il tuo codice, il che è buono per la semplicità e la capacità di codificare in modo rapido ed efficiente. jQuery viene fornito con una vasta libreria di plug-in che ti consente di fare molte cose che non potrebbero essere più impressionanti se lo facessi in flash. Dai un'occhiata all'interfaccia utente di jQueryper un intero sistema di temi per il tuo sito, che ti consente di modificare efficacemente l'intero layout del tuo sito senza fare molto. Viene fornito con molti effetti di animazione e controlli pratici comunemente utilizzati sui siti Web (selezione data, pulsante, barra di avanzamento, ecc.), Molti dei quali possono essere attivati ​​utilizzando una singola riga di javascript.

Spero possa aiutare!


1

Gran parte di ciò che fai in JavaScript è essenzialmente intrecciato con DOM, CSS e compatibilità del browser, quindi comprendere il DOM è uno dei requisiti principali per padroneggiare JavaScript.

Imparare le funzionalità principali del linguaggio, come l'orientamento agli oggetti basato sui prototipi, le funzioni anonime e le funzionalità del linguaggio più generali come loop, condizioni, ecc. È la chiave per comprendere qualsiasi codice letto che non interagisce specificamente con DOM / CSS .

Dovrai anche imparare la libreria standard del linguaggio, ad esempio String and Math e altre funzioni degli oggetti core.

Dovresti anche studiare algoritmi, se desideri ottenere una comprensione vera e completa di come vengono fatte le cose e come implementare soluzioni più avanzate, questa conoscenza è fondamentale per comprendere la programmazione avanzata e va oltre la sintassi specifica del linguaggio.


1

Leggi il codice delle librerie che stai utilizzando. Leggere la fonte jQuery o Prototype ti insegnerà una gran quantità di cose su ciò che realmente accade in JavaScript e nella dom. Ricerca le tecniche utilizzate dalle librerie in modo da poterle comprendere. Sentiti libero di iniziare leggendo i micro-framework su http://microjs.com/ . Assicurati di guardare la fonte reale e non solo i file distribuiti. (jQuery ha una dozzina di file sorgente, ma sono assemblati da un processo di compilazione.)


0

Javascript è attualmente applicato in molte aree di sviluppo.

  • È l'unica lingua presente nel browser moderno.
  • Può essere eseguito sul server, grazie a node.js e al motore V8.
  • Può essere integrato nei dispositivi mobili tramite PhoneGap o altre alternative.
  • Può essere utilizzato per creare applicazioni Windows 8.

Pertanto, credo che ci siano più competenze javascript. Dipende da cosa vuoi iniziare, ma ti assicuro che ognuna di quelle 4 voci sopra menzionate ti darà una sfida diversa - ok, forse i campi della finestra 8 e del phonegap potrebbero essere simili ma il resto è diverso -.

Se stiamo parlando dell'ambiente del browser, apprendere come dovrebbe essere organizzata quasi ogni applicazione Web potrebbe essere uno dei percorsi che potresti seguire. Sto seguendo questa strada e sto sperimentando le mie idee, controllando i repository git delle librerie di organizzazione del codice popolari come dojo, backbone, ember ecc.

Se stiamo parlando dell'ambiente del nodo js, ​​questa è una storia diversa. Non ci occupiamo di minimizzazione e dimensioni del file. Creando intere applicazioni nel nodo, costruendo sistemi, siti, API REST, ci sono molte cose da scoprire lì.

Se stiamo parlando del mondo mobile, mi viene in mente l'ottimizzazione eccessiva. Le proprietà accelerate CSS3, le animazioni, gli eventi tattili e il tentativo di utilizzare la stessa architettura del Web con componenti dell'interfaccia utente più specializzati sono ottimi punti di partenza.

Tutto sommato, come altri hanno risposto, sperimentare il proprio codice e il codice degli altri è il modo migliore per essere coinvolti, tenere il passo con le novità e, chissà, magari inventarsi la prossima grande novità.

Un'altra cosa che aiuta è lavorare in un team e comprendere le differenze tra il tuo modo e il modo in cui il team scrive il codice. Lavorare in un team di sviluppatori javascript ti costringerà a scrivere codice migliore e documentarlo bene. Penso che non ci sia modo migliore di imparare l'architettura di un'applicazione che scrivere un wiki su ciò che si intende implementare o che si è già implementato.


-1

Ho odiato JavaScript fino a quando non ho scoperto jQuery. Ora lo adoro e lo uso sempre. Probabilmente troppo.


Hai odiato la conformità DOM e cross-browser non EcmaScript.
Raynos,

jQuery rende Javascript divertente! +1
Dinamico
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.