Question

J'apprends Rails et ont très peu idée de Sinatra et Merb. Je me demandais sont les situations où vous utiliseriez Merb / Sinatra.

Merci pour vos commentaires!

Était-ce utile?

La solution

Sinatra est beaucoup plus petit, plus léger cadre que Rails. Il est utilisé si vous voulez obtenir quelque chose rapidement opérationnel qui vient de dépêches hors quelques URL et retourne un contenu simple. Jetez un oeil à la Sinatra page d'accueil ; qui est tout ce dont vous avez besoin pour obtenir un « Bonjour, monde » et en cours d'exécution, tandis que Rails vous devez générer toute une structure de projet, mis en place un contrôleur et une vue, mis en place le routage, et ainsi de suite (je n'ai pas écrit une application Rails dans un certain temps, donc je ne sais pas exactement combien de pas « Bonjour, monde » est, mais son certainement plus que Sinatra). Sinatra a aussi beaucoup moins de dépendances que Rails, il est donc plus facile à installer et à exécuter.

Nous utilisons Sinatra comme un serveur web de test rapide pour certaines bibliothèques clientes Web que nous écrivons maintenant. Le fait que nous pouvons écrire un seul fichier et inclure l'ensemble de notre logique que d'un fichier, et ont très peu de dépendances, signifie qu'il est beaucoup plus facile de travailler avec et exécuter nos tests que si vous aviez une application Rails.

en cours de fusion dans Rails , si jolie bientôt il ne devrait pas vraiment aucune raison d'utiliser un sur l'autre. Il a été conçu pour être un peu plus léger et plus découplées que Rails; Rails avaient plus construit des hypothèses que vous utiliseriez ActiveRecord. Mais comme ils fusionnent les deux, ils sont le découplage Rails de façon similaire, donc si vous êtes déjà apprentissage Rails, alors il vaut probablement la peine à s'en tenir à cela et suivre les développements comme ils viennent.

Autres conseils

Je ne peux pas parler beaucoup pour Merb, mais Sinatra est très efficace pour des solutions petites ou légères. Si vous ne travaillez pas avec beaucoup de code, ou ne pas besoin d'un site énorme, vous pouvez coder un site très efficace avec Sinatra soit aussi rapide, soit deux fois plus vite que sur Rails (à mon avis).

Sinatra est aussi excellent pour les pièces fragmentaires d'une application, par exemple, le front-end à un ensemble de statistiques. Ou quelque chose comme ErrCount , qui est juste un compteur de coup très simple.

Alors, pensez à la lumière, rapide, et des applications web très simplistes (bien que la complexité est votre choix) lorsque vous utilisez Sinatra.

La façon dont les choses vont, ça va être une question sans objet bientôt.

Comme déjà mentionné, Merb 2.0 et Rails 3.0 vont être la même chose. Les Merb et Rails équipes de base nouvellement combinés sont déjà au travail sur la réalisation de cela. Je ne sais pas s'ils prévoient toujours une version (probablement une version bêta) par RailsConf en mai, mais ça se passe vraiment cette année.

Si vous êtes mort sur l'utilisation ensemble d'un ORM autre que ActiveRecord, par exemple, vous pouvez commencer par Merb maintenant et mise à jour lorsque 2.0 (Rails 3.0) navires. En ce moment, Merb est généralement accepté de fournir un meilleur cadre pour faire varier ses composants que Rails.

Sinatra ressemble à une solution brillante pour une application web qui a une faible complexité d'interface et un peu de code de niveau de modèle inférieur serait normal pour Merb / Rails. La mise en œuvre des API RESTful simples serait une grande utilité. Je suis moins convaincu de sa valeur lorsque la quantité de HTML est impliquée, encore moins quand templating intervient.

Encore une fois, avec Rails (et donc Merb bientôt) maintenant assis sur le dessus du rack, il n'y a aucune raison de ne pas inclure bébé Sinatra applications dans la solution: ils peuvent vivre ensemble. Il y a un blog poste qui traite de ce concept

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top