/ / MVC avec node.js: expressjs, backbonejs, railwayjs - model-view-controller, node.js

MVC avec node.js: expressjs, backbonejs, railwayjs - model-view-controller, node.js

Je vais construire une application en utilisant beaucoup deinterfaces permettant à l'utilisateur d'insérer des données devant être stockées dans une base de données. J'ai développé des applications en PHP avant d'utiliser Symfony2. Maintenant, je veux utiliser node.js mais je ne suis pas sûr de ce qu’il faut utiliser expressjs, backbonejs, railwayjs. Pour l'application, j'ai besoin d'une structure MVC, d'une validation de formulaire et d'une bonne base de données ORM. Lequel de ces 3 dois-je utiliser? Quelle est la principale différence entre ceux-ci?

Réponses:

5 pour la réponse № 1

Si vous venez d'un framework riche comme Rails ou Symfony, votre choix est RailwayJS, mais si vous aimez quelque chose de minimal et pas bien structuré, utilisez ExpressJS.

Quelle est la principale différence entre ces

RailwayJS est étendu ExpressJS avec routage,contrôleurs, localisation, générateurs, journalisation avancée, ORM et autres éléments intégrés, directement au-dessus de Expressjs. Mais en général, vous pouvez l’utiliser de la même manière qu’express: middlewares, routes express, tests, etc. Ainsi, vous pouvez utiliser n’importe quel middleware écrit pour express / connect, vous devez simplement le mettre à la place appropriée env commun ou config / environnements / {development | production} .js pour env.


4 pour la réponse № 2

Express devient plus ou moins le factochoix pour framework de développement web. Vous pouvez totalement faire du développement avec MVC, la vue étant votre moteur de gabarit (jade, par exemple), le modèle fourni par votre ORM (le mangouste est un excellent choix si vous utilisez MongoDB), ainsi que votre gestionnaire de route / logique d'application / middleware étant le contrôleur.

Backbone fournit la structure MV * à votredéveloppement côté client, il est donc complémentaire (et indépendant de) quel que soit le framework ou la bibliothèque côté serveur que vous choisissez. Il existe de nombreuses options pour l'organisation de code MVC ou MVVM côté client, telles que knockout.js et ember.js, mais personnellement, je préfère Backbone, qui a moins de magie mais offre plus de contrôle. Ceci est relativement subjectif, cependant, ce n’est donc pas vraiment un débat pertinent pour le débordement de pile.