Voile.js vs Meteor-Quels sont les avantages des deux? [fermé]

j'ai beaucoup lu sur Nodejs et ses cadres et j'ai récemment terminé mon premier frontal javascript complet (en utilisant Angularjs).

j'ai décidé que mon prochain projet pet sera une aventure Nodejs en utilisant l'un de ces deux cadres:

j'ai lu à propos des deux, mais je ne peux toujours pas tout à fait saisir leurs différences et pourquoi devrais-je choisir d'utiliser l'un sur l'autre. Alors s'il vous plaît, mettez votre meilleur chapeau de vendeur, choisissez un cadre, et vendez-le moi.

J'ai besoin de certaines caractéristiques pour mon projet pet:

  • scores en Direct
  • Reddit-comme les fils, en temps réel
  • comme Wikipédia page d'édition
  • Utilisateurs / Rôles
78
demandé sur Brad Larson 2014-03-05 19:41:13

4 réponses

Je ne peux pas parler pour Meteor, mais je peux aider à fournir un peu de fond sur les voiles parce que je l'ai créé.

tldr; Sails n'est pas une panacée pour tous les problèmes du web-- mais je crois que noeud.js l'est. Le but de Sails est de fournir un cadre pratique pour développer des applications complètes, évolutives, de démarrage et d'entreprise construit sur noeud.js. J'ai commencé Balderdash avec la question "pouvons-nous utiliser le noeud.js pour tout?". Voiles est la réponse.


De notre nouvelles docs :

Voiles est, bien sûr, un cadre web. Mais prenez un pas en arrière. Qu'est-ce que cela signifie? Parfois, quand nous faisons référence au" web", nous voulons dire le "web front-end"."Nous pensons à des concepts comme les normes web, ou HTML 5, ou CSS 3; et les cadres comme la colonne vertébrale, ou angulaire, ou jQuery. Voile n'est pas "ce genre" d'un cadre web. Voile fonctionne très bien avec L'angle et L'épine dorsale, mais vous ne seriez jamais utiliser les voiles à la place de ces bibliothèques.

d'un autre côté, parfois quand nous parlons de" web frameworks", nous voulons dire le " back-end web."Cela évoque des concepts comme REST, ou HTTP, ou WebSockets; et est construit sur des technologies comme Java, ou Ruby, ou Node.js. Un cadre "back-end web" vous aide à faire des choses comme construire des API, interagir avec des bases de données, servir des fichiers HTML, et gérer des centaines de milliers de utilisateur. Voiles est "ce genre" de framework web.

il y a quelques années, je me suis engagé à utiliser Node.js pour les tout- c'était l'amour à première vue . J'ai construit des voiles sur le dessus de Express et Socket.io parce qu'ils étaient (et sont toujours) les modules de noeuds les plus établis pour leurs cas d'utilisation respectifs. Le code de traitement des demandes dans les voiles Est Express-compatible, avec le avantage supplémentaire du support implicite pour Socket.io.

Voiles est conçu pour être compatible avec n'importe quelle stratégie que vous avez pour construire votre front-end(s) dans L'angle, L'épine dorsale, iOS/ObjC, Android/Java, ou même juste offrir une API brute pour être utilisé par un autre service web ou votre communauté de développeurs. Si vous finissez par changer votre approche (par exemple passer de L'épine dorsale à L'angle) ou construire un nouveau front-end entièrement (par exemple construire une application Windows Phone native), vos voiles app fonctionnera toujours. Comme vous le savez peut-être déjà, certaines personnes appellent cette approche une Architecture axée sur le Service, ou SOA ( Joe McCann a une grande présentation sur le sujet.)

dans le même ordre d'idées, Sails maintient d'autres conventions familières pour la construction de serveurs web-une structure MVC standard, la capacité de créer des API propres, et les modules de base qui sont ouverts, configurables, extensibles, et même échangeables. Cela signifie que les voiles peuvent être personnalisés pour s'adapter les besoins de ses utilisateurs, aussi bas que nécessaire.

en 2013, le cadre a connu une énorme croissance de popularité, et notre activité de conseil a augmenté. Les autres responsables de la maintenance et moi-même avons élargi notre champ d'action pour rendre le développement de backend aussi rapide et simple que possible. Les aspects connexes des voiles comme les crochets (plugins), les tests et les docs ont tous parcouru un long chemin au cours de la dernière année grâce aux efforts de notre équipe de base et les (toujours en expansion) voiles de la communauté au sens large. Il ya beaucoup d'éléments de feuille de route que nous sommes encore en train de travailler sur, mais je crois que Voiles est la meilleure option là-bas pour stable, maintenable développement MVC sur noeud aujourd'hui. Le reste de l'équipe et moi-même sommes engagés dans la maintenance continue et le développement de fonctionnalités, et puisque nous l'utilisons pour tous les projets de nos clients, il n'ira nulle part.

