Imparare il Javascript nel 2020 conviene?

La guida per i web developer del futuro

creativecode avatar Giulio Tiseo

25 Gen, 2020

~12min.

Imparare il Javascript è fondamentale per iniziare una carriera da sviluppatore. Tuttavia oggi esistono tantissime soluzioni pronte all'uso che permettono di realizzare siti web o app senza dover programmare tutto da zero. In questo articolo avrai una panoramica generale sul mondo del web development e un parere sul miglior modo di iniziare gli studi in questo settore. Troverai inoltre informazioni essenziali su librerie e framework, per sapere a cosa servono e conoscerne le differenze.

Imparare il Javascript nel 2020 conviene?
Requisiti

In questo articolo mi rivolgerò principalmente ad aspiranti web developer che vogliono sapere con cosa cominciare i loro studi. Il contenuto è pensato per chi non ha alcuna esperienza con i linguaggi di programmazione, ma una conoscenza dell’HTML può essere utile ad avere un quadro più chiaro degli argomenti trattati.

Il 2020 è appena cominciato e come capita spesso nei freddi periodi post-Natalizi, analizziamo i risultati ottenuti nell’ultimo anno e pensiamo alle prossime mosse da fare.

Il quadro generale lascia ben sperare gli aspiranti Front-end e Back-end Developer, visto il gran numero di richieste in arrivo dal mercato del lavoro. Questo dato sta invogliando molte persone ad interessarsi al mondo della programmazione, cercando di comprenderne i principi e gli elementi di base.

Se hai già fatto qualche ricerca prima di arrivare qui, immagino tu abbia sentito parlare del Javascript, noto linguaggio di programmazione per il web da non confondere con il Java.

Il Javascript rappresenta il punto di riferimento principale per la maggior parte degli sviluppatori che programmano soluzioni per il web. Tuttavia si sente parlare sempre più spesso di librerie (es. jQuery) e framework (es. Angular) che potrebbero causare confusione. Cosa sono? A cosa servono? Che differenza c’è fra loro? E soprattutto cosa occorre studiare prima? Bene, allora prima di tutto facciamo un po’ d’ordine…

# Perché imparare a programmare in Javascript nel 2020?

Fra tutti i linguaggi di cui avrai sentito parlare a casa, a lavoro o all’università, il Javascript è senza ombra di dubbio quello più utilizzato e amato dagli sviluppatori Front-End. Pensa che la maggior parte delle applicazioni moderne e dei siti web che navighi tutti i giorni hanno funzionalità programmate proprio in questo linguaggio.

Lo scenario odierno è ricco di tante altre possibilità piuttosto avanzate che estendono ulteriormente le capacità di sviluppo dei developer. In pochi minuti possiamo accedere ad un’immensa quantità di moduli pronti all’uso. Presto detto, la domanda a questo punto sorge spontanea: posso evitare di studiare il Javascript e passare direttamente agli argomenti più moderni?

Soffermiamoci per un attimo su un dato piuttosto rilevante. È vero, siamo nel 2020 e le alternative sono tante, ma il fatto che il Javascript sia protagonista dal lontano 1995 in un’epoca in cui 10 anni rappresentano all’incirca un’era geologica, non può essere frutto di una semplice casualità. In 25 anni abbiamo conosciuto librerie, framework, widget, plugin, applet (tanto per restare in clima vintage) di tutti i tipi.

Fino agli inizi del 2000 era possibile trovare guide multimediali che illustravano come utilizzare programmi di questo genere e ti assicuro che in quei momenti sentivi di avere fra le mani il potere dell’avanguardia. Potrai immaginare che fine abbiano fatto tutte quelle cose così straordinarie: trapassate e dimenticate in uno dei tanti cassetti, in compagnia del manuale che spiegava come “Costruire siti web con Macromedia Dreamweaver”.

Morale della favola? Tutto è passato, il Javascript è rimasto.

La frequenza di pubblicazione di nuove specifiche che hanno aggiornato lo standard lo hanno reso vivo e moderno. La community si è interessata sempre di più al progetto e se un tempo si pensava al Javascript come ad un linguaggio da poveracci, oggi si potrebbe affermare l’esatto opposto.

Pare davvero difficile ipotizzare di qui a breve una nuova tecnologia che possa surclassare il Javascript in quanto a popolarità, cura della documentazione, grandezza della community e libertà di utilizzo.

