web-dev-qa-db-fra.com

Quand utiliser node.js vs sinatra vs rails?

Quelles sont les meilleures utilisations de ces 3 langages/frameworks? Est-il utile de les mélanger tous (ou 2)?

60
donald

Si vous créez une application Web complète, vous devriez probablement utiliser Rails car il fournit les services les plus complets. Vous pouvez également tirer parti d'une énorme quantité de travail produit par la communauté.

Sinatra est idéal pour produire des services d'application très fins et sans fioritures. Vous ne travaillez pas beaucoup, mais c'est très rapide. Si vous avez besoin d'une connexion à une base de données, vous devrez l'ajouter, et des choses comme celle-ci peuvent rendre difficile la création d'applications même de taille moyenne. Fondamentalement, si vous avez besoin de quelque chose de très simple et que vous n'avez pas besoin de Rails, vous avez probablement besoin de Sinatra.

node.js est un excellent nouveau cadre pour produire des applications réactives et évolutives, mais il n'a pas presque la bibliothèque de modules complémentaires qu'une plate-forme mature comme Rails fait. node.js excelle vraiment aux applications basées sur le streaming et la transformation de données à la demande. Certains des exemples produits dans Node Knockout sont très intéressants, mais ils ont été produits par des équipes exceptionnelles.

Alors que les entrées Node Knockout sont très bien faites, par rapport au type d'applications qui ont été produites dans le 2009 Rails Rumble elles semblent apparaître comme des jouets manquant de profondeur Ceci n'est pas pour discréditer le travail effectué par les équipes Node Knockout, mais cela montre que les points forts de node.js sont principalement liés aux événements en temps réel et moins aux événements conventionnels applications basées sur DB plus ordinaires.

90
tadman

Utilisez Rails si vous travaillez pour un client et que vous avez besoin d'argent rapide. Si vous souhaitez profiter du codage de votre application et conserver une flexibilité et une vitesse d'application maximales, utilisez Sinatra. Il est facile de créer de grandes applications avec lui, les gens qui disent le contraire ne l'ont pas utilisé.

Node.js ressemble plus à Rack, sur lequel Rails et Sinatra est construit et ne se compare pas vraiment. Express.js, que vous pouvez utiliser en plus de Node.js, est comparable à Sinatra, il pourrait y avoir d'autres frameworks qui se comparent à la pile gonflée Rails, google it. Si vous aimez coder Javascript asynchrone, utilisez Node.js.C'est aussi plus rapide que Sinatra et Rails, mais le codage en Ruby a ses avantages car vous pouvez utiliser beaucoup de gemmes vraiment sympa Ruby ce qui vous facilite la vie).

4
Vidar