Da un linguaggio di scripting, JavaScript è diventato in questi ultimi anni la piattaforma di sviluppo più utilizzata al mondo. Oggi, Javascript si reinventa grazie a progetti come Coffeescript, DART, Node.js e jQuery.
Javascript è un linguaggio di scripting molto semplice. È Object-oriented (come Actionscript 2, senza le classi) e basato sulla sintassi ECMAScript, derivata da C. Lo scopo era di creare interazioni web semplici, ma oggi è uno dei linguaggi critici delle piattaforme moderne.
Tutte le applicazioni web (o webapps) utilizzano Javascript. Facebook, Google (con Instant), Twitter o Maps funzionerebbero con molti limiti e sarebbe impossibile senza JavaScript.
La prima rivoluzione è stata con i Just in Time Compilers (JIT compiler) come Tamarin di Adobe. I motori JIT nei browser hanno fatto di JavaScript un linguaggio molto veloce. Chrome ha la V8, Firefox ha JägerMonkey e ogni browser ha un suo compilatore JIT che fa dello JavaScript veloce quanto Java.
Ma la rivoluzione è stata sopratutto nel linguaggio. Quattro tecnologie vogliono cambiare il nostro modo di scrivere Javascript e devi sceglierne uno. Scrivete ancora il codice Javascript nudo senza un framework o compilatore? Siete nel passato!

I fantastici quattro
CoffeeScript
La rivoluzione di Coffeescript è molto interessante. Molto simile al DART, CoffeeScript è un precompilatore Javascript in cui i programmi con una sintassi simile a Python con il software genera il codice JavaScript. A tutti gli effetti è JavaScript puro, ma con una sintassi migliore e una libreria nativa migliore.
Ad esempio, questo è il classico ‘Ciao Mondo’ scritto per CoffeeScript con funzioni, dichiarazione d’oggetto JSON e invocazione:
messaggio =
    parte1: "Ciao "
    parte2: "Mondo"
ciaoMondo = -> alert messaggio.parte1 + messaggio.parte2 + "!"
ciaoMondo()
E questo è l’output compilato in Javascript:
var ciaoMondo, messaggio;
messaggio = {
  parte1: "Ciao ",
  parte2: "Mondo"
};
ciaoMondo = function() {
  return alert(messaggio.parte1 + messaggio.parte2 + "!");
};
ciaoMondo();
È efficiente, robusto e tutto diventa uno JavaScript nativo. Se si preferisce Python o Ruby a Java, allora CoffeeScript è la via. Se siete più tradizionali e preferite lo Java, scommetete su DART.
DART
DART è lo sforzo di Google per creare uno Javascript insieme a Java. I programmi DART con la propria sintassi allo stile Java, e se siete in Chrome, si eseguono in modo nativo. Se siete su un altro browser, DART è in grado di “complirsi” da solo come uno JavaScript normale. Quindi funziona in tutti i browsers.
I vantaggi: DART è un vero linguaggio orientato agli oggetti. Spazi dei nomi, classi, interfacce, ereditarietà, design pattern, tutto ciò che ci si aspetta da un linguaggio robusto e potente con tutte la ingegneria del software applicabile. Ad esempio, ecco un ‘Ciao Mondo’:
class CiaoMondo {
   static testMain() {
      print("Ciao Mondo!");
   }
}
main() {
   CiaoMondo.testMain();
}
Gli svantaggi: Questo ‘Ciao Mondo’ di cinque righe circa di codice diventano 17 mila linee compilandolo per lo JavaScript! Ancora è in sviluppo sia nel linguaggio che nel compilatore (alpha), ma la necessità di precompilare prima di utilizzarlo rende DART, anche se promettente, un’opzione precoce.
Node.js
Node.js ha la capacità di utilizzare JavaScript lato server (server-side), come si usa PHP. È possibile programmare l’intera applicazione con JavaScript. Un altro vantaggio? Condividono gli stessi ambiti di variabili. Si possono condividere i dati JSON tra client e server in modo trasparente, senza le variabili di sessione o cookies. Un altro vantaggio? È a tempo reale. Utilizzando i websockets, l’AJAX pooling, il proxy http e altre tecniche, Node.js crea una connessione per lo scambio di dati in tempo reale con il server.
Fare una chat, ad esempio, è così semplice come scrivere questo sul server:
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
   socket.on('chat', function (data) {
      socket.emit('room', { messaggio: data.messaggio });
   });
});
E questo è lo JavaScript dell’HTML
<script src="/socket.io/socket.io.js"></script>
<script>
   var socket = io.connect('http://localhost');
   socket.on('room', function (data) {
      // codice per inserire un nuovo  
      // messaggioin una conversazione
   });
   // codice per inviare come client
   // un messagio alla chat
   socket.emit('chat', { nick: "pippo", messagio: campo.value });
