tutorial español ruby-on-rails ruby sinatra

ruby-on-rails - español - sinatra ruby github



Sinatra vs. Rails (2)

He analizado algunas de las muestras de Sinatra y Rails, pero me cuesta mucho descubrir qué características pertenecen a qué tecnología.

¿Qué gano específicamente usando Sinatra / Rails? ¿Es sólo ActionPack / ActionView? Corríjame si me equivoco, pero PODRÍA usar Webrick / Mongrel y entregar mis archivos .erb, ¿no? Y podría usar la tecnología ActiveRecord en esos archivos y seguir accediendo a las variables de publicación, estado de sesión y variables de consulta, ¿no?

Entonces, lo que les pregunto es si empiezo con el escenario similar a PHP anterior; Webrick + ERB + ActiveRecord, ¿qué gano al usar Sinatra? ¿Y qué más gano al usar Rails?


La ganancia de Rails es ActionView / ActionPack. Pero solo puedes reemplazar por Mongrel / Erb. Es algo diferente.

Es todo lo que tiene en su vista, como name_route o gestión de errores en su formulario. Es toda la gestión de recursos y todos los complementos como InheritedResources. La ventaja de los rieles.

Hay algunas herramientas como el entorno de Padrino para ayudarlo a tener todo este ayudante. ¿Pero es realmente más rápido después de que todos los plugins se activen? No lo creo.

Con Rails 3, Rails es una aplicación completa de Rack con una gran cantidad de RackMiddleware. Puede simplemente dejar un poco de middleware para aumentar su respuesta.


Para Sinatra, es casi como una envoltura alrededor de Rack. Así que primero debes preguntar cuál es el punto de Rack. Rack es básicamente una especificación de cómo un marco debe devolver un resultado, puede usar lo que se devuelve con cualquier servidor web que admita Rack. De modo que es realmente una capa de compatibilidad que le permite elegir su combinación de marco / servidor a voluntad, sin preocuparse de si trabajarán juntos. Si su marco es compatible con Rack, debería poder implementarlo en prácticamente cualquier servidor a través de Rack.

Ahora, la cosa es que Rack es de muy bajo nivel. Los marcos como Sinatra le dan cosas como enrutamiento agradable, ayudantes, filtros de antes / después y mucho más. Solo debes mirar los documentos para ver qué puedes obtener. Los rieles son mucho más característicos y, en muchos sentidos, "mágicos". Es decir, podría escribir una sola línea en Rails que termine haciendo bastante, lo que para algunos es algo bueno y para otros demasiado mágico. Personalmente prefiero Sinatra por este motivo, al menos antes de obtener una comprensión decente de los aspectos internos de Rails.