# Cosa sono le librerie Javascript?

Molti neo-sviluppatori tendono a credere che l’uso di librerie ultra avanzate sia qualcosa di imprescindibile nella vita di un developer professionista.

Il problema si pone quando i vari React o Vue vengono recepiti come linguaggi indipendenti e all’avanguardia, in grado di fronteggiare le grandi sfide della modernità.

Tutto ciò è vero, tranne il fatto che si stia parlando di linguaggi di programmazione.

Studio questo e sto a posto!

Giovane developer che pensava di avere la vita facile dopo aver scoperto React.js

I vari React, Jquery o Vue infatti, non sono altro che semplici librerie scritte in Javascript. Ciascuno di essi consiste in una serie di funzioni pronte all’uso, richiamabili attraverso una sintassi specifica.

Sembra molto comodo a prima vista e in effetti lo è… tuttavia questa serie di funzionalità hanno modo di essere programmate solo attraverso un linguaggio di programmazione, che in questo caso è proprio il Javascript.

Se non hai idea di come programmare in Javascript e conosci solo la sintassi descritta nella documentazione della libreria, finirai con l’installare nella tua applicazione niente di più che un mucchio di sterili funzioni.

Ciò che trovi accedendo a questo link, è la famosa libreria Jquery, la più utilizzata in assoluto. Chiunque abbia una conoscenza intermedia del Javascript sarebbe in grado di leggere e interpretare le righe di comando scritte in questa libreria. Questo fa si che tu possa implementare ulteriormente tali funzionalità e adattarle ai singoli casi di studio.

jQuery - Javascipt

# Cosa sono i framework?

Se hai sentito parlare di framework ma non hai mai capito cosa fossero o che differenza ci sia con le librerie, sta tranquillo… capita spesso che le due cose vengano confuse e in effetti oggi si tende a sintetizzare tutto con questo termine (soprattutto gli anglofoni).

Il mondo dello sviluppo è articolato in così tante sfaccettature e sottocategorie di argomenti, che mettere ordine a tutto questo gran caos è un’impresa. Forse è proprio per questo motivo che esistono i framework.

Quando si parla di framework devi pensare ad un set di componenti funzionanti e pronti all’uso, che puoi sfruttare nel tuo progetto. Un framework ti fornisce una struttura tipo su cui puoi lavorare in modo da velocizzare i tempi di sviluppo. A differenza delle librerie che consentono semplicemente di accedere ad una serie di funzionalità, il framework offre la possibilità di creare rapidamente l’intera architettura di un sito ricorrendo a blocchi di codice pre-composti.

Un tipico framework è React Native, che permette di realizzare app native per Android e iOS attraverso una sintassi vicina al JSX (estensione della sintassi Javascript utilizzata nelle applicazioni React).

Un esempio che potrà suonare più famigliare agli sviluppatori di siti web è Bootstrap, ovvero il framework rilasciato da Twitter. Bootstrap raccoglie una vasta gamma di componenti già pronti che possono essere combinati fra loro attraverso classi CSS pre-formattate. Bootstrap comprende inoltre elementi complessi ricchi funzionalità speciali per la gestione di eventi e interazioni. Alcuni di questi comportamenti dipendono dall’inclusione di due librerie Javascript che vanno accompagnate a Bootstrap: jQuery e Popper.

Questo ti fa capire che per poter lavorare in modo efficace, molti framework si appoggiano ad una una o più librerie che permettono di estendere ulteriormente le funzionalità dei singoli elementi.

React Native Android Ios

# Posso cominciare il mio studio dai framework?

Naturalmente nulla ti vieta di cominciare a studiare proprio da uno dei tanti framework che puoi trovare in rete. Tieni conto però che il rischio è quello di affrontare progetti complessi senza avere una totale padronanza del linguaggio di base. Questo potrà metterti spalle al muro e costringerti a ripiegare verso soluzioni poco dignitose quando sarà ormai troppo tardi per mettersi a studiare davvero.

Se intendi investire realmente sul futuro, ti consiglio di non farti ammaliare dal framework più in voga e di concederti del tempo per studiare le basi della programmazione.

Imparare il Javascript è la scelta migliore se intendi intraprendere la carriera da developer.

Di seguito ti mostro le motivazioni per cui, dal mio punto di vista, vale ancora la pena imparare il Javascript nel 2020.

