79 votes

Sails.js vs Meteor - Quels sont les avantages des deux?

J'ai lu beaucoup de choses sur Nodejs et de ses cadres et a récemment terminé mon premier frontend javascript (utilisant Angularjs).

J'ai décidé que mon prochain projet de compagnie sera un Nodejs aventure à l'aide de l'un de ces deux cadres:

J'ai lu sur les deux, mais ne peut toujours pas bien saisi leurs différences et pourquoi devrais-je choisir d'utiliser l'un sur l'autre. Donc, s'il vous plaît mettre sur votre meilleur vendeur de chapeau, choisir un cadre, et de le vendre à moi.

Certaines des fonctionnalités dont j'ai besoin pour mon projet de compagnie sont:

  • Les scores en direct
  • Reddit-comme les fils, en temps réel
  • Comme wikipédia l'édition de page
  • Les Utilisateurs/Rôles

135voto

mikermcneil Points 3655

Je ne peux pas parler pour Meteor, mais je peux vous aider à apporter un peu de fond sur les Voiles, car je l'ai créé.

tldr; Les voiles n'est pas une panacée pour tous les web de problèmes, mais je crois Node.js est. L'objectif de Voiles est de fournir un cadre de pratique pour l'élaboration complète, évolutive, de démarrage et favorable à l'entreprise les applications construites sur node.js. J'ai commencé des Bêtises, avec la question "Peut-on utiliser Node.js pour tout?". Voiles est la réponse.


À partir de notre nouvelles docs:

Voiles est, bien sûr, un framework web. Mais prenez un pas en arrière. Qu'est-ce que cela signifie? Parfois, lorsque nous nous référons à la "web", nous entendons le "front-end web." Nous pensons à des concepts tels que les standards du web, ou de l'HTML 5, CSS ou 3; et cadres comme l'épine Dorsale, ou Angulaire, ou jQuery. Les voiles n'est pas "ce genre" d'un framework web. Voiles fonctionne très bien avec Angulaire et de la colonne vertébrale, mais vous ne serait jamais utiliser des Voiles au lieu de ces bibliothèques.

D'autre part, parfois, lorsque nous parlons de "frameworks web", nous entendons le "web back-end." Cela évoque des concepts comme le RESTE, ou HTTP, ou les WebSockets; et est construit sur des technologies comme Java ou Ruby, ou Node.js. Un "web back-end" cadre vous permet de faire des choses comme la construction d'Api, d'interagir avec des bases de données, de servir des fichiers HTML, et de gérer des centaines de milliers d'utilisateurs simultanés. Voiles est "ce genre" de framework web.

Il y A quelques années, j'ai pris un engagement à utiliser Node.js pour les tout- c'était l'amour à première vue. J'ai construit des Voiles sur le dessus de l' Express et de Support.io parce qu'ils étaient (et sont toujours) les plus bien établi Nœud modules pour leurs cas d'utilisation respectif. La demande de code de traitement dans les Voiles Express est compatible, avec l'avantage supplémentaire de soutien implicite pour la Socket.io.

Voiles est conçu pour être compatible avec quelle que soit la stratégie que vous avez pour la construction de votre front-end(s) dans Angular, Backbone, iOS/ObjC, Android, Java, ou même simplement en offrant une API brute pour être utilisé par un autre service web ou de votre communauté de développeurs. Si vous aider à changer votre approche (ex. passage de la colonne vertébrale Angulaire) ou la construction d'une nouvelle interface entièrement (par exemple, la construction d'un Windows Phone app native), les Voiles de l'app fonctionne toujours. Comme vous le savez peut-être déjà, certaines personnes appellent cette approche d'une Architecture axée sur le Service, ou SOA (Joe McCann a un grand pont sur le sujet.)

Dans le même esprit, les Voiles maintient autres familiers des conventions pour la construction de serveurs web-un standard de la structure MVC, la capacité à créer propre Api, et des modules de base qui sont ouverts, configurable et extensible, et même remplaçables à chaud. Cela signifie que les Voiles peuvent être personnalisés pour s'adapter à des besoins de ses utilisateurs, comme de bas niveau comme c'est nécessaire.

En 2013, le cadre a connu une énorme croissance de la popularité, et nos conseils d'affaires a augmenté. Le reste de la base mainteneurs et j'ai élargi notre accent sur la prise de développement backend aussi rapide et simple que possible. Les aspects relatifs à Voiles comme des crochets (plugins), les tests et les docs ont parcouru un long chemin au cours de la dernière année grâce aux efforts de notre équipe de base et le (toujours croissante) Voiles de la communauté au sens large. Il y a beaucoup d'éléments de la feuille de route que nous travaillons toujours sur, mais je crois Voiles est la meilleure option pour stable, facile à gérer le développement MVC sur le Nœud d'aujourd'hui. Le reste de l'équipe et moi-même sommes engagés à la poursuite de son entretien et le développement de fonctionnalités, et depuis que nous l'utilisons pour tous nos projets, il ne va pas n'importe où.

