55 votes

NodeJS vs Jouer Cadre de projet de grande envergure

Je suis vraiment partagé entre deux piles distinctes qui permet de construire une grande application. D'une part il y a cette option:

  • Node.js
    • express
    • café de script
    • coffeekup
    • la mangouste/mongodb ou
    • presistencejs/mysql


  • Jouer Cadre w/ Scala
    • Anorm w/ mysql
    • ou mongodb

L'node.js chemin d'accès est intéressant pour moi, parce que je peux écrire tout le code côté serveur, vues du côté client et code en coffeescript, qui je le sais déjà. Si je vais dans cette voie, je ne suis pas encore 100% sûr de la db chemin j'allais prendre. mangouste permet de stocker des données facile et rapide, mais le manque de véritables relations pourraient être plus difficile à travailler avec le modèle de données que j'ai en tête (très SQLish).

Le Jeu Cadre chemin d'accès est également attrayante parce que je sais le cadre lors de l'utilisation de Java, mais je ne sais pas beaucoup sur la Scala, il y aurait donc un coup à la productivité, car je travaille par le biais de l'apprentissage de cette langue. Le Anorm base de données de la couche d'accès est attrayant parce que je peux écrire du SQL à la main que je préfère, et les résultats sont mappés aux objets automatiquement, ce qui permet d'économiser beaucoup d'efforts.

Je garde penchant vers l'node.js mais je ne suis pas vendu sur le meilleur db de la couche d'accès à utiliser. Quelqu'un a une expérience avec l'un de ce et pouvez partager avec vous des conseils?

46voto

Mike Points 1247

La pile que vous choisissez devrait dépendre des besoins de votre application. Regardons Jouer contre Nœud pour leurs atouts:

Nœud

  • Applications en temps réel (chat, flux)
  • Event-driven architecture
  • Peut effectuer des client-serveur de tâches (par exemple, servir des fichiers), mais ne convient pas pour cette
  • Gestion de base de données, outils de test, etc, disponible en paquets supplémentaires

Jouer!

  • Des applications Client-serveur (site web, services)
  • Partager-rien architecture
  • Pouvez effectuer en temps réel des fonctions (par exemple, les Websockets), mais ne convient pas pour cette
  • Gestion de base de données (y compris les migrations!), outils de test, etc, construit en core

Si votre demande correspond de plus près à un traditionnel basé sur le web modèle, le Jeu est probablement votre meilleur choix. Si vous avez besoin d'une rétroaction immédiate et en temps réel des messages dynamiques, le Noeud est le meilleur choix.

Pour les grandes applications traditionnelles, envisager sérieusement de le Jouer! Cadre en raison de l'unité intégrée et fonctionnelle des tests avec des migrations de base de données. En cas d'intégration dans le processus de développement, ces aller un long chemin vers un produit final qui fonctionne comme prévu, et est stable et sans erreur.

13voto

Yevgeniy Brikman Points 954

Il y a 10 catégories principales que vous devriez considérer lorsque l'on compare les frameworks web:

  1. Apprendre: prise en main, la rampe jusqu'à, dans l'ensemble de la courbe d'apprentissage.
  2. Développer: routage, des modèles, i18n, formes, json, xml, magasin de données access, web en temps réel.
  3. Test: tests unitaires, tests fonctionnels, tests d'intégration, tests de couverture.
  4. Sécurisé: CSRF, XSS, injection de code, les en-têtes d'authentification, les avis de sécurité.
  5. Construire: compilation, exécution de tests, prétraiter le contenu statique (sass/less/CoffeScript), package.
  6. Déployer: l'hébergement, la surveillance, la configuration.
  7. Debug: étape par étape débogueur, profileurs, l'exploitation forestière,
  8. Échelle: le débit, la latence, la simultanéité.
  9. Maintenir: la réutilisation du code, de la stabilité, de la maturité, type de sécurité, IDEs.
  10. Partager: ouvrir la source de l'activité, des listes de diffusion, la popularité, les plugins, support commercial, emploi.

Découvrez ma présentation Node.js vs Jouer Cadre pour une ventilation détaillée de la façon dont ces deux cadres de comparer l'ensemble de ces 10 dimensions.

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