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!
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()
var ciaoMondo, messaggio;
messaggio = {
parte1: "Ciao ",
parte2: "Mondo"
};
ciaoMondo = function() {
return alert(messaggio.parte1 + messaggio.parte2 + "!");
};
ciaoMondo();
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();
}
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 });
});
});
<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>
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.
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?
Ancora nessun commento