Cos'è JavaScript?

JavaScript è un linguaggio di programmazione utilizzato dagli sviluppatori per creare pagine Web interattive. Dall'aggiornamento dei feed dei social media fino alla visualizzazione di animazioni e mappe interattive, le funzioni di JavaScript possono migliorare l'esperienza utente di un sito Web. Essendo un linguaggio di scripting lato client, è una delle tecnologie principali del World Wide Web. Ad esempio, durante la navigazione su Internet, quando appaiono una serie di immagini, un menù a discesa click-to-show, o quando i colori degli elementi che cambiano in modo dinamico su un sito Web, si tratta di effetti di JavaScript.

Per cosa viene utilizzato JavaScript?

In passato, le pagine Web erano statiche, simili alle pagine di un libro. Una pagina statica mostrava principalmente informazioni in un layout fisso e non funzionava come oggi ci aspettiamo da un sito Web moderno. JavaScript è nato come tecnologia lato browser per rendere più dinamiche le applicazioni Web. Utilizzando JavaScript, i browser potevano rispondere alle interazioni degli utenti e modificare il layout dei contenuti della pagina Web.

Con la maturazione del linguaggio, gli sviluppatori di JavaScript hanno creato librerie, framework e pratiche di programmazione e hanno iniziato a usarlo al di fuori dei browser Web. Oggi è possibile utilizzare JavaScript sia per lo sviluppo lato client che lato server. Nelle sottosezioni seguenti vengono illustrati alcuni casi d'uso comuni:

Aggiornamento dinamico dei contenuti

È possibile utilizzare le funzioni JavaScript per creare funzioni interattive che consentano agli utenti del sito Web di aggiornare dinamicamente i contenuti. Ecco alcuni esempi di queste caratteristiche interattive:

·   Mostrare o nascondere informazioni facendo clic su un pulsante

·   Convalidare la digitazione dei dati inseriti dagli utenti in un modulo, come i numeri di telefono e gli indirizzi e-mail.

·   Modificare il colore di un pulsante della pagina Web al passaggio del mouse

·   Generare annunci pubblicitari pop-up

·   Ingrandire o ridurre un’immagine

·   Riprodurre audio e video su una pagina Web

Sviluppo di applicazioni per il Web e per dispositivi mobili

JavaScript dispone di una raccolta di librerie di codice integrate, chiamate framework JavaScript, per lo sviluppo di applicazioni per il Web e per dispositivi mobili. Gli sviluppatori possono utilizzare molti framework open-source o disponibili gratuitamente per creare applicazioni indipendenti dalla piattaforma, che possono essere costruite una volta ed eseguite su qualsiasi dispositivo. Inoltre, il codice JavaScript è leggero e meno impegnativo dal punto di vista del calcolo, per cui gli sviluppatori possono utilizzarlo facilmente per creare applicazioni per dispositivi mobili.

Sviluppo di applicazioni lato server

Gli sviluppatori utilizzano JavaScript per costruire una solida infrastruttura back-end per applicazioni moderne. Ad esempio, le librerie JavaScript lato server rendono più efficienti le applicazioni di streaming, poiché dispongono di un supporto integrato per la comunicazione continua tra il client e il server. Allo stesso modo, gli strumenti di collaborazione online, come l'editing di documenti condivisi, che richiedono molto input e output, funzionano meglio se sono scritti con JavaScript.

Sviluppo di giochi

JavaScript è un pratico linguaggio di programmazione che gli sviluppatori possono utilizzare per creare giochi per browser. Alcune librerie di codice JavaScript consentono agli sviluppatori di creare un gioco operativo e quindi di esportarlo e distribuirlo in modo unitario su diverse piattaforme di gioco Web e per dispositivi mobili. Gli sviluppatori possono inoltre usufruire del supporto per il rendering visivo complesso di immagini e grafica animata 2D e 3D.

Come funziona JavaScript?

Tutti i linguaggi di programmazione funzionano traducendo la sintassi inglese in codice macchina, che viene poi eseguito dal sistema operativo. JavaScript è generalmente classificato come un linguaggio di scripting o un linguaggio interpretato. Il codice JavaScript viene interpretato, ossia tradotto direttamente nel codice del linguaggio macchina sottostante da un motore JavaScript. Con altri linguaggi di programmazione, un compilatore compila l'intero codice in codice macchina in un passaggio separato. Pertanto, tutti i linguaggi di scripting sono linguaggi di programmazione, ma non tutti i linguaggi di programmazione sono linguaggi di scripting.

Motore JavaScript

Un motore JavaScript è un programma informatico che esegue codice JavaScript. I primi motori JavaScript erano semplici interpreti, ma tutti i motori moderni utilizzano la compilazione just-in-time o runtime per migliorare le prestazioni.

