335 votes

Différence entre MEAN.js et MEAN.io

Je voulais utiliser la pile JavaScript MEAN, mais j'ai remarqué qu'il existait deux piles différentes ayant chacune leur propre site Web et leur propre méthode d'installation : mean.js et mean.io. J'ai donc fini par me poser la question suivante : "Laquelle dois-je utiliser ?".

Donc, pour répondre à cette question, je demande à la communauté si vous pouvez nous expliquer quelles sont les différences entre les deux ? Et si possible les avantages et les inconvénients ? Parce qu'ils me semblent très similaires.

374voto

SDude Points 2939

Ils sont essentiellement les mêmes... Ils utilisent tous les deux swig pour le templating, ils utilisent tous les deux karma et mocha pour les tests, grunt avec livereload, l'intégration de passport, nodemon, etc.

Pourquoi une telle similitude ? Mean.js est un fork de Mean.io et les deux initiatives ont été lancées par le même gars ... Mean.io est maintenant sous le parapluie de la société Linnovate et il semble que le gars (Amos Haviv) a arrêté sa collaboration avec cette société et a commencé Mean.js. Vous pouvez lire plus sur les raisons ici .

Maintenant... les principales (ou petites) différences que vous pouvez voir en ce moment sont :

ÉCHAFAUDAGE ET GÉNÉRATION DE CHAUDIÈRES

Mean.io utilise un outil de cliquage personnalisé appelé "mean" (nom très original).
Mean.js utilise les générateurs Yeoman

MODULARITÉ

Mean.io utilise une modularité de paquets de nœuds plus autonomes avec des fichiers clients et serveurs à l'intérieur des modules.
Mean.js utilise des modules uniquement en front-end (pour angular), et les connecte avec Express. Bien qu'ils travaillent sur modules verticaux aussi...

DOCUMENTATION

Mean.io a une documentation correcte
Mean.js dispose d'une documentation exceptionnelle.

COMMUNAUTÉ

Mean.io est clairement gagnant et connaît une croissance plus rapide
Mean.js a moins d'élan parce qu'il a quelques mois.

A titre personnel, j'aime plus la philosophie et l'ouverture de MeanJS et plus la traction et l'approche modules/packages de MeanIO. Les deux sont agréables, et vous finirez probablement par les modifier, donc vous ne pouvez pas vraiment vous tromper en choisissant l'un ou l'autre. Prenez-les simplement comme point de départ et comme exercice d'apprentissage.

SOLUTIONS ALTERNATIVES "MOYENNES

MEAN est un moyen générique (inventé par Valeri Karpov ) pour décrire un boilerplate/framework qui prend "Mongo + Express + Angular + Node" comme base de la pile. Vous pouvez trouver des frameworks avec cette pile qui utilisent d'autres dénominations, certains d'entre eux sont vraiment bons pour le RAD (Rapid Application Development) et la construction de SPAs. Par exemple :

Vous avez également Démarrage du hackathon . Il n'a pas le A de MEAN (c'est 'MEN'), mais il balance

Amusez-vous bien !

66voto

Chris Cinelli Points 975

Tout d'abord, MEAN signifie MongoDB , Express , Angulaire et Node.js . Il s'agit de Généralement identifie l'utilisation combinée de ces technologies. Il existe pas de une chose telle que " LE cadre MEAN".

Lior Kesos à l'adresse Linnovate a profité de cette confusion. Il a acheté le domaine MEAN.io et a mis du code à https://github.com/linnovate/mean

Ils ont heureusement reçu beaucoup de publicité. Ces derniers temps, on trouve sur Internet de plus en plus d'articles et de vidéos sur MEAN. Lorsque vous cherchez sur Google "mean framework", mean.io est le premier de la liste.

Malheureusement, le code à https://github.com/linnovate/mean semblait mal conçu . En février, je me suis senti dans le piège. Le site mean.io avait un design accrocheur et le repo Github avait plus de 1000 étoiles. L'idée de remettre en question la qualité ne m'a même pas traversé l'esprit. J'ai commencé à l'expérimenter, mais il ne m'a pas fallu longtemps pour tomber sur des choses qui ne fonctionnaient pas et des morceaux de code déroutants. L'historique des modifications était également assez inquiétant. Ils ont réorganisé le code et la structure des répertoires plusieurs fois et la fusion des nouveaux changements prend trop de temps.

