Ich wollte den MEAN JavaScript Stack verwenden, habe jedoch festgestellt, dass es zwei verschiedene Stacks mit eigener Website und Installationsmethoden gibt: mean.js und mean.io. Also stellte ich mir die Frage: "Welches benutze ich?".
Um diese Frage zu beantworten, frage ich die Community, ob Sie erklären könnten, was die Unterschiede zwischen diesen beiden sind. Und wenn möglich Vor- und Nachteile? Weil sie mir sehr ähnlich sehen.
javascript
node.js
angularjs
web-applications
mean-stack
CMPSoares
quelle
quelle
Antworten:
Sie sind im Wesentlichen gleich ... Beide verwenden Swig zum Templieren, beide verwenden Karma und Mokka für Tests, Passintegration, Nodemon usw.
Warum so ähnlich? Mean.js ist eine Abzweigung von Mean.io und beide Initiativen wurden von demselben Mann gestartet ... Mean.io steht jetzt unter dem Dach der Firma Linnovate und sieht so aus, als hätte der Mann (Amos Haviv) seine Zusammenarbeit mit dieser Firma beendet und startete Mean.js. Sie können mehr über die Gründe lesen Sie hier .
Nun ... die wichtigsten (oder kleinen) Unterschiede, die Sie jetzt sehen können, sind:
GERÜST- UND KESSELPLATTENERZEUGUNG
Mean.io verwendet ein benutzerdefiniertes CLI-Tool namens 'mean'.
Mean.js verwendet Yeoman-Generatoren
MODULARITÄT
Mean.io verwendet eine eigenständigere Modularität der Knotenpakete mit Client- und Serverdateien innerhalb der Module.
Mean.js verwendet Module nur im Front-End (für Winkel) und verbindet sie mit Express. Obwohl sie auch an vertikalen Modulen arbeiteten ...
SYSTEM BAUEN
Mean.io ist kürzlich zu gulp
übergegangen. Mean.js verwendet Grunzen
EINSATZ
Beide haben Docker-Dateien in ihren jeweiligen Repos, und Mean.io kann mit einem Klick in Google Compute Engine installiert werden , während Mean.js auch mit einem Klick in Digital Ocean bereitgestellt werden kann .
DOKUMENTATION
Mean.io hat ok Dokumente
Mean.js hat super Dokumente
GEMEINSCHAFT
Mean.io hat eine größere Community, da es sich um die ursprüngliche Boilerplate handelte.
Mean.js hat weniger Dynamik, aber ein stetiges Wachstum
Auf persönlicher Ebene mag ich mehr die Philosophie und Offenheit von MeanJS und mehr den Traktions- und Modul- / Paketansatz von MeanIO. Beide sind nett und Sie werden sie wahrscheinlich nicht mehr modifizieren, sodass Sie nichts falsch machen können, wenn Sie das eine oder das andere auswählen. Nehmen Sie sie einfach als Ausgangspunkt und als Lernübung.
ALTERNATIVE "BEDEUTET" -LÖSUNGEN
MEAN ist eine generische Methode (von Valeri Karpov geprägt ), um ein Boilerplate / Framework zu beschreiben, das "Mongo + Express + Angular + Node" als Basis des Stapels verwendet. Mit diesem Stack finden Sie Frameworks, die andere Bezeichnungen verwenden. Einige davon eignen sich hervorragend für RAD (Rapid Application Development) und das Erstellen von SPAs. Z.B:
Sie haben auch Hackathon Starter . Es hat kein A von MEAN (es ist 'MEN'), aber es rockt ..
Habe Spaß!
quelle
Erstens ist MEAN eine Abkürzung für M ongoDB, E xpress, A ngular und N ode.js.
Es identifiziert generisch die kombinierte Verwendung dieser Technologien in einem "Stapel". Es gibt nicht so etwas wie „ The MEAN Rahmen“.
Lior Kesos von Linnovate nutzte diese Verwirrung. Er kaufte die Domain MEAN.io und gab einen Code unter https://github.com/linnovate/mean ein
Zum Glück erhielten sie viel Werbung und es gibt immer mehr Artikel und Videos über MEAN. Wenn Sie Google "Mean Framework" verwenden, ist mean.io der erste in der Liste.
Leider scheint der Code unter https://github.com/linnovate/mean schlecht entwickelt zu sein .
Im Februar bin ich selbst in die Falle gegangen. Die Seite mean.io hatte ein eingängiges Design und das Github-Repo hatte mehr als 1000 Sterne. Die Idee, die Qualität in Frage zu stellen, ging mir nicht einmal durch den Kopf. Ich fing an, damit zu experimentieren, aber es dauerte nicht lange, bis ich auf Dinge stieß, die nicht funktionierten, und auf rätselhafte Codeteile.
Die Commit-Geschichte war auch ziemlich besorgniserregend. Sie haben den Code und die Verzeichnisstruktur mehrmals überarbeitet, und das Zusammenführen der neuen Änderungen ist zu zeitaufwändig.
Das Schöne an mean.io und mean.js Code ist, dass sie mit Bootstrap-Integration geliefert werden. Sie werden auch mit Facebook-, Github-, Linkedin usw.-Authentifizierung über PassportJs und einem Beispiel für ein Modell (Artikel) im Backend von MongoDB geliefert, das mit dem Frontend-Modell mit AngularJS synchronisiert wird.
Laut Linnovates Website:
Auf der Website sieht es so aus, als ob ihre Kernkompetenz Drupal (ein PHP-Content-Management-System) ist und sie erst seit kurzem Node.js und AngularJS verwenden.
In letzter Zeit las ich den Mean.js Blog und die Dinge wurden klarer. Mein Verständnis ist, dass der Hauptentwickler von Javascript (Amos Haviv) Linnovate verlassen hat, um an Mean.js zu arbeiten, und das MEAN.io-Projekt mit Leuten verlassen hat, die unerfahrene Node.js-Entwickler sind, die das Verständnis verlangsamen, wie die Dinge funktionieren sollen.
In Zukunft mögen sich die Dinge ändern, aber ich würde es vorerst vermeiden, mean.io zu verwenden. Wenn Sie nach einem Boilerplate für einen Schnellstart suchen, scheint Mean.js eine bessere Option als mean.io zu sein.
quelle
Hier finden Sie einen direkten Vergleich mehrerer Anwendungsstarter / -generatoren und anderer Technologien, einschließlich MEAN.js, MEAN.io und cleverstack. Ich füge immer wieder Alternativen hinzu, wenn ich Zeit finde, und in diesem Fall wächst auch die Liste der potenziell angebotenen Vorteile. Heute ist es bis ungefähr 1600. Wenn jemand dazu beitragen möchte, seine Genauigkeit oder Vollständigkeit zu verbessern, klicken Sie auf den nächsten Link und erstellen Sie einen Fragebogen zu etwas, das Sie kennen.
Vergleichen Sie das App-Technologie-Projekt
Aus dieser Datenbank generiert das System Berichte wie die folgenden:
Kompromissbericht zwischen MeanJS und MeanIO
quelle
Das Starter-Kompromissblatt meiner Vergleichstabelle enthält umfassende Einzelvergleiche zwischen den einzelnen Generatoren. Sie müssen also keine verzerrten Dinge mehr auswählen, um etwas über Ihren Favoriten zu sagen.
Hier ist der zwischen Generator-Angular-Fullstack und MEAN.js. Die Prozentsätze sind Werte für jeden Vorteil, basierend auf meinen persönlichen Gewichtungen, wobei ein perfekter Generator 100% wäre
Generator-Angular-Fullstack bietet 8%, was MEANJS.org nicht bietet
MeanJS.org. bietet 9%, was Generator-Angular-Fullstack nicht bietet
Hier ist die zwischen MEAN.io und MEAN.js in einem besser lesbaren Format
quelle
Ich bin überrascht, dass niemand den Yeoman-Generator als eckigen Fullstack erwähnt hat . Es ist der Yeoman-Community-Generator Nummer eins mit derzeit 1490 Sternen auf der Generatorseite im Vergleich zu den 81 Sternen von Mean.js (zugegebenermaßen kein fairer Vergleich, wenn man bedenkt, wie neu MEANJS ist). Es scheint aktiv gewartet zu werden und ist in Version 2.05, während ich dies schreibe. Im Gegensatz zu MEANJS wird Swig nicht zum Vorlagen verwendet. Es kann mit eingebautem Reisepass gerüstet werden.
quelle