Pregunta

Estoy aprendiendo rieles y tienen muy poca idea sobre Sinatra y Merb. Me preguntaba son las situaciones en las que usaría Merb / Sinatra.

Gracias por su respuesta!

¿Fue útil?

Solución

Sinatra es un marco de peso mucho más pequeño, más ligero que los carriles. Se utiliza si quiere conseguir algo de correr rápidamente que simplemente envía fuera de unas pocas direcciones URL y devuelve algo de contenido simple. Echar un vistazo a la Sinatra página de inicio ; eso es todo lo que necesita para obtener un "Hola, mundo" en funcionamiento, mientras que en los carriles que se necesita para generar una estructura de todo el proyecto, creó un controlador y una vista, configurar el enrutamiento, y así sucesivamente (no he escrito una aplicación Rails desde hace tiempo, así que no sé exactamente cuántos pasos "Hola, mundo" es, sin duda, pero es más de Sinatra). Sinatra también tiene un número mucho menor que las dependencias rieles, por lo que es más fácil de instalar y ejecutar.

Estamos utilizando Sinatra como un servidor web de prueba rápida para algunas bibliotecas de cliente web que estamos escribiendo ahora. El hecho de que podemos escribir un solo archivo e incluir toda nuestra lógica en la que un archivo, y tienen muy pocas dependencias, significa que es mucho más fácil de trabajar y ejecutar nuestras pruebas de que si tuviera una aplicación Rails.

se fusionan en rieles , tan bonita pronto no debería ser realmente ninguna razón para usar uno sobre el otro. Fue diseñado originalmente para ser un poco más ligero de peso y más disociadas de los carriles; Rieles habían construido en más supuestos que utilizaría ActiveRecord. Pero a medida que se están fusionando los dos, que son la disociación rieles de manera similar, por lo que si usted está ya rieles de aprendizaje, entonces es probable que vale la pena para quedarse sólo con eso y seguir los acontecimientos a medida que llegan.

Otros consejos

No puedo hablar mucho de Merb, pero Sinatra es altamente eficaz para soluciones pequeñas o ligeras. Si no está trabajando con una gran cantidad de código, o no necesita un gran sitio web, puede codificar un sitio muy eficaz con Sinatra sea tan rápido, o dos veces más rápido que en los carriles (en mi propia opinión).

Sinatra también es excelente para piezas fragmentarias de una aplicación, por ejemplo, el front-end para un paquete de estadísticas. O algo así ErrCount , que se encuentra a muy simple contador de visitas.

Así que pensar en la luz, rápido y aplicaciones web altamente simplistas (aunque la complejidad es su elección) cuando se utiliza Sinatra.

La forma de las cosas, que va a ser una cuestión discutible pronto.

Como se ha mencionado ya, Merb 2,0 y Rails 3.0 van a ser lo mismo. Los equipos básicos combinados recién Merb y los carriles ya están trabajando en lograr eso. No sé si todavía están pensando en un comunicado (probablemente una beta) por RailsConf en mayo, pero definitivamente sucediendo este año.

Si usted está empeñado en utilizar un ORM que no sea ActiveRecord, por ejemplo, puede comenzar con Merb de vez en cuando la actualización 2.0 (Rails 3.0) los buques. En este momento, Merb es generalmente aceptado para proporcionar un mejor marco para variar los componentes de uno de los carriles.

Sinatra se ve como una solución brillante para una aplicación web que tiene una baja complejidad interfaz y algo menor código de nivel modelo de lo que sería normal para Merb / rieles. La implementación de las API REST sencillos sería una gran utilidad. Estoy menos convencido de su valor cuando se trata de cualquier cantidad de HTML, menos aún cuando se involucra de plantillas.

Una vez más, con los carriles (y por tanto Merb pronto) ahora se sienta encima del estante, no hay razón para no incluir bebé Sinatra aplicaciones en la solución: que puedan vivir juntos. Hay un blog puesto que discute ese mismo concepto

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top