L'avantage des codes mean.io et mean.js est qu'ils sont intégrés à Bootstrap. Ils sont également dotés d'une authentification Facebook, Github, Linkedin, etc. PasseportJs et un exemple d'un modèle (Article) sur le backend sur MongoDB qui se synchronise avec le modèle du frontend avec AngularJS.

Selon le site web de Linnovate :

Linnovate est la première société Open Source en Israël, avec l'équipe la plus expérimentée du pays. équipe la plus expérimentée du pays, dédiée à la création de solutions open source solutions open source haut de gamme. Linnovate est la seule entreprise en Israël qui offre un service de A à Z aux entreprises pour la création et la maintenance de leur leur prochain projet web.

D'après le site web, il semblerait que les compétences de base de l'entreprise soient Drupal (un système de gestion de contenu PHP) et que ce n'est que récemment qu'elle a commencé à utiliser Node.js et AngularJS.

Dernièrement, j'ai lu le Blog Mean.js et les choses sont devenues plus claires. D'après ce que j'ai compris, le principal développeur Javascript (Amos Haviv) a quitté Linnovate pour travailler sur Mean.js, laissant le projet MEAN.io avec des personnes qui sont des développeurs Node.js novices qui ont du mal à comprendre comment les choses sont censées fonctionner.

Les choses pourraient changer à l'avenir, mais pour l'instant, j'éviterais d'utiliser mean.io. Si vous recherchez un boilerplate pour un démarrage rapide, Mean.js semble être une meilleure option que mean.io.

19voto

Dan Cancro Points 300

Voici une comparaison côte à côte de plusieurs démarreurs/générateurs d'applications, dont MEAN.js, MEAN.io et cleverstack. Pour que la liste ne dépasse pas un million d'alternatives, leur point commun est AngularJS. Je continue à ajouter des alternatives au fur et à mesure que je trouve du temps et, ce faisant, la liste des avantages potentiellement fournis ne cesse de s'allonger également. Aujourd'hui, elle en compte environ 300. Si quelqu'un veut contribuer à en améliorer l'exactitude ou l'exhaustivité, faites-le moi savoir.

dancancro.com/comparison-of-angularjs-application-starters/

13voto

Dan Cancro Points 300

La page Avantages nets de ma feuille de comparaison présente des comparaisons complètes et individuelles entre chaque générateur. Il n'est donc plus nécessaire de sélectionner de manière déformée les bonnes choses à dire sur votre favori.

Voici celui entre generator-angular-fullstack et MEAN.js. Les pourcentages sont des valeurs pour chaque avantage, basées sur mes pondérations personnelles, où un générateur parfait serait de 100%.

Upvotez-moi si vous ne trouvez pas logique que ces groupes ne travaillent pas simplement ensemble.

generator- angular- fullstack offre 8% que MEANJS.org n'offre pas
* 1,9 % Tests de bout en bout côté client
* 0,6 % usine
* 0,5 % fournisseur
* 0,4 % SASS
* 0.4% MOINS
* 0,4 % Compass
* 0,4 % de décorateur
* 0,4% Sous-générateur de points de terminaison
* 0.4% Commentaires
* 0,3 % FontAwesome
* 0.3% Exécuter le serveur en mode débogage
* 0.3% Enregistrer les réponses du générateur dans un fichier
* 0,2% constant
* 0.2% Development build script : ...... remplacer les deps tiers par des versions CDN
* 0,2% Authentification - Cookie
* 0,2% Authentification - Jeton Web JSON (JWT)
* 0,2 % Journalisation côté serveur
* 0.1% Développement de la construction script : exécuter des tâches en parallèle pour l'accélérer.
* 0.1% Development build script : Renomme les fichiers d'actifs pour éviter la mise en cache par le navigateur
* 0.1% Construction de développement script : exécuter des tests de bout en bout
* 0.1% Production build script : pré-minification sûre
* 0.1% Production build script : ajouter les préfixes des fournisseurs CSS
* 0,1% Automatisation du déploiement de Heroku
* Valeur de 0,1
* 0,1% Jade
* 0,1% Coffeescript
* 0,1% Restriction de route authentifiée côté serveur
* Version SASS de Twitter Bootstrap à 0,1%.
* 0.1% Production build script : compresser les images
* 0,1% Automatisation du déploiement d'OpenShift

