titulo tag longitud kichink etiqueta descripcion crear como ruby sinatra

ruby - tag - title en seo



¿Para qué usas Sinatra? (4)

Estoy confundido acerca de Sinatra (el marco de rubí).

¿Es un reemplazo liviano de los rieles o puedes tenerlos uno al lado del otro?

¿Puedes hacer una aplicación web (como en Rails)? Por ejemplo, un clon de twitter?


Actualmente estamos usando Sinatra para un proyecto de producción (aún no implementado en vivo, todavía en desarrollo).

Básicamente, está envolviendo una base de datos utilizada por una aplicación heredada y exponiendo los servicios web REST a otras aplicaciones internamente para que puedan interactuar con la aplicación heredada sin tener que acceder directamente a la base de datos.

Los carriles se consideraron, pero no se usaron porque:

  • Sin capa de vista (esencialmente las vistas son solo respuestas REST JSON / XML)
  • El modelo se implementa utilizando Sequel (ActiveRecord apesta tratar con bases de datos heredadas con estructuras extravagantes y no estándar, pero Sequel es bastante agradable para esto)
  • El controlador y la capa de enrutamiento son bastante simples (aunque hay una lógica de negocios compleja implementada en Ruby que la respalda)

Dados estos requisitos, Rails es utilizable, pero exagerado, mientras que Sinatra golpea el lugar muy bien.


Sinatra no es Rails. Es un micro-marco utilizado para sitios web simples en los que es posible que necesite definir solo algunas acciones. Puede hacer que una aplicación de Sinatra sea tan compleja como quiera, pero llegará a un punto en el que el código se ha convertido en un desastre loco antes que con Rails.

Aunque no es 100% exacto, Sinatra encaja principalmente en el patrón arquitectónico de Page Controller , y Rails es una implementación clara de MVC .

Para responder a sus preguntas específicamente:

  • No se pretende sustituir los rieles.
  • Puede correr lado a lado
  • Podrías crear un clon de twitter en Sinatra.

Tome mi respuesta con un poco de sal (porque no he implementado una aplicación sinatra antes), pero el "punto dulce" de sinatra son las micro-aplicaciones: pequeñas aplicaciones donde un marco MVC completo sería una exageración. Con Sinatra, puede crear una aplicación web completa con un solo archivo de código.

Un ejemplo de una "micro aplicación" es rubular (tenga en cuenta, sin embargo, que no tengo idea de en qué marco está escrito). Rubular hace una cosa, y una cosa muy bien. El uso de rieles sería una exageración.


Usamos Sinatra para http://tweetarium.com, al igual que en el caso de Madlep, ya que la mayoría del sitio son solo llamadas AJAX, por lo que las vistas son muy simples.

No utilizamos un ORM, simplemente serializamos el JSON de la API de Twitter y lo guardamos en el caché de TokyoCabinet

Personalmente creo que Sinatra es una excelente opción para las API. Cada versión podría ser una aplicación de Sinatra diferente montada en un punto final diferente y puede ejecutarla dentro de su aplicación Rails.