Qu'utilisez-vous Sinatra pour?
Im confus au sujet de Sinatra (le rubis cadre).
Est-il un léger Rails de remplacement ou vous pouvez les avoir côte à côte?
Pouvez-vous faire une application web (comme dans les Rails)? Par exemple, un clone de twitter?
Vous devez vous connecter pour publier un commentaire.
Sinatra n'est pas de Rails. C'est un micro-framework utilisé pour de simples sites web où vous pouvez juste besoin de définir un certain nombre de mesures. Vous pouvez faire un Sinatra application aussi complexe que vous le souhaitez, mais vous aurez atteint un point où vous code est devenu un fou mess plus tôt qu'avec des Rails.
Alors que pas précis à 100%, Sinatra s'inscrit principalement dans le Contrôleur De La Page modèle d'architecture, et des Rails est clair MVC mise en œuvre.
Pour répondre à vos questions en particulier:
Nous sommes actuellement à l'aide de Sinatra pour un projet de production (pas déployé vivent encore, encore en dev).
Fondamentalement, c'est l'enroulant autour d'une base de données utilisée par une application héritée, et à exposer des services web REST à d'autres applications en interne afin qu'ils puissent interagir avec l'héritage app sans avoir à accéder à la DB directement.
Rails a été envisagée, mais n'est pas utilisé parce que:
Compte tenu de ces exigences Rails est utilisable, mais surpuissant, où, comme Sinatra frappe la tache bien.
Prendre ma réponse avec un peu de grain de sel (parce que je n'ai pas réellement déployé un sinatra application avant), mais sinatra "sweet spot" est la micro-applications: minuscule applications où un ensemble complet de framework MVC serait exagéré. Avec Sinatra, vous pouvez bâtir un site web entier application avec un seul fichier de code.
Un exemple de "micro application" est rubular (à noter, cependant, que je n'ai aucune idée de ce cadre, il est écrit dans). Rubular fait une chose, et une chose très bien. À l'aide de rails serait exagéré.
Nous avons utilisé Sinatra pour http://tweetarium.com comme madlep de cas d'utilisation de la majorité du site est juste des appels AJAX, de sorte que les points de vue sont très simples.
Nous n'avons pas d'utiliser un ORM, juste de la sérialisation JSON à partir de l'API twitter et la mise en cache dans TokyoCabinet
Personnellement, je pense que Sinatra est un excellent choix pour les Api. Chaque version peut être un autre Sinatra application monté à un autre point de terminaison et vous pouvez l'exécuter à l'intérieur de votre application Rails.