MeanJS.org. offre 9% que generator-angular-fullstack n'offre pas
* 3,7 % Groupe d'utilisateurs dédiés/recherche : temps de réponse généralement inférieur à un jour.
* 0,4% Générer des itinéraires
* 0,4% Authentification - Oauth
* 0,4 % config
* 0,4% i18n, localisation
* 0,4 % Profil d'application des entrées
* 0,3% FEATURE (alias module, entité, crud-mock)
* 0,3 % Système de menus
* 0,3 % Options pour la fabrication de sous-composants
* 0,3% de test - côté client
* 0,3% de performance Javascript
* 0.3% Production build script : faire des pages statiques pour le SEO
* 0.2% Installation rapide ?
* 0,2 % Groupe d'utilisateurs dédié/chercheur
* 0.1% Développement de la construction script : recharger le fichier de construction lors d'un changement
* 0.1% Development build script : fichiers café compilés en JS
* 0,1% de contrôleur - côté serveur
* Modèle 0.1% - côté serveur
* 0.1% route - côté serveur
* 0.1% de test - côté serveur
* 0.1% Swig
* 0,1 % de sécurité contre l'usurpation d'identité.
* 0.1% Production build script : uglification
* 0.0% Approche des vues : Les URLs commencent par "# !"
* 0.0% Approche des services frontaux et des appels ajax : utilise $resource

Voici celle entre MEAN.io et MEAN.js

MEAN.io. offre : 6%
* 0,9% Approche des modules de fonctionnalité de l'application : Fonctionnalité modulaire
* Approche à 0,8% du routage frontal ou du changement d'état : Empêche le scintillement/le chargement prématuré de la vue.
* 0,8% Approche des modules de fonctionnalité de l'application : Gestionnaire de modules
* 0,6% Interface de ligne de commande
* Approche de 0,4 % des modules de fonctionnalité de l'application : Ajout d'éléments de menu pour les nouveaux modules
* 0,4% Partage de code entre projets
* 0,4% Salle de chat dédiée
* 0,4 % de directives UI Bootstrap AngularJS
* 0,4 % Implication de la sécurité : le gestionnaire de mots de passe est facile à utiliser.
* 0,3 % Approche du chargement des classes en front-end : AMD avec requirejs
* 0,3 % sous-génération undo
* 0,3 % Système de gestion de contenu
* 0,1% Automatisation du déploiement de Heroku
* 0,1% Restriction de route authentifiée côté serveur
* 0.1% Développement du build script : envelopper le code dans un IIFE
* 0.1% Production build script : compresser les images

Offres de MeanJS.org : 13%
* 5,6 % Organisation modulaire des fichiers d'application
* Directive 0,6
* 0.5% route - côté client
* 0,5 % Dossiers de premier niveau de la famille (avant et arrière)
* Filtre de 0,5 %.
* 0,4% vue ou vue partielle
* 0,4% Générer des itinéraires
* 0,4 % config
* 0,4 % contrôleur - côté client
* 0,4% de service - côté client
* 0,4% i18n, localisation
* 0,4 % Cartographie objet-relationnel
* 0,4 % Profil d'application des entrées
* 0,4 % d'éléments angulaires supplémentaires
* 0,3 % Fichier(s) de configuration de construction
* 0,3 % Options pour la fabrication de sous-composants
* 0,3% de test - côté client
* 0,3 % Google Analytics
* 0.3% Production build script : faire des pages statiques pour le SEO
* 0.2% Installation rapide ?
* 0,1% de contrôleur - côté serveur
* Modèle 0.1% - côté serveur
* 0.1% route - côté serveur
* 0.1% de test - côté serveur
* 0,1 % de sécurité contre l'usurpation d'identité.
* 0.0% Approche des vues : Les URLs commencent par "# !"
* 0.0% Approche des services frontaux et des appels ajax : utilise $resource

8voto

honkskillet Points 157

Je suis surpris que personne n'ait mentionné le générateur Yeoman. angular-fullstack . Il s'agit du générateur de communauté Yeoman numéro un, avec actuellement 1490 étoiles sur la page de générateur par rapport aux 81 étoiles de Mean.js (il est vrai que la comparaison n'est pas équitable étant donné la nouveauté de MEANJS). Il semble être activement maintenu et est en version 2.05 au moment où j'écris ces lignes. Contrairement à MEANJS, il n'utilise pas Swig pour le templating. Il peut être échafaudé avec le passeport intégré.

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