JavaScript lato client

Con "JavaScript lato client" ci si riferisce al modo in cui JavaScript funziona nel browser. In questo caso, il motore JavaScript si trova all'interno del codice del browser. Tutti i principali browser Web sono dotati di motori JavaScript integrati.

Gli sviluppatori di applicazioni Web scrivono codice JavaScript con diverse funzioni associate a vari eventi, come il clic o il passaggio del mouse. Queste funzioni apportano modifiche all'HTML e al CSS.

Ecco una panoramica di come funziona JavaScript lato client:

1.   Il browser carica una pagina Web quando la si visita.

2.   Durante il caricamento, il browser converte la pagina e tutti i suoi elementi, come pulsanti, etichette e caselle a discesa, in una struttura di dati chiamata Document Object Model (DOM).

3.   Il motore JavaScript del browser converte il codice JavaScript in bytecode. Questo codice è un intermediario tra la sintassi di JavaScript e la macchina.

4.   Eventi diversi, come il clic del mouse su un pulsante, attivano l'esecuzione del blocco di codice JavaScript associato. Il motore interpreta quindi il bytecode e apporta modifiche al DOM.

5.   Il browser mostra il nuovo DOM.

JavaScript lato server

Con "JavaScript lato server" ci si riferisce all'uso del linguaggio di codice nella logica del server di back-end. In questo caso, il motore JavaScript si trova direttamente sul server. Una funzione JavaScript lato server può accedere al database, eseguire diverse operazioni logiche e rispondere a vari eventi attivati dal sistema operativo del server. Il vantaggio principale dello scripting lato server è che è possibile personalizzare al massimo la risposta del sito Web in base alle proprie esigenze, ai propri diritti di accesso e alle informazioni richieste dal sito.

Lato client vs. lato server

Il termine dinamico descrive JavaScript sia lato client che lato server. Il comportamento dinamico è la capacità di aggiornare la visualizzazione della pagina Web per generare nuovi contenuti secondo le necessità. La differenza tra JavaScript lato client e JavaScript lato server sta nella modalità di generazione di nuovi contenuti. Il codice lato server genera dinamicamente nuovi contenuti utilizzando la logica dell'applicazione e modificando i dati del database. JavaScript lato client, invece, genera dinamicamente nuovi contenuti all'interno del browser utilizzando la logica dell'interfaccia utente e modificando i contenuti della pagina Web già presenti sul client. Il significato è leggermente diverso nei due contesti, ma è correlato, ed entrambi gli approcci lavorano insieme per migliorare l'esperienza utente.

Oltre all'implementazione di funzioni dinamiche, un'altra differenza tra i due usi di JavaScript è nelle risorse a cui il codice può accedere. Sul lato client, il browser controlla l'ambiente di runtime di JavaScript. Il codice può accedere solo alle risorse consentite dal browser. Ad esempio, non può scrivere contenuti sul disco rigido se non si fa clic su un pulsante di download. D'altra parte, le funzioni lato server possono accedere a tutte le risorse della macchina server, se necessario.

Cosa sono le librerie JavaScript?

Le librerie JavaScript sono raccolte di frammenti di codice già scritti che gli sviluppatori Web possono riutilizzare per eseguire funzioni JavaScript standard. Il codice delle librerie JavaScript viene inserito nel resto del codice del progetto in base alle necessità. Se si pensa al codice dell'applicazione JavaScript come a una casa, le librerie JavaScript sono come mobili già pronti che gli sviluppatori possono usare per migliorare la funzionalità della casa.

Di seguito sono riportati alcuni usi comuni delle librerie JavaScript:

Visualizzazione dati

La visualizzazione dei dati è fondamentale perché gli utenti possano visualizzare le statistiche, ad esempio nel pannello di amministrazione, nella dashboard e nei parametri delle prestazioni.

Librerie come Chart.js, ApexCharts e Algolia Places presentano funzioni integrate che possono essere utilizzate per creare applicazioni Web che visualizzano i dati in grafici e mappe.

Manipolazione del DOM

È possibile utilizzare librerie come jQuery e Umbrella JS per semplificare lo sviluppo Web, perché queste forniscono il codice per le funzioni standard dei siti Web, come le animazioni dei menu, le gallerie di immagini, i pulsanti, le lightbox e altro ancora.

Moduli

Tutti gli utilizzi per sviluppo Web si servono di moduli per consentire ai visitatori del sito di contattare qualcuno, ordinare prodotti e registrarsi agli eventi. Alcune librerie JavaScript, come wForms, LiveValidation, Validanguage e qForms, semplificano le funzioni dei moduli, tra cui la convalida, il layout, le condizioni e la trasformazione.

Funzioni matematiche e testuali