# Imparare il Javascript nel 2020 perché è il linguaggio più versatile

Il Javascript è uno dei linguaggi più versatili in assoluto.

Ciò che mette davvero in risalto questa caratteristica è il fatto che attraverso di esso uno sviluppatore esperto può essere in grado di scrivere il codice sia per il lato client (frontend development) che per il lato server (backend development) sfruttando Node.js (guarda questo bel video di Alberto Olla per scoprire cos’è Node).

Esistono a tal proposito figure professionali di alto livello chiamate Full-Stack Developer che sono in grado di controllare contemporaneamente le due aree principali dello sviluppo.

Non solo saresti in grado di gestire il front-end e il back-end dei siti web, ma avresti modo di realizzare anche applicazioni mobile e desktop di altissimo livello grazie a framework come React Native ed Electron.

Una buona parte dei Front-end developer possono aspirare alla carriera di sviluppatori di videogames e potrebbero sperimentare l’utilizzo di nuove tecnologie tutt’ora in fase di implementazione come la realtà virtuale. Inoltre, il rapido progresso del machine learning sta aprendo le frontiere ad un nuovo mondo, capace di far sognare designer, developer, aziende e università, che in massa stanno investendo in questo settore.

Node.js + TensorFlow
Node.js: ambiente run-time che permette di eseguire il javascript al di fuori del browser. TensorFlow: libreria che permette di definire modelli per il machine learning usando Javascript

# Imparare il Javascript nel 2020 perché rispetto agli altri linguaggi di programmazione è il più semplice

Rispetto ad altri linguaggi di programmazione, il Javascript è sicuramente quello più appetibile nei confronti di chi non ha mai programmato.

Il Javascript ti mette nelle condizioni di non dover preparare alcunché prima di iniziare a programmare. Ogni browser è dotato di un Javascript Engine che permette di leggere e interpretare il codice attuandolo nel contesto di una pagina.

Tieni presente che il Javascript è un linguaggio interpretato e non compilato. Ciò vuol dire che il codice non verrà eseguito direttamente dal processore del tuo computer, ma passerà attraverso un software installato in tutti i browser, che prende il nome di Javascript Engine e che si occupa di interpretare ed elaborare il codice.

Questa caratteristica rappresenta un vantaggio in termini di praticità perché ti consente di saltare tutta la fase di configurazione a discapito della portabilità del programma. Il problema si risolverebbe in ogni caso sviluppando in ambiente Node, dove possiamo sfruttare V8, ovvero l’interprete Javascript di Google.

Con poche righe di comando puoi creare degli output su una pagina web o sulla console del browser e avrai modo di vedere istantaneamente i risultati prodotti dal tuo codice. Così facendo velocizzerai di molto il processo di apprendimento e sarà più semplice acquisire scioltezza rispetto a quanto non accadrebbe con i linguaggi di programmazione a basso livello.

Con il passare degli anni il Javascript sta diventando sempre più completo. Le capacità che maturerai studiandolo potranno essere sfruttate per apprendere altri linguaggi come Python o Java.

Con le nuove release di ECMAScript sono stati fatti enormi passi in avanti sotto il profilo delle possibilità di implementazione. Oggi è possibile usare il Javascript secondo un approccio funzionale alla programmazione (functional programming) e orientato agli oggetti (OOP – Object Oriented Programming). Non è lo stesso Javascript bistrattato dagli stessi addetti ai lavori nei primi anni ’90!

Penso non ci sia dubbio sul fatto che il Javascript possa metterti nelle condizioni di assimilare e padroneggiare i concetti chiave per un’eventuale carriera da sviluppatore.

Manuali vari linguaggi
Manuali di linguaggi informatici appartenenti ad epoche diverse

# Trovare la motivazione giusta per iniziare a studiare il Javascript

Non è affatto raro perdere l’orientamento nel mare di informazioni frammentate e confuse che è possibile trovare oggi in rete. Mi rendo conto di quanto sia complicato riuscire a capire da dove cominciare, soprattutto ora che i linguaggi di programmazione si stanno elevando ad astrazioni sempre più complesse.

Le release costanti di nuove librerie e framework aprono la strada a possibilità di sviluppo innovative e allettanti, che però rischiano di essere fatali soprattutto per chi è alle prime armi e ha fame di realizzare nuovi progetti.