je suis à la tête-over-talons engage à rendre les Voiles le meilleur framework web là-bas, mais jamais au détriment de Nœud.js. L'équipe de base et moi-même nous consacrons sans relâche à l'amélioration de l'écosystème des nœuds, ce qui signifie adopter la NGP, tirer parti des technologies et des meilleures pratiques existantes, etc. Pas seulement parce que ça a plus de sens, mais parce que nous sommes un nœud.les développeurs de js. La motivation de tous nos efforts est de rendre le noeud plus accessible, et non de le supplanter. Donc, si, dans un univers parallèle bizarre, on me donnait un choix faustien entre convertir des voiles à une autre langue, ou complètement les voiles d'amerrissage, mais étant toujours capable d'utiliser le noeud, je choisirais ce dernier.


Ressources Supplémentaires:

FAQ | voiles 101 | original screencast | Contribution Guide / Stackoverflow

"

Google Group / Feuille de route | IRC: #sailsjs sur Freenode | Construire Statut

131
répondu mikermcneil 2017-05-23 12:17:52

j'ai construit quelques projets avec Meteor et je n'ai pas encore travaillé avec des voiles. Donc, mon opinion va certainement être biaisée, espérons qu'elle sera utile de toute façon.

construction de l'avant

Meteor fournit son propre cadre frontal appelé Blaze-à inclure dans la prochaine version 0.8. Meteor prend soin de lier les données de vos collections à vos vues. De ce fait, vous n'avez pas à vous soucier de dire à vos points de vue de mettre à jour, ils le font tout simplement.

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

contrairement à la plupart des Noeuds.js frameworks Meteor is synchrone

Meteor fonctionne dans une boucle et si vous voulez utiliser le noeud.js paquets que vous aurez à faire travail supplémentaire pour s'assurer qu'ils fonctionnent correctement dans le Météore.

voiles semble être un noeud simple MVC.JS framework donc il ne devrait pas y avoir quoi que ce soit de trop surprenant quand vous regardez dans elle.

vous devez utiliser MongoDB avec Meteor

Oui vous pouvez utiliser d'autres bases de données avec Meteor, mais elles n'ont pas le même support que MongoDB. Alors qu'avec les voiles, on dirait qu'ils ont des ORMs pour quelques bases de données.

Performance

Pour les applications à grande échelle Meteor ne peut pas effectuer bien . Il y a beaucoup de travail en cours pour s'attaquer à ce problème et d'ici la fin de 2014, nous pouvons nous attendre à ce qu'il y ait des solutions d'échelle pour Meteor.

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 casser la compatibilité ascendante. Si vous commencez à le faire dès que possible, vous pourriez envisager d'utiliser la branche 0.8-rc0. Ceci étant dit, certaines des fonctionnalités du pipeline sont vraiment excellentes et feront d'une version 1.0 une version très alléchante.

dernières réflexions?

J'aime Meteor à cause de ses particularités. Vous aurez à apprendre la façon Meteor de faire les choses, mais une fois que vous commencez à le faire, vous vous sentez comme vous avez bu le kool-aid. En raison de la façon dont les données sont liées aux vues, les lignes entre le serveur et le client ne sont pas éloignées. Meteor représente un changement de paradigme dans l'architecture d'application et si vous ne l'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.

30
répondu MSaforrian 2017-05-23 12:25:53

Je ne peux donner mon avis que sur les voiles. Je suis un développeur Javascript extrêmement expérimenté et j'ai construit des applications de décodage intégrées construites sur Javascript depuis les années 90.

des Choses qui a vraiment bien travaillé - Commencer était génial et je me suis senti très soutenu par les documents publiés - La courbe d'apprentissage était très courte, et il y a une communauté saine derrière les voiles - Après la formation initiale, il est très facile à soyez créatif rapidement

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

recommandations - Ponzi coder a un grand tutoriel et il m'a vraiment aidé à aller https://www.youtube.com/user/ponzicoder - En savoir plus sur express et waterline vous aidera lorsque vous essayez de données plus complexes défis

dans l'ensemble, je recommande voiles.

19
répondu simondelliott 2014-06-17 08:57:20

j'utilise actuellement Meteor et n'ai pas utilisé de voiles.js.

Meteor a été extrêmement agréable à travailler avec et je pense qu'il serait un excellent choix pour les applications web en temps réel. En ce qui concerne les utilisateurs/rôles, vous pouvez consulter le paquet intégré Accounts et aussi rechercher Atmosphere pour les paquets de rôles/permissions fournis par la communauté.

en fin de compte, je recommande d'essayer un petit projet avec les deux technologies et voir ce que vous préférez.

9
répondu alanning 2014-06-26 05:46:02