Home / Blog / -

JavaScript

di Giuseppe Maggi

JavaScript è una di quelle tante idee nate nell’arco di pochi giorni che sembrano semplicemente destinate a rappresentare un passatempo per chi le crea. Invece JavaScript si è dimostrato ben presto un linguaggio di programmazione efficace, semplice e divertente che nel tempo di un decennio ha conquistato il mondo.
L’ha inventato un certo Brendan Eich, un informatico statunitense allora poco più che trentenne che lavorava alla Netscape Communications. Il nome Netscape a molti – soprattutto i più giovani – ormai non dirà granché ma può essere considerata una delle aziende che ha contribuito maggiormente a portare Internet in ogni casa con la creazione di uno dei primi browser esistenti.
Tutto questo per dire che JavaScript è nato per Internet e ha cavalcato gli anni della New Economy che hanno visto un trionfo dell’uso della Rete. Questo linguaggio è però diventato uno degli strumenti più adattabili al mondo essendo ormai presente in ogni ambito dell’Informatica: web, desktop, mobile, iot e server. Questa guida punta a portarti in giro per il suo sconfinato impero illustrandoti tutti i vantaggi che si possono ottenere studiandolo.

Caratteristiche di JavaScript

JavaScript è un linguaggio che si può imparare senza troppa difficoltà. Ciò non significa che sia semplice o povero di elementi, diciamo piuttosto che offre un’interfaccia amichevole per chi lo studia. Chiariamo subito che spesso sentirai parlare non solo di JavaScript, ma anche di ECMAScript. Sappi che in buona parte possono essere considerati la stessa cosa, con un po’ di approssimazione. In pratica, JavaScript è stato standardizzato a fine anni ’90 da ECMA (European Computer Manufacturers Association) e da lì deriva il nome della sua versione “standardizzata”, ECMAScript appunto.

JavaScript permette di svolgere qualsiasi operazione lavorando su stringhe, numeri, date e strutture dati. Inoltre è basato sugli oggetti pertanto permette di strutturare informazioni complesse facendo leva su tipi di dato più semplici. Sin dalla strutturazione di un oggetto JavaScript, si nota come questo linguaggio punti ad una estrema essenzialità.

Vediamo un paio di esempi (non preoccuparti se ancora non comprendi il significato dei concetti presentati, gli esempi servono solo a mostrarti la semplicità di questo linguaggio).

Se volessimo creare un oggetto “persona” con quattro proprietà (nome, cognome, eta e citta) non dovremmo far altro che scrivere:

persona={
  nome: 'Claudio',
  cognome: 'Rossi',
  eta: 45,
  citta: 'Torino'
}

Semplice vero? E’ bastata una coppia di parentesi graffe senza altri costrutti sintattici. Utilizzando invece le parentesi quadre si creano array, la struttura dati di base che permette di creare reti di informazioni anche di una certa complessità. Gli array possono anche avere come elementi degli oggetti creando una forma di annidamento ideale per molte applicazioni.

Questo potrebbe essere un array che rappresenta un gruppo di persone con la stessa struttura del precedente:

gruppo_persone= [
{ nome: 'Claudio', cognome: 'Rossi', eta: 27, citta: 'Torino'},
{ nome: ‘Luigi’, cognome: 'Neri', eta: 38, citta: 'Roma'},
{ nome: 'Simona', cognome: 'Verdi', eta: 21, citta: 'Bari'},
{ nome: 'Noemi', cognome: 'Rossi', eta: 24, citta: 'Roma'}
]

La semplicità di array e oggetti è stata scelta inoltre per dare vita a JSON, un formato testuale usatissimo al giorno d’oggi per far interagire servizi web e applicazioni.

VUOI IMPARARE A PROGRAMMARE IN JAVASCRIPT?

Iscriviti su devACADEMY e SEGUI TUTTI I CORSI che vuoi!
OLTRE 70 CORSI di coding A TUA DISPOSIZIONE con un’unica iscrizione 🙂

VAI AL CORSO JAVASCRIPT

Con il tempo JavaScript si è arricchito di funzionalità che l’hanno reso più moderno e allineato con gli attuali standard di programmazione. Ad esempio, nella versione di ECMAScript pubblicata nel 2015 è stato introdotto il costrutto delle classi che permettono, come in tutti i linguaggi che supportano la Programmazione Orientata agli Oggetti di definire una struttura alla quale gli oggetti devono aderire.

JavaScript ed il web

Il destino di JavaScript è inesorabilmente legato al web. Nasce lì infatti e quello è il suo habitat naturale. Il codice scritto in questo linguaggio viene scaricato dal server al browser insieme a HTML e fogli di stile CSS e lì permette alla pagina web di prendere vita. Tutto ciò che normalmente vediamo fare di dinamico nel browser è dovuto in un modo o nell’altro proprio a JavaScript. In primis, gestisce la struttura di oggetti della pagina, il DOM (Document Object Model). Le funzioni originali demandate a questo compito sono facili da usare ma costringono a scrivere del codice piuttosto ripetitivo. Grande slancio lo si ha avuto con due importanti innovazioni:

  • Ajax (Asynchronous JavaScript And XML) che ha messo in condizione la pagina web di scaricare dati dal server senza la necessità di essere ricaricata. Ciò ha contribuito ad una migliore interazione con l’utente che non si limitava alla manipolazione in diretta degli oggetti visuali del DOM ma forniva aggiornamento costante dei dati mediante chiamate inoltrate dal browser che raggiungevano i server “dietro le quinte”, in maniera del tutto impercettibile per l’utente. Al giorno d’oggi, Ajax è uno strumento assolutamente imprescindibile nello sviluppo web;
    » VUOI SAPERNE DI PIU’? VAI AL NOSTRO CORSO AJAX «
  • jQuery, un framework che ha di gran lunga semplificato l’uso di JavaScript offrendo, da un lato, delle funzioni e degli oggetti più comode per l’utente, dall’altro, un supporto immediato all’uso di Ajax. In brevissimo tempo, jQuery si è rivelato una piattaforma di lavoro a cui non si poteva rinunciare tanto da relegare le funzioni iniziali di JavaScript per il DOM ad una sorta di “primitive” di basso livello, da evitare in campo professionale.
    » VUOI SAPERNE DI PIU’? VAI AL NOSTRO CORSO JQUERY «

