40 votes

Confusion entre BackboneJS et ExpressJS

Je veux créer une application NodeJS, et j'en apprends davantage sur les paquets qui doivent être installés pour faciliter le développement. Deux paquets en particulier, ExpressJS et BackboneJS, me déroutent. Quelle est la différence entre les deux ? Backbone fournit une structure MVC, mais ExpressJS ne traite-t-il pas aussi les vues et les contrôleurs ? Comment dois-je utiliser ces deux packages l'un avec l'autre, ou dois-je même les utiliser l'un avec l'autre ?

Gracias.

61voto

Mauvis Ledford Points 12424

Backbone est un framework frontal. Express est un framework back-end.

Pour plus de clarté, vous pouvez essentiellement exécuter Backbone.js en mode autonome sans support dorsal - juste HTML, CSS et JavaScript, et faire du "page switching" en chargeant des modèles HTML par le biais de changements de balises de hachage et charger et sauvegarder des données par le biais de cookies ou de localStorage - mais au final, votre application doit communiquer avec des services dorsaux pour authentifier un utilisateur ou sauvegarder/restaurer des données depuis une base de données, etc. C'est là que vous voulez que Express / node.js intervienne.

Vous pourriez aussi faire tout cela sans Backbone et simplement utiliser Express (ou un autre langage ou framework de backend), mais alors toutes vos pages sont des requêtes séparées au serveur (à moins que vous ne configuriez quelque chose de personnalisé sur le front-end). Backbone, ajaxe tout cela et vous permet de créer des modèles à l'avance, de sorte que tout ce que vous avez besoin de demander au backend sont des objets de données simples, et vous n'avez essentiellement besoin de charger qu'une seule page.

C'est une simplification excessive, mais c'est essentiellement cela.

3 votes

Je dirais plus clairement que backbone s'exécute dans le navigateur du client, comme jQuery, et qu'express s'exécute sur votre serveur, comme une bibliothèque php ou asp.

11voto

Dave Ward Points 36006

Si vous êtes habitué au développement MVC côté serveur, comme ASP.NET MVC, Rails, Sinatra, Django, etc., l'utilisation d'Express sera intuitive.

Backbone n'inclut pas de moteur d'affichage, de conventions pour le rendu des partiels, etc. Il inclut également des fonctionnalités telles que la prise en charge de l'historique du navigateur côté client, qui n'ont pas beaucoup de sens côté serveur. Bien que vous puissiez techniquement l'utiliser côté serveur avec Node, Backbone est destiné à la création d'applications à interface unique côté client.

11voto

evilcelery Points 7371

Backbone est normalement destiné à être utilisé du côté client (navigateur) et Express est destiné au côté serveur (NodeJS).

Lorsque Backbone est utilisé sur le serveur, c'est principalement pour les modèles, car Express ne fournit aucun de ces éléments.

6voto

gaggina Points 669

Backbone est un cadre frontal. Otherwise express est un framework back-end basé sur node.js.

Une configuration commune est express comme serveur rest api et backbone comme cadre frontal.

0voto

Rubin bhandari Points 890

Backbone.js, Angular.js et Ember.js => cadres JavaScript côté client, ce qui signifie qu'ils fournissent des blocs de construction pour construire le côté client d'une application Web. Node.js est du même type et repose sur le moteur V8 de Chrome.

Express est un framework construit au-dessus de Node.js pour faciliter le développement côté serveur.

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