Sinatra vs Rieles


He trabajado a través de algunas de las muestras de Sinatra y Rails, pero estoy teniendo dificultades para averiguar qué características pertenecen a qué tecnología.

¿Qué gano específicamente usando Sinatra/Rails? ¿Es solo ActionPack / ActionView? Corrígeme si me equivoco, pero podría usar Webrick / Mestizo y servirme.erb archivos derecho? Y podría utilizar la tecnología ActiveRecord en esos archivos y todavía acceder a variables post, estado de sesión y variables querystring derecho?

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

Author: LoveMeSomeCode, 2010-10-21

2 answers

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

Ahora, la cosa es Rack es muy bajo nivel. Frameworks como Sinatra le dan cosas como enrutamiento agradable, ayudantes, filtros antes/después, y mucho más. Sólo tienes que mirar a los médicos para ver lo que puedes conseguir. Rails es mucho más característico, y en muchos sentidos "mágico". Es decir, puede escribir una sola línea en Rails que termina haciendo bastante, lo que para algunos es algo bueno, y para algunos demasiado mágico. Personalmente prefiero Sinatra por esta razón, en al menos antes de obtener una comprensión decente de los componentes internos de Rails.

 60
Author: ehsanul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-09 02:31:02

La ganancia de Rails es ActionView/ActionPack. Pero solo puede reemplazar por Mestizo / 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 alguna herramienta como el entorno Padrino para ayudarte a tener todo este helper. Pero es realmente speeder después de todo plugin activar ? No lo creo.

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

 5
Author: shingara,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-10-21 16:19:50