Molte applicazioni Web devono risolvere equazioni matematiche ed elaborare date, orari e testo. Invece di inviare tutte le richieste al server, è più efficiente gestirne alcune sul lato client. Gli sviluppatori Web utilizzano librerie JavaScript come Date.js, Sylvester e JavaScript URL Library.

Cosa sono i framework JavaScript?

Come le librerie JavaScript, i framework JavaScript sono una raccolta di frammenti di codice già scritti che svolgono diverse funzioni e possono essere riutilizzati. Tuttavia, mentre le librerie JavaScript sono uno strumento specializzato per l'uso su richiesta, i framework JavaScript sono un set di strumenti completo che aiuta a modellare e organizzare qualsiasi applicazione Web. Se si pensa al codice dell'applicazione JavaScript come a una casa, il framework JavaScript è lo schema usato per costruire la casa.

Ecco alcuni esempi di utilizzo dei framework JavaScript:

Sviluppo di applicazioni Web e per dispositivi mobili

AngularJS è un framework che semplifica lo sviluppo e i test di applicazioni Web, come applicazioni di e-commerce, applicazioni in tempo reale e applicazioni video. React Native è un altro framework che supporta lo sviluppo di applicazioni mobili con rendering nativo per iOS e Android.

Sviluppo Web reattivo

I siti Web reattivi offrono un'esperienza utente coerente su qualsiasi dispositivo. Ad esempio, gli schermi dei cellulari e dei tablet sono più piccoli di quelli dei computer desktop e portatili. Occorre che il sito Web visualizzi e presenti i dati in modo accurato anche su uno schermo più piccolo, senza, ad esempio, tagliare le estremità del sito Web. Grazie a framework come Bootstrap ed Ember.js, gli sviluppatori possono beneficiare del design reattivo e personalizzare facilmente l'aspetto di un sito Web su diverse piattaforme.

Sviluppo di applicazioni lato server

Node.js è un framework JavaScript open-source lato server che esegue codice JavaScript al di fuori di un browser. Gli sviluppatori utilizzano questo framework per creare applicazioni lato server scalabili, veloci e affidabili basate sulla rete. È in grado di gestire richieste HTTP e flussi di dati, di supportare file system e di gestire più processi di back-end contemporaneamente.

Cosa sono HTML e CSS?

L'Hypertext Markup Language (HTML) e i Cascading Style Sheets (CSS) sono altri due linguaggi di programmazione che gli sviluppatori utilizzano nello sviluppo front-end. L'HTML è l'elemento di base della maggior parte delle pagine Web. Tutti i paragrafi, le sezioni, le immagini, le intestazioni e il testo sono scritti in HTML. I contenuti appaiono sul sito Web nell'ordine in cui sono scritti nell'HTML.

CSS è un linguaggio di regole di stile utilizzato per applicare stile ai contenuti HTML. È possibile utilizzarlo per progettare elementi del sito Web quali i colori di sfondo, i caratteri, le colonne e i bordi.

HTML vs. CSS vs. JavaScript

Tutti e tre i linguaggi lavorano insieme per creare un'esperienza utente piacevole su qualsiasi sito. Sebbene HTML e CSS possano manipolare principalmente contenuti statici, possono integrarsi con il codice JavaScript lato client per aggiornarli anche dinamicamente.

Ad esempio, il blocco di codice script di una pagina HTML può contenere JavaScript al suo interno. Il browser può quindi elaborare sia il codice HTML che JavaScript interno al momento del caricamento della pagina HTML nel browser.

Quali sono i vantaggi di JavaScript?

Facilità di apprendimento e utilizzo

La sintassi di JavaScript è stata ispirata dal linguaggio di programmazione Java ed è di facile apprendimento e scrittura. Gli sviluppatori utilizzano JavaScript in quasi tutti i siti Web e le applicazioni per dispositivi mobili per lo scripting lato client. Nell'ultimo decennio Node.js ha acquisito una notevole popolarità anche per la scrittura di codice di back-end. Molte delle principali piattaforme di streaming e video sono state scritte in Node.js.

Indipendenza dalla piattaforma

A differenza di altri linguaggi di programmazione, è possibile inserire JavaScript in qualsiasi pagina Web e utilizzarlo con molti altri framework e linguaggi di sviluppo Web. Una volta scritto, è possibile eseguire il codice JavaScript su qualsiasi macchina. Pertanto, JavaScript rende lo sviluppo delle applicazioni indipendente dalla piattaforma.

Riduzione del carico del server