Se la vita del web developer con qualche anno di esperienza alle spalle può essere vissuta all’insegna di un timido clima di entusiasmo, chi vuol cominciare da zero dovrà faticare un po’ di più e armarsi di buona pazienza.

Non è molto incoraggiante…” – starai pensando in questo momento, ma è anche ovvio che se fosse così facile troveremmo in giro molti più sviluppatori competenti di quanti in realtà non ce ne siano. Lo stesso Marijn Haverbeke all’inizio del suo Eloquent Javascript, esordisce con un lapidario: «In effetti, programmare è difficile» e mentirei se dicessi il contrario.

Il primo passo per iniziare a studiare un linguaggio di programmazione sta nell’effettiva convinzione di voler intraprendere questo percorso. Lo so, suona un po’ melodrammatico, ma è così! Se pensi di volerci solo provare ti metterai nelle condizioni di mollare alla prima difficoltà.

Osservando il modo di fare di alcuni sviluppatori esperti ho capito che la formula vincente sta proprio nel loro atteggiamento, contraddistinto da una coriacea tenacia.

Ti capiterà di imbatterti in un’immensa quantità di errori lungo il percorso, perciò non puoi pensare di affrontare uno studio del genere ponendoti in modo incerto e titubante. Ti consiglio di non fare un dramma davanti una qualsiasi schermata di errore, anzi. Diffida dall’idea che gli errori siano necessariamente una cosa negativa quando si programma! Il 60% delle cose che imparerai saranno frutto delle tante soluzioni che avrai trovato per risolvere gli errori segnalati dalla console.

Lasciati guidare dalla curiosità e dalla voglia di indagare sui segreti e i meccanismi del linguaggio. Quando noti qualcosa di strano o scopri un nuovo errore nella console, apri google e ricerca i come e i perché. Trova le risposte e fanne tesoro.

Manuale Javascript - Guida completa per lo sviluppatore - Marijn Haverbeke
Manuale di Javascript – Guida completa per lo sviluppatore – Marijn Haverbeke

# Qual è il modo migliore per imparare il Javascript?

Dopo aver assimilato tutti i concetti teorici che sono di fondamentale importanza per comprendere i processi di elaborazione del codice nel Javascript Engine, non devi fare altro che programmare con costanza.

Ti basta davvero avere una semplice chrome developer tools avanti e iniziare a studiare il Javascript testando piccoli brani di codice.

Tieni presente che quasi ogni anno vengono rilasciate nuove versione di ECMAScript che aggiornano il linguaggio Javascript con nuovi standard. Questo è un aspetto che può portare molta confusione in chi sta iniziando il percorso di studi.

Dal mio punto di vista, cominciare fin da subito con la sintassi evoluta dell’ES6 può essere poco intuitivo. Il mio consiglio è quello di partire dalla base e iniziare a studiare il vero Vanilla Javascript, quello della versione 5 di ECMAScript. Tutti gli argomenti presenti in questo manuale ad esempio, sono ottimi per iniziare il percorso da developer.

Se il tuo interesse è quello di creare siti web partendo dalla struttura della pagina e non hai alcuna esperienza con l’HTML, ti consiglio di cominciare il tuo studio partendo dalla guida di base all’html, che è senza dubbio il miglior modo per iniziare. Fai le cose con calma e prenditi tutto il tempo per maturare i concetti. Ricorda: correre non servirà a farti ottenere prima i risultati!

Sfrutta le risorse online e manuali esaustivi come Eloquent Javascript per imparare il linguaggio Javascript partendo dalle basi, fino ad arrivare alle applicazioni più avanzate. Segui corsi online su Udemy e scegli una scuola o un’università che abbia insegnanti competenti e realmente appassionati della materia.

Il resto verrà da sé, con la passione, la voglia e la determinazione nel voler raggiungere gli obiettivi.

Spero che questo articolo sia stato utile a fare ordine fra le decine di argomenti in ballo.

Se può interessarti, sto preparando una guida esaustiva al linguaggio Javascript che pubblicherò prossimamente su Creative Code. Per non perdere aggiornamenti in merito alle prossime uscite, ti consiglio di seguire la nostra pagina Facebook.

A questo punto non mi resta che augurarti buona navigazione, buono studio e soprattutto Buon 2020!