2009-07-25 19 views
7

Me gustaría distribuir una aplicación de rieles como una aplicación de doble clic. Cuando alguien hace doble clic en la aplicación, creo que mongrel debe iniciarse y luego el navegador del usuario debe iniciarse y abrirse para algo así como localhost: 3000 Estoy tratando de resolver lo que necesitaré para hacer esto, creo que ' Necesitaré incluir una copia de los rieles en el proyecto y una copia de las gemas. ¿Necesito distribuir ruby? Inicialmente estoy buscando apuntar al Mac y Linux para su distribución. ¿Alguien tiene alguna experiencia en la aplicación de carriles de embalaje como este?Distribución de aplicaciones de rieles como aplicaciones nativas

La aplicación me gustaría despliegue es un servidor de centro de prensa para los medios de comunicación de un usuario. Lamentablemente, esto significa que no puedo tener un servidor público que atienda a los medios. Construí el servidor usando ruby ​​on rails y tareas de rake para importar y administrar los medios. ¿Hay una buena manera de hacer que esto sea fácil de instalar para los usuarios? La idea era que con una doble aplicación clicable sería fácil para los usuarios subir y bajar el servidor.

+0

¿Qué sucede si uno de tus usuarios es un desarrollador de rieles y el puerto 3000 ya está en uso? – nilamo

+0

Había pensado en eso, estaba pensando que usaría el puerto 8001, ya que parece bastante lejos del alcance de los puertos de uso normal. ¿Tienes alguna sugerencia? – nixterrimus

Respuesta

3

He decidido utilizar jruby y mirar en el envasado de la aplicación como una aplicación de java.

+0

Si va a empaquetarlo, esa es una manera bastante decente de llevar. Sigo pensando que estás calzando un poco, pero al menos lo estás pensando. Espero que vaya bien. – nitecoder

+0

Gracias, railsninja, creo que es la forma más estable de distribuirlo. Realmente aprecio toda su ayuda e incito. – nixterrimus

1

El malogrado Joyent tirachinas hizo exactamente eso, se permitió incrustar su aplicación Rails como un ejecutable independiente bajo Windows y Mac. Incluso proporcionó un método simple pero directo para permitir la sincronización de datos con una versión en línea. Por desgracia, no ha visto ninguna actividad en mucho tiempo.

https://dev.joyent.com/projects/slingshot/wiki/Slingshot

+0

Esto parece exactamente lo que estoy buscando pero no se ha actualizado durante más de un año. :(¿Has oído hablar de algún reemplazo para él?Me pregunto qué tan difícil sería intercambiar versiones más nuevas de los rieles y los otros activos que contiene. Es de código abierto ... – nixterrimus

+0

En teoría, no debería ser tan difícil, al menos en OSX: incorpora su propio intérprete de Ruby y su propio repositorio de Gem. – pantulis

+0

Vi eso, pantulis, tengo curiosidad si hicieron cambios en el intérprete de stock ruby. Parece a partir de algunos de sus mensajes de confirmación que hubo algunos ajustes interesantes para crear su "VM". – nixterrimus

1

Spiceworks es una aplicación de escritorio Rieles-desplegado, o al menos lo era hace un par de años. Es una descarga gratuita (compatible con publicidad).

+0

Parece una aplicación interesante, que tenían más información sobre cómo estaban logrando la configuración de la aplicación local. – nixterrimus

-1

Si desea escribir aplicaciones de escritorio, escribir aplicaciones de escritorio, si desea escribir aplicaciones web, escribir aplicaciones web.

+0

Creo que en la mayoría de los casos tiene toda la razón, pero creo que mi caso puede ser único y me gustaría volarlo. Estoy construyendo una aplicación que sirve medios a través de la red local de un usuario a través de un servidor web. Entonces el usuario puede venir y escuchar su música directamente en su navegador. Quiero que sea tan fácil de instalar y usar como sea posible, así que la idea era tener una aplicación de doble clic que inicie su servidor de medios para su red. ¿Tiene sentido si se lanza una aplicación web como una aplicación de escritorio? ¿Puedes pensar en un mejor enfoque para esto? – nixterrimus

+0

@nixterrimus: idea genial, y veo a dónde vas con eso, pero voy a tener que estar de acuerdo con @railsninja aquí: no creo que intentar convertir una aplicación de Rails en una aplicación de escritorio sea el camino para ir con esto Yo personalmente iría con un entorno de programación orientado a escritorio como C#, pero aún puedes escribir tu aplicación con Ruby y compilarla en un ejecutable (sé que hay compiladores de Python como este, pero no sé nada de Ruby , entonces estás solo). Simplemente escribe una pequeña envoltura alrededor de Mongrell o del servidor que quieras usar. –

+3

No estoy diciendo que no use Ruby, ciertamente puede usarlo para una aplicación de escritorio, pero Rails como una aplicación de escritorio es realmente una situación de agujeros redondos de clavijas cuadradas. – nitecoder

0

Eche un vistazo a shopify y su aplicación de diseño de tema. http://vision.shopify.com/ Es más o menos exactamente lo que estás hablando. Todo lo que han hecho está escrito en un apéndice para ambas plataformas que lanza el proyecto de rieles. Puede echar un vistazo al código que verifica la exploración del proyecto de rieles a través del contenido del paquete de la aplicación de visión.

+1

Este tipo de cosas está realmente escrito para desarrolladores. ¿Te imaginas tratar de guiar a los usuarios a través de una instalación de pasajeros Apache/nginx + o peor, ayudándoles a controlar su instancia de mestizo? No, gracias. – nitecoder

0

Estoy de acuerdo con los críticos anteriores con respecto a las aplicaciones de escritorio, pero me encuentro escribiendo aplicaciones web para el escritorio (en su mayoría widgets con Fluid) por lo que entiendo el problema. ¿Alguien ha echado un vistazo a Titanium Desktop de Appcelerator (http://www.appcelerator.com/)? Lo intenté inicialmente y se requirió un poco de manipulación, pero el resultado final fue más o menos una aplicación de escritorio.

+0

Parece interesante pero es una dirección diferente a la que voy. La aplicación en la que estoy trabajando permite que los usuarios sirvan los medios en toda su red, por lo que la aplicación debe ejecutarse localmente y tener acceso a recursos locales (pero muy limitados). Gracias por las advertencias sobre esto, sin embargo, es posible que tenga una necesidad en el futuro. – nixterrimus

0

En el futuro, creo que MacRuby proporcionará una excelente manera de ejecutar aplicaciones web en el escritorio (me refiero al escritorio OS X): en teoría, podría hacer girar una aplicación Rails y luego tener un punto WebView para la aplicación Rails. Actualmente, todavía se están enfocando en hacer de MacRuby un ciudadano de primera clase del ecosistema OS X, pero el soporte de Rails está en la hoja de ruta.

MacRuby también es emocionante por el trabajo en el AOT compiler, con el que puede compilar el código de Ruby en el código de máquina.

+0

Espero ese día cuando macruby pueda concluir una aplicación de rieles. Me encantaría apuntar solo al Mac para mis lanzamientos, pero estoy seguro de que es razonable en este momento. – nixterrimus

Cuestiones relacionadas