JavaScript è uno dei tre grandi dell'hosting web: oltre a HTML (struttura della pagina) e CSS (presentazione), il linguaggio di programmazione orientato agli oggetti offre la dinamizzazione del contenuto. Ma JavaScript non è solo applicabile nel contesto del design della pagina. Anche le applicazioni lato server possono essere controllate con JavaScript.
Origini di JavaScript
Nonostante il nome, JavaScript ha poco a che fare con Java. Originariamente, il linguaggio di scripting doveva chiamarsi LiveScript ed è stato sviluppato da Netscape per l'interazione del Netscape Navigator con applet Java (applicazioni client Java). Essendo effettivamente un software proprietario, JavaScript rappresentava un fattore competitivo per aziende come Microsoft dar. Questi hanno risposto allo sviluppo di JavaScript con soluzioni proprie, come il linguaggio di script JScript. Nel corso del tempo, tuttavia, JavaScript è diventato il linguaggio di scripting primario per il lato client e (oltre a php) Dinamizzazione lato server.
Dinamizzazione lato cliente
Probabilmente la funzione più utilizzata di JavaScript è la possibilità di dinamizzazione lato client. Il client è il browser web. Dinamizzazione lato cliente significa che i contenuti visualizzati nel cliente vengono manipolati. HTML è la descrizione statica della struttura di una presenza sul Web, il cosiddetto Document Object Model (DOM). Mentre per la progettazione separata di questo "scheletro" si utilizzano i CSS (Cascading Style Sheets), JavaScript offre la possibilità di spostare, cancellare o aggiungere elementi HTML.
Questa manipolazione del DOM (DOM scripting) può essere utilizzata in molti modi. Attraverso i cosiddetti event handler, le funzioni sono prima di tutto legate a determinati eventi. Questi possono essere i clic dell'utente, i punti nel tempo o il caricamento del sito web. Utilizzando gli ID assegnati agli elementi in HTML, possono poi essere attivate modifiche basate su eventi. Questo può includere tutto, dalla programmazione di forme semplici e dinamiche o di filtri di tabella, all'incorporazione di lettori video o di grafici complessi e dinamici.
JQuery: Il più semplice JavaScript
JavaScript è un esempio di linguaggio di programmazione orientato agli oggetti. In quanto tale, la soglia d'ingresso per i web designer inesperti è relativamente alta. Senza limitare (molto) le funzionalità di JavaScript, la libreria JavaScript JQuery offre una sintassi semplificata che permette di creare i casi d'uso più comuni in modo semplice e veloce. Mentre JavaScript offre una complessità e una modificabilità simile a Java o Python definendo prototipi (invece di classi), istanze (oggetti concreti) e metodi (funzioni legate agli oggetti), JQuery limita il vocabolario e le strutture. I comandi hanno una struttura annidabile in modo che la struttura possa essere compresa abbastanza rapidamente. Pertanto, a meno che non si tratti di applicazioni complesse e insolite, molto probabilmente in JQuery esiste una soluzione semplice.
Dinamizzazione lato server: AJAX e Node.js
Oltre alla manipolazione del DOM, JavaScript viene utilizzato anche per la comunicazione con i server, come ad esempio le query del database. Dal 2009 esiste node.js, un framework per la dinamizzazione lato server con JavaScript. Questo era già possibile prima del 2009, ma node.js permette una più facile integrazione. Questo è un vantaggio per i programmatori JavaScript, perché così non devono più usare altri linguaggi come php. Inoltre, node.js permette anche la parallelizzazione dei processi. Questo è un vantaggio, perché troppi di questi cosiddetti fili possono portare ad un arresto. Con node.js, le richieste passano attraverso un unico thread, il che può aumentare notevolmente le prestazioni.
Node.js è un esempio delle possibilità di AJAX. L'acronimo sta per una procedura chiamata Asynchronous JavaScript e XML. Questo principio permette di recuperare i contenuti dai server senza dover ricaricare l'intera pagina. Per molti siti web come YouTube, una ricarica completa dopo le richieste di video o il caricamento di commenti sarebbe un grosso svantaggio. AJAX è anche una soluzione al problema dell'accumulo di richieste grazie all'elaborazione asincrona come spiegato sopra per Node.js.
Integrazione di JavaScript
L'integrazione di base di JavaScript nelle offerte web funziona esattamente come la connessione con i file CSS. Quindi ci sono due possibilità per questo: Da un lato, JavaScript può essere utilizzato nella testa o nel corpo del documento HTML.