Je suis à la tête-over-talons engage à rendre les Voiles le meilleur framework web là-bas, mais jamais au détriment de Node.js. L'équipe de base et j'ai sans relâche consacrée à la mise en valeur du Nœud de l'écosystème, et que signifie accueillir MNP, en tirant parti de Nœud existant technologies et les meilleures pratiques, etc. Pas seulement parce que c'est plus logique, mais parce que nous sommes Node.js des développeurs. La motivation pour l'ensemble de nos efforts est de faire des Noeud plus accessible, de ne pas le remplacer. Donc, si, dans un étrange univers parallèle, j'ai eu un véritable pacte avec le choix entre la conversion de Voiles à une autre langue, ou complètement à l'amerrissage forcé de Voiles, mais encore être en mesure d'utiliser un Nœud, je choisirais la dernière.


Ressources Supplémentaires:

FAQ | Voiles 101 | Original screencast | Contribution Guide | Stackoverflow

Groupe Google | feuille de route | IRC: #sailsjs sur Freenode | Construire Statut

30voto

MatthewForr Points 305

J'ai construit un couple de projets avec Meteor et n'ai pas travaillé avec des Voiles encore. Donc mon avis va être certainement biaisé, espérons-le, de ses de toute façon utile.

La construction de l'avant la fin de l'

Meteor fournit sa propre frontal cadre appelé Blaze-être inclus dans la prochaine version 0.8. Meteor prend soin de liaison de données à partir de vos collections de votre point de vue. De ce fait, vous n'avez pas à vous soucier de dire votre point de vue à la mise à jour, ils viennent de faire.

D'autre part, les Voiles ne fournit qu'une backend cadre et vous devrez apporter votre propre frontal cadre.

Contrairement à la plupart des Node.js cadres Meteor est synchrone

Météore s'exécute dans une boucle et si vous voulez l'utiliser Node.js les paquets que vous avez à faire un travail supplémentaire pour s'assurer qu'ils fonctionnent correctement dans le Météore.

Voiles semble être une simple MVC Node.js cadre donc il ne devrait pas être quelque chose de trop surprenant quand vous regardez dans.

Vous devez utiliser MongoDB avec Meteor

Oui, vous pouvez utiliser d'autres bases de données avec Meteor, mais ils n'ont pas n'importe où près de la même prise en charge que MongoDB. Alors qu'avec les Voiles, on dirait qu'ils ont Orm pour un couple de bases de données.

Performance

Pour les applications à grande échelle Météore peut pas bien. Il y a beaucoup de travail à faire pour s'attaquer à ce problème et d'ici la fin de 2014, on peut s'attendre à être mise à l'échelle des solutions pour Meteor.

La stabilité

Meteor est encore très frais et n'a pas frappé 1.0. Vous devez vous attendre à quelques changements au cours des deux prochaines versions qui va casser la compatibilité ascendante. Si vous commencez avec elle dès que possible, alors vous pouvez envisager d'utiliser le 0,8-rc0 branche. Cela étant dit, certaines des fonctions dans le pipeline sont vraiment très bien et fera une version 1.0 de très séduisant.

Réflexions finales?

J'aime Météore en raison de ses particularités. Vous aurez besoin d'apprendre pour le Meteor façon de faire les choses, mais une fois que vous commencez à faire, vous vous sentez comme vous avez bu le kool-aid. En raison de la façon dont les données sont liés à des points de vue les lignes entre le serveur et le client ne sont pas éloignés. Meteor représente un changement de paradigme dans l'architecture de l'application et si vous n'avez pas encore essayé, je le recommande.

PS la Caisse de la feuille de route pour avoir une idée de ce qui est à venir.

19voto

simondelliott Points 63

Je ne peux que donner un avis sur les voiles. Je suis extrêmement expérimenté, développeur Javascript et ont été la construction incorporé set-top-box applications basées sur Javascript depuis les années 90.

Des choses qui a vraiment bien travaillé - La prise en main est excellente et j'ai senti très soutenu par la publication de matériels de - La courbe d'apprentissage a été très court, et il y a une bonne communauté derrière les voiles - Après la formation initiale, il est très facile d'être créatif rapidement

Des choses qui pourraient être améliorées - Structures de données complexes sont difficiles à mettre en œuvre - Passport.js l'intégration a été douloureux car il n'y a pas de nettoyer les matériaux de référence

Recommandations - La pyramide de Ponzi codeur a un bon tutoriel et Il m'a vraiment aidé à y aller https://www.youtube.com/user/ponzicoder - En savoir plus sur express et la ligne de flottaison aidera lorsque vous essayez de données plus complexes défis

Globalement, je recommanderais voiles.

9voto

alanning Points 1698

J'utilise actuellement un Météore et n'ont pas utilisé Sails.js.

Meteor a été extrêmement agréable de travailler avec et je pense qu'il serait un excellent choix en temps réel des applications web. Concernant les utilisateurs/rôles, vous pouvez vérifier sur le intégrée de Comptes paquet et aussi la recherche de l'Atmosphère de la communauté ont contribué des rôles et des autorisations de paquets.

En fin de compte, je recommanderais d'essayer un petit projet avec à la fois des technologies et de voir ce qui vous plaît le mieux.

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