</script>
Svantaggi? È proprio un server, non si attacca ad Apache o simili. È ancora un po’ in fasce, ma ci sono interi framework per sviluppare delle applicazioni web (webapps) come ExpressJS ch’è ciò ch’è Django per Python o PHP.
jQuery, jQuery UI e jQuery Mobile
jQuery è il framework più popolare per eccellenza. jQuery UI è l’estensione di jQuery piena di componenti di interfacce per la creazione di applicazioni browser-based complete. Ma la gente di jQuery ha creato qualcosa di più bello con jQuery Mobile.
Con l’aiuto di Adobe e il suo Roller Theme, jQuery Mobile consente di creare applicazioni web completamente per tutti i tipi di telefoni cellulari e tablet senza HTML. Definisce tutto in JavaScript. Definisce intestazioni, sezioni, pulsanti, cursori, disegni, colori, schermi, effetti. Tutto. jQuery Mobile si occupa di convertire tutto in qualcosa di visivo, carino, veloce e funzionante su tutti i telefoni moderni e meno moderni.
E se aggiungiamo PhoneGap (che ora è di Adobe o Adobe AIR), possiamo con lo stesso codice creare una applicazione multipiattaforma nativa per iPhone, iPad o Android.
La fine dell'incompatibilità
La magia dietro le cose come Coffeescript, DART, jQuery, e Node.js è che sono al 100% retrocompatibili con tutti i browser, e anche sui più vecchi. Sono finiti i giorni in cui uno script non funzionava con IE o in qualche altra cosa strana non funzionava con Firefox o Chrome. Ora, scrivi il codice una sola volta e avranno lo stesso aspetto su tutti i browsers.
Salvo, naturalmente, se scrivi il codice in JavaScript puro. Questo è molto stimolante, ma improduttivo. I frameworks rendono la vita facile; i grandi li usano e perché non usarli noi?
Similari
Il framework jQuery e jQuery-plugins
14% Plugins
jQuery è una ben nota libreria Javascript Web 2.0 light-weight cross-browser, sviluppato da un team guidato da John Resig. jQuery è costruito sulla cima di Sizzle, che è un motore per i selettori CSS scritto in Javascript …
Sporca e veloce finestra modal
10% JQuery
Se avete bisogno di una finestra modale e avete jQuery caricato si può semplicemente personalizzare e incollare le seguenti righe di codice in qualsiasi gestore di eventi o eventhandler per far apparire rapidamente un mess…
Mostrare avvisi ed errori con jQuery UI
8% UI
Esiste una libreria molto interessate se si usa jQuery ch’è jQuery UI. L’insieme di queste librerie sono molto utili e facilitano il lavoro con l’HTML nella pagina web. Nel caso di jQuery UI, ci sono un buon numero di cont…
Finestre di messaggio CSS con CSS3
7% Css3
Quando si sviluppano applicazioni Web e si vuole visualizzare i messaggi all’utente, sarebbe opportuno renderli il più chiaro possibile. Inoltre, i colori possono dare all’utente una rapida occhiata su quello che sta succe…
Creare URL corto utilizzando jQuery e Ajax
7% JQuery
Molti tutorial disponibili sul web per la creazione di URL brevi utilizzano lo script sul lato server, questo script funziona sul lato client. È facile e ha soli 5 righe di codice per chiamare le API di Bit.ly in modo asin…