2009-05-29 17 views
10

Por razones ajenas a mi control, me están encomendando el desarrollo web de Ruby que NO utiliza Rails ni ningún otro framework de peso pesado como Merb. Me pregunto si alguien más se ha encontrado con esto y puede recomendar mejores prácticas o recursos que describan las mejores prácticas para ese problema. Me gustaría evitar el temidodesarrollo web con ruby ​​sin rieles?

out.print('<td class="foo">'+some_data+'</td>') 

estilo de desarrollo web. Un compañero de trabajo ha sugerido Rack como un marco ligero, pero la documentación es incompleta y parece no probada en el mercado.

+1

¿Qué quiere decir "peso pesado"? – jshen

+0

En realidad, Rails ahora (a partir de 2.3) depende de Rack. El rack es de muy bajo nivel, por lo que es probable que no encuentres el tipo de documento que estás buscando. Pero es una muy buena pieza de software. – webmat

Respuesta

17

Eche un vistazo a Sinatra. Es un marco, pero no tan pesado.

+1

Sinatra puede manejar más carga y funcionalidad de lo que algunos puedan pensar a primera vista, lo suficiente como para que Rails corra por su dinero. –

+7

Técnicamente, si se echa un montón de basura, un archivo totalmente en blanco puede * convertirse en * Rails. – Chuck

+1

Por eso usa Sinatra, por lo que no se convierte en eso. –

1

Como siempre es bueno ol 'cgi.rb está disponible.

+0

Si usa cgi.rb, considere crear un conjunto de clases de elementos para ajustarlo. – finnw

0

¿Has echado un vistazo a Sinatra? Es un marco, pero no tan pesado como Rails. No lo he probado yo mismo, pero parece ser muy fácil trabajar con él.

Además, Ramaze parece ser agradable y modular, pero no estoy seguro de si es lo que busca.

No sé cuán fácil es usar Ruby directamente como un cgi, pero también debería ser posible separar el diseño del código con eso. Hay bastantes gemas que pueden hacer eso sin usar un marco.

7

Mire Rack y Sinatra o Waves. Rack no está probado en el mercado. Rails está construido en la parte superior del rack estos días. Tampoco es un marco, permite que los marcos se centren en su diferenciador en lugar del trabajo de bajo nivel ocupado.

También puede usar jruby y java servlet api directamente. Por cierto, todos los marcos basados ​​en rack se pueden ejecutar fácilmente en jruby.

3

Rack no es un framework de aplicaciones sino una interfaz de servidor. Probablemente querrá usarlo para este proyecto, pero no resolverá su problema de querer un framework sin usar un framework. En cualquier caso, si quieres "evitar el temido out.print('<td class="foo">'+some_data+'</td>')", vas a tener que usar un sistema de plantilla como mínimo. Hay muchos disponibles, como ERb (que Rails usa por defecto) y Haml.

0

Mi elección personal y recomendación es Ramaze - es lo más simple posible, pero no es más sencillo. Limpio y conciso sin sacrificar poder. Baila bien con su elección de JS lib (jQuery, Prototype, Mootools) o ORM (Sequel, Datamapper, M4DBI) o motor de plantillas. Además, no se olvide de los generadores estáticos como nanoc.

2

Ve con Ramaze. Lo estoy usando en producción, corriendo en JRuby y Glassfish.

Facilidad de desarrollo, soporte sólido de la comunidad. Sin cruft. Al igual que Ruby, se sale de tu camino.

2

Puedo unirme a todos los que recomiendan Sinatra. Es compacto, una alegría para codificar, y se implementa en Rack, lo que significa que realmente lo ejecuta en cualquier pila que le apetezca (mestizo, FCGI, fino, pasajero, etc.)

Probé Sinatra cuando necesario para obtener un proyecto rápido y escala & funcionó tan bien que todavía lo estoy usando hoy para manejar más de 80,000 solicitudes pesadas al día.

0

Es muy posible, todo mi sitio web se ejecuta en rubí puro.

No he encontrado ningún problema. Comienzo mi aplicación con

require "mysql"        # module | mysql 
require "cgi"         # module | cgi 
require "date" 
+4

por favor explique – johannes