È possibile utilizzare JavaScript per ridurre il carico del server e la congestione della rete, perché può eseguire operazioni logiche e svolgere gran parte del lavoro del server sul client stesso. Si pensi, ad esempio, al processo di compilazione di un modulo di registrazione. JavaScript controlla rapidamente se è stato inserito un numero di 10 cifre nel campo del telefono cellulare. Se queste richieste fossero inviate al server, la pagina verrebbe ricaricata per ogni errore, rendendo il processo di registrazione molto lento e faticoso.

Miglioramento dell'interfaccia utente

JavaScript crea siti Web eleganti che consentono di trovare ed elaborare informazioni complesse. Gli sviluppatori applicano JavaScript per estendere la funzionalità e la leggibilità e per rendere più efficiente l'interazione con l'utente del sito Web.

Supporto della simultaneità

JavaScript può eseguire diverse serie di istruzioni in parallelo. Sul back-end, Node.js è in grado di gestire ed elaborare le risposte del server su vasta scala senza consumare la stessa quantità di larghezza di banda.

Quali sono le limitazioni di JavaScript?

I linguaggi di programmazione utilizzano variabili come segnaposti per i valori reali dei dati. Ad esempio, in un blocco di codice lo sviluppatore può scrivere x=5 e y=x+1. Quando il codice viene eseguito, il computer sostituisce automaticamente x e y con 5 e 6, rispettivamente, per eseguirvi le funzioni. I dati possono essere di vario tipo, come stringhe di testo, numeri o date. Per questo motivo la maggior parte dei linguaggi di programmazione consente di definire il tipo di variabile. Una volta definito il tipo di variabile, questo non cambia; non è possibile memorizzare numeri in variabili a stringa.

Ad esempio, se si indica al programma che x e y sono numeri e poi si esegue l'operazione x+y, il computer si aspetterà due numeri e li sommerà. D'altra parte, se si definiscono x e y come stringhe, l'operatore + aggiunge le due stringhe per creare una parola più lunga.

Linguaggio scarsamente tipizzato

JavaScript è un linguaggio scarsamente tipizzato, il che significa che non consente al programmatore di definire il tipo di variabile. Una variabile può memorizzare qualsiasi tipo di dati in runtime e le operazioni presumono il tipo di variabile. Il risultato può anche essere assegnato a un altro tipo di dati: ad esempio, un'operazione potrebbe restituire il risultato come stringa "5" anziché come numero 5. Ciò può comportare errori di scrittura di codice accidentali e bug nel codice dovuti a errori di tipo.

Cos'è TypeScript?

TypeScript è un linguaggio di programmazione che migliora JavaScript aggiungendo i tipi alla sintassi. TypeScript aggiunge una sintassi aggiuntiva a JavaScript, in modo che gli strumenti di editor del codice possano individuare tempestivamente gli errori di scrittura di codice. Allo stesso tempo, il codice TypeScript si converte in JavaScript e offre tutti gli stessi vantaggi di JavaScript. Funziona anche in applicazioni e con framework e librerie JavaScript.

Quali sono le limitazioni di JavaScript?

AWS SDK per JavaScript è un set di librerie JavaScript open-source e gratuite che si integrano con i servizi AWS. Supportano lo sviluppo di API, astrazioni di livello superiore e tre tipi di applicazioni:

  • JavaScript per browser
  • Node.js per server
  • React Native per lo sviluppo per dispositivi mobili

AWS SDK per Javascript è completamente scritto in Typescript e poi compilato su JavaScript. In questo modo si ottengono tutti i vantaggi di TypeScript senza doversi preoccupare della retrocompatibilità.

È possibile iniziare a utilizzare AWS SDK per Java leggendo gli esempi di codice e la guida alla migrazione o installandolo direttamente da GitHub.

Cos'è AWS Amplify per JavaScript?

AWS Amplify è un set di strumenti e funzionalità appositamente creati per consentire agli sviluppatori front-end per Web e dispositivi mobili di costruire rapidamente e facilmente applicazioni full-stack su AWS. Le librerie client open-source di Amplify forniscono interfacce incentrate su casi d'uso e di facile utilizzo per diverse categorie di operazioni basate sul cloud. Le librerie JavaScript di Amplify sono supportate per diversi framework Web e per dispositivi mobili, tra cui React, React Native, Angular, Ionic e Vue.js. È possibile iniziare completando la Guida introduttiva Amplify per JavaScript.

Passaggi successivi di JavaScript con AWS

Standard Product Icons (Features) Squid Ink
Scopri ulteriori risorse correlate al prodotto
Ulteriori informazioni sul supporto AWS per JavaScript 
Sign up for a free account
Registrati per creare un account gratuito

Ottieni accesso immediato al Piano gratuito di AWS.

Crea un account gratuito 
Standard Product Icons (Start Building) Squid Ink
Inizia subito nella console

Inizia a costruire con JavaScript nella Console di gestione AWS.

Accedi