ho appena cominciato il mio primo progetto rails e ho smanettato con
l’aspetto della homepage (reset css, e un p di layout, cos per giocare
un
p con compass :P)
ora come prossimo passo mi piacerebbe implementare una chat in tempo
reale,
senza alcun tipo di utenza, pubblica diciamo (per semplificarmi il +
possibile la vita) inserisci il tuo nome e parli!
Consigli? Fonti da condividere al riguardo? Gemme in particolare?
Riaccendo la conversazione dopo aver provato private_pub
a parte il fatto che non mi si installa la gemma su windows (su ubuntu
si…), il problema di private_pub (e di faye) che praticamente usa un
altro server thin per rendere i messaggi in tempo reale…
Siccome utilizzo heroku (al momento gratuitamente) faye ovviamente non
mi
funziona.
Ho sentito parlare di un’altra soluzione con la gemma “Pusher”, cosa ne
pensate?
Avete altre gemme da proporre? O altre soluzioni?
Il giorno 19 gennaio 2012 10:46, Luca B. [email protected] ha
scritto:
Pusher se non sbaglio è un servizio che offre un servizio di Websocket e
se superi una certa soglia inizi a pagare…
Non so, ma credo che per fare una chat realtime ti serve poter gestire
un server asincrono oppure vai su IRC
In alternativa non la fai realtime e via js fai una richiesta ogni x
secondi per vedere se c’è qualcosa di nuovo
In effetti dal sito di Pusher c’ un limite di 20 connessioni (credo
contemporanee) e 100,000 messaggi al giorno per utilizzare le API in
modo
gratuito. C’ una libreria che offre funzionalit simili (cross-browser) e
si basa su node.js, si chiama socket.io (http://socket.io/). Permette
comunicazioni full-duplex tra client (browser) e server, nascondendo i
tecnicismi sottostanti (websockets, long polling, ecc…) che la libreria
utilizza under-the-hood per garantire la compatibilit con tutti i
browser
(anche su mobile a quanto pare). Consiglio la lettura di questo articolo http://howtonode.org/websockets-socketio in cui, dopo una chiara
introduzione alla libreria, parla proprio di implementare una chat
realtime
in 10 linee di codice. Mi sembra che Heroku supporti anche applicazioni
node.js.
Cmq a quanto pare vedo che implementare comportamenti real-time in Rails
non cos semplice, visto che probabilmente non dovr fare solo la chat in
tempo reale, forse meglio che cambio proprio framework? Zan zan zaaan!
(vi pongo questa domanda perch leggo spesso in giro per forum e affini
che
l’architettura di Rails non adatta per questi comportamenti…)
Il giorno 01 febbraio 2012 10:53, Massimiliano T. < [email protected]> ha scritto:
Cmq a quanto pare vedo che implementare comportamenti real-time in Rails
non cos semplice, visto che probabilmente non dovr fare solo la chat
in
tempo reale, forse meglio che cambio proprio framework? Zan zan zaaan!
(vi pongo questa domanda perch leggo spesso in giro per forum e affini
che
l’architettura di Rails non adatta per questi comportamenti…)
Praticamente nessun framework full-stack MVC lo e’.
Queste tecnologie si basano sul tenere aperte connessioni per molto
tempo,
e il 99% delle volte i framework mvc sono pensati con
1 connessione → 1 richiesta.
Alla connessione poi spesso e volentieri (come nel caso di rails)
corrispondono un processo/thread e a questo punto per avere una chat con
10 utenti ti ritrovi a spendere un capitale.
Anche io mi sento di consigliarti node.js per questi “utilizzi”. Non
sono
un grande fan di javascript, ma ti assicuro che implementare le stesse
cose con un altro linguaggio/tool e’ davvero complesso. (in realta’
eventmachine di ruby fa a pezzi node.js come architettura, ma non
dispone
di un equivalente di socket.io altrettanto valido)
Occhio anche al webserver che metterai davanti (se ce lo metti)
praticamente nessuno dei “famosi” supporta socket.io se non attraverso
moduli di terze parti.
infatti quello che sto pensando (ho poca esperienza con heroku ancora!)
in locale private pub mi funziona alla perfezione! Apro 2 terminali, sul
primo faccio rails s e sul secondo faccio rackup private_pub.ru -s
thin
-E production che sarebbe il comando per far partire il secondo server
online funziona, ma non c’ il realtime in quanto appunto non esegue il
secondo comando… come dovrei fare?
Il giorno 02 febbraio 2012 00:14, gabriele renzi [email protected] ha
scritto:
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.