2010-06-18 9 views
9

He estado aprendiendo el framework web de Ruby Sinatra últimamente, y me parece genial usarlo. La mayoría de los artículos y blogs sobre los que he leído parecen suponer que solo es bueno para sitios web pequeños o "pequeñas" aplicaciones web. ¿Es esto cierto? ¿Se puede construir una aplicación web completa en Sinatra, o Ruby on Rails es el camino a seguir?¿Cuál es el límite de Sinatra?

+0

Yo diría que no hay límite. ;-) – Derek

Respuesta

9

En teoría, podría construir una aplicación web completa utilizando Sinatra, y le ofrecería más control de precisión de lo que lo haría Ruby on Rails.

Dicho esto, también elimina todas las bonitas funciones que Ruby on Rails le ofrece, como la arquitectura Model-View-Controller.

Si está buscando construir una aplicación web con interacción con la base de datos, le recomiendo usar Ruby on Rails.

Si está buscando construir una API muy simple o algo que simplemente tome algunos datos y los arroje a Twitter o algo así, siga adelante y use Sinatra.

+4

¿Qué pasa exactamente con sinatra que te obliga a perder la arquitectura MVC? Yo diría que pierdes las cosas al estilo de los "rieles", pero nada te impide organizar tu aplicación de manera MVC. Además, si necesita la gema ActiveRecord en su aplicación sinatra, tiene toda la interacción de la base de datos de los raíles que pueda desear. Sinatra te permite hacer las cosas a tu manera. No creo que te limite de ninguna manera. – Derek

+4

Dije que elimina la arquitectura, no la capacidad de usar una. Tampoco dije que te limita (de hecho, dije que ofrece más control de precisión). Mi punto era que Rails _provides_ (y en cierta forma ordena) una arquitectura MVC sólida, mientras que Sinatra no lo hace. –

5

No hay ninguna razón para que no se pueda usar para crear un sitio web empresarial. Es rápido e intuitivo. Dos cosas clave en la construcción de una aplicación web más grande. Si bien carecen de muchas de las características de Rails, aún no me he encontrado con un bloqueo de carretera.

Personalmente, me gusta la naturaleza delgada de Sinatra. Abarca el enrutamiento en lugar de convertirlo en un dolor de cabeza.

Normalmente me encuentro luchando con Rails, mientras que configuro Sinatra a mi gusto.

En cuanto a la interacción de la base de datos, mongo_mapper + Sinatra funciona muy bien.

Cuestiones relacionadas