68 votes

Sinatra vs Rails

J'ai travaillé sur la Sinatra et les Rails des échantillons, mais je vais avoir un moment difficile de déterminer les fonctions qui appartiennent à la technologie.

Que ne puis-je bénéficier de l'aide de Sinatra/Rails? Est-il juste ActionPack/ActionView? Corrigez-moi si je me trompe, mais je POUVAIS Webrick/Métis et de servir de mes .cre des fichiers? Et je pourrais utiliser ActiveRecord de la technologie dans ces fichiers et toujours accéder à des variables post, l'état de session et de la chaîne de recherche les variables de droit?

Donc, ce que je demande à vous les gars, si je commence avec le PHP et le scénario ci-dessus; Webrick + ERB + ActiveRecord, que dois-je gagner en utilisant Sinatra? Et que dois-je plus de gain à l'aide de Rails?

64voto

ehsanul Points 3103

Pour Sinatra, c'est presque comme un wrapper autour de la Baie. Donc, vous devez d'abord se demander quel est le point de Rack est. Rack est fondamentalement une spécification de la façon dont un cadre doit retourner un résultat, il peut utiliser ce qui est retourné avec n'importe quel serveur web de supports de grilles. Donc, c'est vraiment une couche de compatibilité qui vous permet de choisir votre cadre/serveur combinaison à volonté, sans se soucier de savoir si ils vont travailler ensemble. Si votre cadre est un Rack conforme, vous devriez être en mesure de déployer sur pratiquement n'importe quel serveur via le Rack.

Maintenant, la chose est un support de niveau très faible. Des cadres comme Sinatra vous donner des choses comme nice de routage, les aides, les avant/après de filtres, et beaucoup plus. Vous avez juste besoin de regarder les docs de voir ce que vous pouvez obtenir. Rails est beaucoup plus plein de fonctionnalités, et de façon "magique". Qui est, vous pouvez écrire une seule ligne dans les Rails, qui finit par faire beaucoup de choses, qui pour certains est une bonne chose, et pour certains, trop magique. Personnellement, je préfère Sinatra pour cette raison, au moins avant d'obtenir un décent compréhension des Rails internes.

5voto

shingara Points 26980

Le gain par Rails est ActionView/ActionPack. Mais vous pouvez remplacer par Mongrel/Erb. C'est quelque chose de différent.

C'est tout herlper vous avez dans votre point de vue comme name_route ou de gestion des erreurs dans votre formulaire. C'est l'ensemble des ressources de gestion et de tous les plugin comme InheritedResources. L'avantage de Rails.

Il y a quelques outil comme le Padrino de l'environnement pour vous aider à avoir l'ensemble de cette aide. Mais C'est vraiment speeder après tout plugin activer ? Je ne le pense pas.

Avec Rails 3, Rail est un Rack complet de l'application avec beaucoup de RackMiddleware. Vous pouvez simplement déposer quelques middleware pour augmenter votre réponse.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X