2010-08-20 47 views
27

Me pregunto cómo integrar node.js en una aplicación de rieles (para fines de aprendizaje).Ruby on rails y Node.js

Basado en el tutorial de Michael Hartl (http://railstutorial.org/) Me di cuenta de un clon de Twitter básico con rieles y quiero obtener microposts de usuario en tiempo real sin el uso de cometa o monstruo. (la aplicación está alojada en heroku)

Por el momento, solo veo ejemplos con frameworks node.js (http://howtonode.org/grasshopper-shoutbox) pero nada fusionado con una aplicación ruby ​​on rails. Estaría muy agradecido si alguien conoce un buen tutorial o me da algunos puntos para comenzar a fin de lograr esto.

Gracias!

Respuesta

13

Como dijo Shripad, consideraría tratar de construir tu aplicación con Node por sí mismo. Geddy se sentirá familiar (comenzando de todos modos) si tiene experiencia con Rails. Nota: No tengo experiencia en una aplicación del mundo real con Geddy, pero es el mejor framework de Rails que he visto hasta ahora. Para la persistencia puede usar SQLite, PostgreSQL o CouchDB, tal como lo haría con Rails. Pensé en cómo comunicarme entre una aplicación de Rails y Node sin ningún intermediario. En nuestro proyecto de trabajo, utilizamos a Redis como intermediario entre Rails y Node. Rails publica mensajes en Redis, Node extrae mensajes de Redis. No pude encontrar una buena manera o proyectos de ejemplo para evitar la capa de comunicación intermedia en un proyecto personal, así que fui con la misma configuración. La buena noticia es que los módulos de Node Redis están escritos y una vez que tienes todo instalado, es fácil probar presionar los mensajes hacia adelante y hacia atrás.

+2

+1 para Geddy. Tengo que echarle un vistazo ahora. :) –

+0

¡Gracias chicos! – user425891

+2

También puede consultar http://www.perfectline.ee/blog/optimizing-ruby-on-rails-application-with-nodejs para un caso similar –

4

Si está buscando crear aplicaciones en tiempo real, entonces vaya con node.js (alta concurrencia) solo. Realmente no puedes integrar node.js en una aplicación de rieles. Sin embargo, puede tener una configuración de servidor de nodo en otro puerto con una API y websockets configurados y luego hacer que su aplicación de rieles se comunique con ese servidor. Es PITA hacer ese tipo de configuración. Prefiere construir toda la aplicación web en el nodo mismo. Sin embargo, si quieres que los rieles sean específicos y que no utilicen juggernaut, sugeriría http://www.pusherapp.com.

Su servidor extremadamente fácil de configurar empuje utilizando Pusher.

0

** nodo Ejecutar junto a su servidor rieles **

Si desea intergrate su aplicación Rails con el Nodo podría utilizar el node-rails gem

Node Rails le permitirá ejecutar un servidor Node junto con su aplicación Rails y tener las dos autenticaciones compartidas NodeRails supone que está utilizando Devise para su autenticación. Node-Rails usa [redis gem] [2], por lo que deberá tenerlo instalado. Learn more about using npm packages on Rails.