Ho gi parlato di ci in altri thread, ma dopo qualche giorno di
smadonnamento mi sono rilassato e ho analizzato i miei obiettivi
attuali:
Ho bisogno di realizzare una moderna web application che sfrutti una
tecnologia in “realtime”, non importa che sia in Rails, il mio obiettivo
quello e sono disposto a cambiare rotta per raggiungerlo!
chiedo a voi quindi consiglio e magari inauguro una discussione al
riguardo
per capire la migliore strada da intraprendere…
requisito fondamentale al momento: devo poterla fare a costo zero, sono
venuto a conoscenza di servizi tipo *Pusher *che a quanto pare mi
permettono di rendere la mia Rails App in tempo reale… ma gratis solo
in parte…
Dunque, al momento sto dando uno sguardo alle seguenti soluzioni:
Implementare dei selvaggi setTimeout lato client che ogni tot di
tempo
aggiornano la mia app tramite ajax ( davvero cos pesante? Una soluzione
da deprecare?)
Utilizzare *node.js: *qui ne ho sentite di tutti i colori e forme,
*ruby
node.js*, now.js, rails + node.js!
Utilizzare il framework *Cramp *magari integrandolo in rails…
Eventmachine?
Bhoooooooo!
P.S. non sono molto esperto in reti, quindi cercate di spiegare le cose
+
tecniche, grazie!
P.P.S. avrei dei link da passare riguardo agli argomenti sopra elencati,
ma
al momento sono di fretta, forse + tardi…
Potresti provare Lift (un webframework scritto in Scala), uno degli
esempi
di partenza sul loro sito ufficiale proprio una chat real time
(utilizzando comet).
ad ogni modo, non essendo chiaro quello che devi fare, non nemmeno
semplice
affrontare una discussione. se stai studiando, allora comincia dalle
basi e
scrivi un’implementazione funzionante. gioca con il codice, documentati
e
sperimenta nuove strade finch non ti ritieni soddisfatto.
perdona la schiettezza, mi sembra che tu abbia ricevuto diversi spunti,
consigli
e links a riguardo, ma non puoi aspettarti che un argomento pittosto
complesso,
possa essere liquidato con qualche tool/libreria che ti permetta di
scrivere
applicazioni concorrenti senza un minimo sindacale di studio
Cacchio Lift mi sembra un p troppo, dovrei cambiare tutto! Comunque
possibile che nessuno sia interessato all’argomento?
Cosa speri di ottenere, finito il progetto?
Ovvero:
Lo fai per motivi commerciali e vuoi avere qualosa di funzionante al
piu presto possibile? Se si, quali sono i requisiti?
Lo fai per imparare. Allora, Rails, come hanno spiegato, non e il framework migliore per real time/async, etc.... e ti conviene Node.js (o Lift, Erlang o qualcos altro ma questi sono decisamente piu
difficili).
Lo fai come esperimento con qualcos altro in mente che vuoi
costruire. In quel caso, bisogna conoscere meglio le esigenze…
Nono, ma infatti so che complesso come argomento, pensavo solo che
stimolasse di pi la conversazione
Allora: io ho un progettino in mente, che per ora non ha scopi
commerciali,
ma se prende piede non mi dispiacerebbe che lo diventasse
Cmq mi piacerebbe arrivare ad implementare un architettura che sia
funzionale, che comprenda ajax, tecnologie per il realtime, un ORM (odio
toccare troppo sql :D), l’unico punto fisso sarebbe non cambiare
linguaggio
di programmazione l’ennesima volta: vorrei rimanere con Ruby (che mi
piaciuto!)
Cmq grazie per gli spunti! Stasera me li spulcio per benino
Il giorno 07 febbraio 2012 15:01, Andrea P. [email protected] ha
scritto:
Cmq mi piacerebbe arrivare ad implementare un architettura che sia
funzionale, che comprenda ajax, tecnologie per il realtime, un ORM (odio
toccare troppo sql :D), l’unico punto fisso sarebbe non cambiare linguaggio
di programmazione l’ennesima volta: vorrei rimanere con Ruby (che mi
piaciuto!)
Potresti scrivere il minimo possibile in Node.js e poi fare il resto
in Rails, comunicando tramite il DB, un API REST o qualcosa del
genere.
Immagino un’architettura websocket nel browser mappate sulle socket 0mq,
che collegano il browser bidirezionalmente ai backend che generano i
contenuti. Non è l’architettura tradizionale web ma neppure quello che
vuoi fare tu lo è, quindi un cambio radicale non sarebbe un imprevisto
Potresti provare Lift (un webframework scritto in Scala), uno degli esempi
di partenza sul loro sito ufficiale proprio una chat real time
(utilizzando comet).
se vuoi andare in scala landia, imo scalatra+socketio una curva di
apprendimento venti volte pi facile di Lift, e.g.
Scusa ma cosa intendi per realtime? Ti serve un middleware per gestire
code publish/subscribe? Per realizzare una chat puoi usare faye e non
lasciare ruby.
Il giorno 13 febbraio 2012 18:09, Riccardo T. [email protected]
ha
scritto:
Scusa ma cosa intendi per realtime? Ti serve un middleware per gestire
code publish/subscribe? Per realizzare una chat puoi usare faye e non
lasciare ruby.
S, ma devi lasciare Rails, perch Faye “gira” su EventMachine e Rails non
pensato per andare d’accordo con EM.
Quindi meglio di no.
IMHO il grande vantaggio di Ruby per lo sviluppo web Rails. Toglilo, e
per me molto meglio Nodejs con express e socketio.
Infatti sto effettuando un ripassone dalle basi per poi integrare le mie
conoscenze con questo nodejs, per mi scoccia abbandonare del tutto il
Ruby, pensavo di crearmi una specie di framework Sinatra - node.js (se
ho
capito che cos’ Sinatra chiaramente…)
Il giorno 14 febbraio 2012 16:03, Matteo C. [email protected]ha scritto:
Se devi scrivere applicazioni web non bloccanti con ruby devi usare
framework che si basino su eventmachine.
Come application server puoi dare un occhio a rainbows o thin.
Come framework esistono goliath, cramp, sinatra-syncrony,
async-sintra,cool.io… e non me ne vengono in mente altri.
Infatti sto effettuando un ripassone dalle basi per poi integrare le mie
conoscenze con questo nodejs, per mi scoccia abbandonare del tutto il
Ruby, pensavo di crearmi una specie di framework Sinatra - node.js (se
ho
capito che cos’ Sinatra chiaramente…)
Il giorno 14 febbraio 2012 16:03, Matteo C. [email protected]ha scritto:
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.