Vai al contenuto

Comet on Rails


redvex

Messaggi raccomandati

Ho qualche problema con il mio blog... posteggio un'articolo da queste parti, magari può interessare a qualcuno :ghghgh:

Un pò di storia

In principio era la richiesta sincrona, l'ipertesto aveva rivoluzionato il modo di condividere l'informazione, ma l'iteratività tra macchina ed utente era limitata alla scelta dei contenuti da visualizzare, rigorosamente statici.

Linguaggi di scripting

Poi arrivarono i linguaggi di scripting lato client e latoserver. Da un lato il modello iterativo si era trasformato grazie al DHTML grazie a Javascript e VBScript, dall'altro i gestori del sito potevano aggiornare i propri contenuti grazie a tecnlogie lato server come ASP, e la sua contropartita opensource PHP.

Flash

Un piccolo passo avanti per migliorare l'iteratività arrivò con Flash. Macromedia mise a disposizione degli sviluppatori un potente mezzo che rendeva una pagina internet, potenzialmente simile ad un'applicazione desktop, le richieste venivano (e tutt'ora vengono) gestite dal plugin flash che riporta avanti ed indietro in base ad aventi prestabiliti.

Ajax

La vera rivoluzione che diede il là tecnicamente al fenomeno del web 2.0 arrivo con Ajax. Un paradigma di programmazione che permetteva di effettuare richieste asincrone ad un web server. Le risposte erano (e sono) immediate e l'utente finale ha la sensazione del real time. Con Ajax arrivano i primi framework sviluppati in javascript capaci rendere semplice, ciò che semplice non era, ovvero le chiamate asincrone indipendenti dal browser (naturalmente IE è l'unico ad usare una tecnologia proprietaria). Tra questi Prototype, Scriptacoulus, JQuery e Dojo.

Comet

Arriviamo ai giorni nostri. Nel 2006 Axel Russel, sviluppatore di Dojo, coniò il termine Comet, per un paradigma asincrono in entrambe le direzioni, con questo modello il client continua a fare le proprie richieste in maniera asincrona al server che a sua volta risponde effettuando il push delle informazioni a tutti i client collegati.

Immaginate una chat: 100 persone collegate. Una di loro invia il suo messaggio che rimbalza nel server verso tutti gli altri client collegati.

Lo scopo di comet è garantire il real time. Un paradigma simile può essere rintracciato nelle email push, o nei calendari push o appunto nelle chat.

Comet on Ruby.

Grazie a Genky, uno sviluppatore asiatico innamorato di Ruby tutto ciò è non è solo possibile, ma addirittura semplice da realizzare.

1. #1: Creiamo il nostro progetto

2. $ rails real_chat

3. #2: Installiamo la gemma di shooting_star

4. $ gem install shooting_star

5. #3: Spostiamoci nella directory del progetto

6. $ cd real_chat

7. #4: Inizializziamo il server

8. $ shooting_star init

9. #5: Generiamo il backend

10. $ ruby script/generate meteor

11. #6: Usiamo lo scaffold messo a disposizione da shooting star per assaggiarne la potenza

12. $ ruby script/generate chat

13. #7: Lanciamo il web server

14. $ ruby script/server

15. #8: Lanciamo il push server

16. $ shooting_star start

Con pochi comandi e nemmeno una riga di codice abbiamo ottenuto una piccola chat funzionante tramite push.

http://localhost:3000/chat per vederla all'opera!

Volendo possiamo personalizzare la view o meglio ancora studiarne il codice per imparare ad usare i nostri servizi push cosa che nei prossimi giorni farò con attenzione per riportare da queste parti le mie conclusioni. :haha:

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...