Tutto ciò per quanto riguarda JavaScript, come linguaggio per rendere dinamiche le pagine web ma ben presto esso si è trasformato in qualcos’altro di più grande ancora. L’interazione via browser è diventata così comoda per l’utente che piuttosto che creare applicazioni desktop in senso classico le aziende hanno iniziato a preferire pagine web – le cosiddette web app – che, una volta invocate, offrivano tutte le funzionalità con interfaccia grafica necessarie all’uso del programma. Inoltre grazie alle chiamate Ajax, tali pagine non avevano bisogno di essere ricaricate spesso ma era sufficiente aprirle una volta e queste continuavano ad interagire con l’utente, da un lato, e a dialogare dietro le quinte con il server dall’altro: tale modello è diventato così comune che ha preso un nome tutto suo, Single Page Application (SPA).

Alcuni framework realizzati in JavaScript si sono dimostrati ottimi per dare un’architettura alle web app e tra i molti possiamo citare Angular.js, strumento imponente nato in casa Google, e Vue.js, molto efficace ma estremamente più snello di Angular o ancora React.

JavaScript fuori dal browser

JavaScript per anni ha vissuto chiuso in un browser. Poteva quindi servire a tutto purché nel contesto di una pagina web. Una delle più grandi svolte dell’Informatica si è avuta con la nascita di Node.js, nel 2009. Finalmente JavaScript è uscito dal browser e si è trasformato in un linguaggio di programmazione con cui realizzare qualsiasi tipo di programma. Inoltre Node.js si è da subito dimostrato estremamente efficiente basando tutto il suo lavoro sulla reazione ad eventi in modo da attivare il codice solo al momento necessario. Uno dei suoi impieghi principali è stato quello di “server” per offrire applicazioni web e web service. Successivamente, i suoi consumi di risorse estremamente ridotti si sono dimostrati idonei all’impiego in contesti caratterizzati da hardware minimale come piccoli dispositivi elettronici: elementi in assoluta diffusione oggi, tempi caratterizzati dai cosiddetti Microservizi e IoT (Internet of Things).

Su Node.js sono stati basati molti altri progetti tra cui Electron. Questo è un framework sviluppato da GitHub che permette di realizzare applicazioni desktop multipiattaforma in modo estremamente semplice e veloce, sfruttando le competenze comuni al mondo del web ovvero JavaScript, HTML e CSS.

» VUOI SAPERNE DI PIU’? VAI AL NOSTRO CORSO NODE.JS «

JavaScript e il mobile

Altro settore in cui JavaScript ha spopolato è il mobile. Da quando questo è diventato una delle miniere d’oro dell’Informatica molte aziende hanno iniziato a formare dipendenti e assumerne di nuovi in grado di calcare i principali sistemi operativi ovvero iOS e Android. Il problema è che le app sviluppate nativamente dovevano essere create da zero per ogni sistema, necessariamente duplicando i gruppi di lavoro. Infatti da un lato si doveva lavorare su sistemi Apple con i linguaggi Objective-C e Swift, dall’altro si richiedeva la conoscenza di Java e recentemente Kotlin. Sono nate per questo molte alternative per sviluppare app multipiattaforma con JavaScript, HTML e CSS dove professionisti già avvezzi al web potevano usare le proprie competenze per il mobile. Tra le varie soluzioni possiamo citare Cordova (il porting open source di PhoneGap), Ionic basato su Angular e NativeScript.

Nonostante non sia sviluppato in JavaScript ci permettiamo di citare tra le soluzioni multipiattaforma per il mobile un altro framework sviluppato da Google protagonista in questi anni di un’ascesa verticale: Flutter, le cui applicazioni sono sviluppate in Dart, che da JavaScript ha ereditato molto tra cui una certa semplicità nella sintassi.

Conclusioni

In questa guida abbiamo voluto presentarti una panoramica sul mondo di JavaScript. Si tratta di un’aggregazione di tanti ambiti, tutti diversi, tutti pieni di opportunità ma con in comune una sola cosa: sfruttano lo stesso linguaggio di programmazione, efficace e divertente, che può essere imparato senza grandi difficoltà. Noi ti offriamo i migliori strumenti per farlo (scopri i nostri corsi online), non ti resta quindi che iniziare a studiare JavaScript e molto presto maneggerai una delle più potenti tecnologie mai esistite.

» VUOI SAPERNE DI PIU’? VAI AL NOSTRO CORSO JAVASCRIPT «