La storia recente del Web 2.0 ha mostrato come la tendenza degli sviluppatori a concentrarsi maggiormente sulle applicazioni online sia di fatto una necessità sulla quale sono nati diversi tipi di business. Servizi web e web application hanno popolato la Rete e continuano a fiorire mostrando un'infinità di livelli di completezza e di complessità: moltissime suite online sono ormai in grado di sostituire efficacemente i
vecchi pacchetti desktop; pensiamo a
Zoho o
Google Docs per esempio.
Dietro questi prodotti si nasconde un progresso tecnologico negli strumenti: se prima le RIA potevano contare su uno strumento certamente efficace, ma complesso, come Flash, oggi moltissimi programmatori si sono concentrati nello sviluppo di framework in grado di sostituire quella tecnologia; fra tutti segnaliamo
SproutCore.
SproutCore è un
framework JavaScript molto potente, che ha l'obiettivo di trasferire sul Web tutte le potenzialità delle applicazioni offline in termini di
user experience e capacità generali di elaborazione. Probabilmente la svolta al progetto la diede Apple quando nel 2008 scelse
SproutCore per implementare parte dei suoi servizi web come per esempio
MobileMe o l'estensione online di
iWork.
Il framework, che
supporta pure HTML5, è basato su pattern
MVC e sfrutta
Ruby per generare il risultante codice JavaScript.
SproutCore non è una semplice libreria al pari di
jQuery o
Prototype, ma di qualcosa di diverso e di ancora più potente: lo sviluppatore potrà gestire eventi complessi come per le applicazioni desktop. Per il salvataggio dei dati lato server il framework fa uso di chiamate
AJAX.
SproutCore è evidentemente multipiattaforma e supporta tutti i browser moderni. La
documentazione è sufficiente, ma per vedere subito all'opera
SproutCore consiglio di godersi alcuni
screencast.