portable - Opciones para la distribución de una aplicación fuera de línea Ruby on Rails
ruby on rails last version (7)
Estoy desarrollando una aplicación para usar Ruby on Rails, principalmente como una excusa para aprender el idioma.
Esto no pretende ser una aplicación basada en la web, y tal vez he elegido el idioma equivocado, pero ...
Según entiendo, para poder ejecutar una instancia de esta aplicación en la computadora de otra persona, tendrían que instalar ruby on rails, y un servidor web (o webrick, tal vez), así como también mi código de aplicación.
Solo tengo curiosidad si hay otras opciones para distribuir mi aplicación como una aplicación independiente, o quizás simplemente una forma simple de empaquetar un navegador web y ROR junto con mi aplicación para una instalación sencilla de un solo paso.
La forma en que la mayoría de la gente envía programas de ruby, incluyendo Rails webapps, como un ejecutable independiente es a través de rubyscript2exe. Describen cómo empaquetar una aplicación de Rails en http://www.erikveen.dds.nl/distributingrubyapplications/rails.html . Ruby, Rails y todas las bibliotecas asociadas se incluirán en el archivo EXE.
Como otros mencionaron, Ruby no es necesariamente Rails y si realmente quieres una manera fácil de escribir una aplicación GUI distribuible en Ruby, Shoes es un excelente lugar para empezar a buscar.
No especifica específicamente si se supone que es una aplicación GUI o no. De las otras respuestas, supongo que sí.
Por lo tanto, debe aclarar cuáles son sus objetivos. RoR es un marco especializado para aplicaciones web. Si tu objetivo es aprender RoR, te recomiendo conseguir un alojamiento web económico y crearte una aplicación. Si tu objetivo es aprender Ruby, no necesariamente Rails, entonces Shoes, IronRuby, JRuby, MacRuby y otros pueden ser buenas opciones para mirar.
Personalmente, nunca tuve la necesidad de hacer esto. Pero, me encontré con este tutorial http://www.erikveen.dds.nl/distributingrubyapplications/rails.html que creo que será útil. El tutorial cubre cómo convertir realmente una aplicación de rieles en un archivo ejecutable independiente.
Siempre podría considerar compilar su código de bytes de Ruby a JVM (a través de JRuby ) o el byte-código .NET (a través de IronRuby ) para distribuir a las personas que tienen esas máquinas virtuales y no desean instalar un tiempo de ejecución de Ruby.
Es posible que desee consultar Zapatos para la construcción de aplicaciones de escritorio en Ruby. Rails realmente está afinado para construir sitios web.
Gears on Rails tal vez?
Tenga en cuenta que Slingshot parece ser un proyecto muerto (ver comentarios). Dejaré esta respuesta aquí para propósitos históricos y la posibilidad de que regrese
El Tirachinas de Joyent podría ser una buena apuesta.
Joyent Slingshot permite a los desarrolladores implementar aplicaciones de Rails como una aplicación de escritorio estándar, que funcionan en línea y fuera de línea (con sincronización), arrastran y sueltan, e interactúan con todas las demás aplicaciones de escritorio.
Con Joyent Slingshot:
- Crear una aplicación web / escritorio híbrida
- Sincronizar datos en línea y fuera de línea
- Use el mismo código para aplicaciones en línea y fuera de línea
- Implementa y actualiza tu aplicación fácilmente
- Arrastre dentro y fuera de la aplicación
Aquí hay algunos otros enlaces para ayudar con su evaluación y / o para ayudarlo a comenzar:
Puede incluir Ruby on Rails al congelarlo en la versión de Rails que quiera usar en su proyecto. Ellos llaman a esto Congelamiento. El usuario no tendrá que instalar Rails para usar su aplicación. Puede hacer esto con cualquier biblioteca que use en su proyecto. Si el proyecto usa una biblioteca, simplemente colóquela debajo de la carpeta del proveedor en su proyecto. Luego use una herramienta similar a la que respondió @Josh con para empaquetarla.
Sin embargo, necesitarás un servidor web para ejecutar el proyecto. No hay forma de evitar esto. Ruby on Rails es como ASP.NET en este sentido, ya que es un marco del lado del servidor. El servidor ejecuta el código y envía el código HTML al navegador utilizando el marco Rails.
Lamentablemente, es posible que haya elegido el marco incorrecto para hacer lo que quiera. En lugar de Ruby on Rails, es posible que desees consultar Shoes , que es un marco para desarrollar aplicaciones de GUI con Ruby.