it-swarm.com.de

Unterschied zwischen MEAN.js und MEAN.io

Ich wollte den MEAN-JavaScript-Stack verwenden, habe aber festgestellt, dass es zwei verschiedene Stacks gibt, die entweder eine eigene Website und eigene Installationsmethoden haben: mean.js und mean.io. Also stellte ich mir die Frage: "Welches verwende ich?".

Um diese Frage zu beantworten, frage ich die Community, ob Sie die Unterschiede zwischen diesen beiden erklären könnten. Und wenn möglich Vor- und Nachteile? Weil sie mir sehr ähnlich sehen.

333
CMPSoares

Sie sind im Wesentlichen gleich ... Beide verwenden swig zum Schablonieren, 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 Typen gestartet ... Mean.io ist jetzt unter dem Dach der Firma Linnovate und sieht aus wie die Der Typ (Amos Haviv) beendete seine Zusammenarbeit mit dieser Firma und startete Mean.js. Mehr über die Gründe erfahren Sie hier .

Nun ... die wichtigsten (oder kleinen) Unterschiede, die Sie im Moment sehen können, sind:


ERZEUGUNG VON GERÜSTEN UND KESSELPLATTEN

Mean.io verwendet ein benutzerdefiniertes CLI-Tool mit dem Namen "mean".
Mean.js verwendet Yeoman-Generatoren


MODULARITÄT

Mean.io verwendet eine eigenständigere Modularität der Knotenpakete mit Client- und Serverdateien in den Modulen.
Mean.js verwendet Module nur im Front-End (für Angular) und verbindet sie mit Express. Obwohl sie auch an vertikalen Modulen arbeiteten ...


BUILD SYSTEM

Mean.io ist kürzlich zum Schlucken übergegangen
Mean.js grunzt


BEREITSTELLUNG

Beide haben Dockerfiles in ihren jeweiligen Repos, und Mean.io lässt sich mit einem Klick auf Google Compute Engine installieren, während Mean.js auch mit bereitgestellt werden kann. Ein-Klick-Installation auf Digital Ocean .


DOKUMENTATION

Mean.io hat ok docs
Mean.js hat FANTASTISCHE Dokumente


COMMUNITY

Mean.io hat eine größere Community, da es die ursprüngliche Kesselplatte war
Mean.js hat weniger Schwung aber 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 wahrscheinlich damit enden, sie zu modifizieren, so dass Sie nicht wirklich falsch liegen können, wenn Sie das eine oder das andere auswählen. Nehmen Sie sie einfach als Ausgangspunkt und als Lernübung.


ALTERNATIVE BEDEUTUNGSLÖSUNGEN

MEAN ist eine generische Methode (geprägt von Valeri Karpov ), um ein Boilerplate/Framework zu beschreiben, das "Mongo + Express + Angular + Node" als Basis von verwendet der Stapel. Mit diesem Stapel können Sie Frameworks finden, die andere Bezeichnungen verwenden, von denen einige sehr gut für die RAD (Rapid Application Development) und das Erstellen von SPAs geeignet sind. Z.B:

Sie haben auch Hackathon-Starter . Es hat kein A von MEAN (es ist 'MEN'), aber es rockt ..

Habe Spaß!

374
SDude

Zuallererst ist MEAN ein Akronym für M ongoDB, E xpress, A ngular und N ode.js.

Es identifiziert generisch die Kombination dieser Technologien in einem "Stapel". Es gibt kein " The MEAN framework".

Lior Kesos at Linnovate nutzte diese Verwirrung. Er hat die Domain MEAN.io gekauft und Code unter https://github.com/linnovate/mean eingegeben

Sie haben zum Glück viel Publizität erhalten und es gibt immer mehr Artikel und Videos über MEAN. Wenn Sie "mean framework" von Google verwenden, ist mean.io der erste in der Liste.

Leider scheint der Code unter https://github.com/linnovate/mean schlecht konstruiert 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 1000+ Sterne. Die Idee, die Qualität in Frage zu stellen, ging mir nicht einmal durch den Kopf. Ich habe angefangen, damit zu experimentieren, aber es dauerte nicht lange, bis ich auf Dinge gestoßen war, die nicht funktionierten und die Teile des Codes verwirrten.

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 kommen. Sie kommen auch mit Facebook, Github, Linkedin usw. Authentifizierung durch PassportJs und einem Beispiel für ein Modell (Artikel) im Backend auf MongoDB, das mit dem Frontend-Modell mit AngularJS synchronisiert ist.

Laut der Website von Linnovate:

Linnovate ist das führende Open Source-Unternehmen in Israel und verfügt über das erfahrenste Team des Landes, das sich der Entwicklung von High-End-Open-Source-Lösungen widmet. Linnovate ist das einzige Unternehmen in Israel, das A-Z-Services für Unternehmen zum Aufbau und zur Wartung ihres nächsten Webprojekts anbietet.

Von der Website aus sieht es so aus, als wären ihre Kernkompetenzen Drupal (ein PHP Content-Management-System) und erst seit kurzem verwenden sie Node.js und AngularJS.

In letzter Zeit las ich Mean.js Blog und die Dinge wurden klarer. Mein Verständnis ist, dass der Haupt-Javascript-Entwickler (Amos Haviv) Linnovate verlassen hat, um an Mean.js zu arbeiten. Er hat das MEAN.io-Projekt mit Leuten verlassen, die Anfänger von Node.js-Entwicklern sind, die das Verstehen verlangsamen, wie die Dinge funktionieren sollen.

In Zukunft können sich die Dinge ändern, aber ich würde es vorerst vermeiden, mean.io zu verwenden. Wenn Sie ein Boilerplate für einen Schnellstart suchen, scheint Mean.js eine bessere Option zu sein als mean.io.

66
Chris Cinelli

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, sobald ich Zeit finde, und in diesem Fall wächst auch die Liste der potenziell bereitgestellten Vorteile. Heute ist es ungefähr um 1600. Wenn jemand helfen möchte, seine Genauigkeit oder Vollständigkeit zu verbessern, klicken Sie auf den nächsten Link und machen Sie einen Fragebogen über etwas, das Sie wissen.

Vergleiche App Technologien Projekt

Aus dieser Datenbank generiert das System Berichte wie die folgenden:

MeanJS vs MeanIO Trade-Off-Bericht

19
Dan Cancro

Das Starter Trade-offs Sheet meiner Vergleichstabelle enthält umfassende Eins-zu-Eins-Vergleiche zwischen den einzelnen Generatoren. Sie müssen also nicht mehr verzerrt nach tollen Dingen suchen, um über Ihren Favoriten zu sprechen.

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%, MEANJS.org nicht

  • 1,9% clientseitige End-to-End-Tests
  • 0,6% fabrik
  • 0,5% Anbieter
  • 0,4% SASS
  • 0,4% WENIGER
  • 0,4% Kompass
  • 0,4% Dekorateur
  • 0,4% Endpunkt-Subgenerator
  • 0,4% Kommentare
  • 0,3% FontAwesome
  • 0,3% Führen Sie den Server im Debug-Modus aus
  • 0,3% Speichert Generatorantworten in einer Datei
  • 0,2% konstant
  • 0,2% Entwicklungs-Build-Skript: ...... Ersetzen Sie Drittanbieter-Deps durch CDN-Versionen
  • 0,2% Authentifizierung - Cookie
  • 0,2% Authentifizierung - JSON Web Token (JWT)
  • 0,2% serverseitige Protokollierung
  • 0,1% Entwicklungs-Build-Skript: Führen Sie Tasks parallel aus, um sie zu beschleunigen
  • Build-Skript für 0,1% -Entwicklung: Benennt Asset-Dateien um, um Browser-Caching zu verhindern
  • 0,1% Entwicklungs-Build-Skript: Führen Sie End-to-End-Tests aus
  • 0.1% Production Build Script: Sichere Vorminimierung
  • 0,1% Produktionserstellungsskript: Fügen Sie CSS-Herstellerpräfixe hinzu
  • 0,1% Heroku-Bereitstellungsautomatisierung
  • 0,1% Wert
  • 0,1% Jade
  • 0,1% Coffeescript
  • 0.1% Beschränkung der serverseitig authentifizierten Route
  • 0.1% SASS Version von Twitter Bootstrap
  • 0,1% Produktionserstellungsskript: Bilder komprimieren
  • 0,1% Automatisierung der OpenShift-Bereitstellung

MeanJS.org. bietet 9%, die der Generator-Angular-Fullstack nicht bietet

  • 3,7% Engagierte/durchsuchbare Benutzergruppe: Antwortzeit meist unter einem Tag
  • 0,4% Routen generieren
  • 0,4% Authentifizierung - Oauth
  • 0,4% Konfig
  • 0,4% in Lokalisation
  • 0,4% Eingabe-Anwendungsprofil
  • 0,3% FEATURE (a.k.a. Modul, Entity, Crud-Mock)
  • 0,3% Menüsystem
  • 0,3% Optionen zur Herstellung von Unterkomponenten
  • 0,3% Test - Client-Seite
  • 0,3% Javascript-Leistung Sache
  • 0,3% Production Build Script: Statische Seiten für SEO erstellen
  • 0,2% Schnellinstallation?
  • 0,2% dedizierte/durchsuchbare Benutzergruppe
  • 0,1% Entwicklungs-Build-Skript: Build-Datei bei Änderung neu laden
  • 0.1% Entwicklungs-Build-Skript: Kaffee-Dateien, die zu JS kompiliert wurden
  • 0,1% Controller - Serverseite
  • 0,1% Modell - Serverseite
  • 0,1% Route - Serverseite
  • 0,1% Test - Serverseite
  • 0,1% Swig
  • 0,1% sicher vor IP-Spoofing
  • 0.1% Production Build Script: Uglifizierung
  • 0,0% Sichtweise: URLs beginnen mit "#!"
  • 0,0% Ansatz für Frontend-Services und Ajax-Aufrufe: Verwendet $ resource

Hier ist die zwischen MEAN.io und MEAN.js in einem besser lesbaren Format

<table border="1" cellpadding="10"><tbody><tr><td valign="top" width="33%"><br><br><h1>MeanJS.org. provides these benefits that MEAN.io. doesn't</h1><br><br><b>Help</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Dedicated/searchable user group for questions, using github issues<br>&nbsp;&nbsp;&nbsp;&nbsp;* There's a book about it<br><b>File Organization</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Basic sourcecode organization, module(-&gt;submodule)-&gt;side<br>&nbsp;&nbsp;&nbsp;&nbsp;* Module directories hold directives<br><b>Code Modularization</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to AngularJS modules, Only one module definition per file<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to AngularJS modules, Don’t alter a module other than where it is defined<br><b>Model</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Object-relational mapping<br>&nbsp;&nbsp;&nbsp;&nbsp;* Server-side validation, server-side example<br>&nbsp;&nbsp;&nbsp;&nbsp;* Client side validation, using Angular 1.3<br><b>View</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to AngularJS views, Directives start with "data-"<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to data readiness, Use ng-init<br><b>Control</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to frontend routing or state changing, URLs start with '#!'<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to frontend routing or state changing, Use query parameters to store route state<br><b>Support for things</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Languages, LESS<br>&nbsp;&nbsp;&nbsp;&nbsp;* Languages, SASS<br><b>Syntax, language and coding</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* JavaScript 5 best practices, Don't use "new"<br><b>Testing</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Testing, using Mocha<br>&nbsp;&nbsp;&nbsp;&nbsp;* End-to-end tests<br>&nbsp;&nbsp;&nbsp;&nbsp;* End-to-end tests, using Protractor<br>&nbsp;&nbsp;&nbsp;&nbsp;* Continuous integration (CI), using Travis<br><b>Development and debugging</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Command line interface (CLI), using Yeoman<br><b>Build</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Build configurations file(s)<br>&nbsp;&nbsp;&nbsp;&nbsp;* Deployment automation, using Azure<br>&nbsp;&nbsp;&nbsp;&nbsp;* Deployment automation, using Digital Ocean, screencast of it<br>&nbsp;&nbsp;&nbsp;&nbsp;* Deployment automation, using Heroku, screencast of it<br><b>Code Generation</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Input application profile<br>&nbsp;&nbsp;&nbsp;&nbsp;* Quick install?<br>&nbsp;&nbsp;&nbsp;&nbsp;* Options for making subcomponents<br>&nbsp;&nbsp;&nbsp;&nbsp;* config generator<br>&nbsp;&nbsp;&nbsp;&nbsp;* controller (client side) generator<br>&nbsp;&nbsp;&nbsp;&nbsp;* directive generator<br>&nbsp;&nbsp;&nbsp;&nbsp;* filter generator<br>&nbsp;&nbsp;&nbsp;&nbsp;* route (client side) generator<br>&nbsp;&nbsp;&nbsp;&nbsp;* service (client side) generator<br>&nbsp;&nbsp;&nbsp;&nbsp;* test - client side<br>&nbsp;&nbsp;&nbsp;&nbsp;* view or view partial generator<br>&nbsp;&nbsp;&nbsp;&nbsp;* controller (server side) generator<br>&nbsp;&nbsp;&nbsp;&nbsp;* model (server side) generator<br>&nbsp;&nbsp;&nbsp;&nbsp;* route (server side) generator<br>&nbsp;&nbsp;&nbsp;&nbsp;* test (server side) generator<br><b>Implemented Functionality</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Account Management, Forgotten Password with Resetting<br>&nbsp;&nbsp;&nbsp;&nbsp;* Chat<br>&nbsp;&nbsp;&nbsp;&nbsp;* CSV processing<br>&nbsp;&nbsp;&nbsp;&nbsp;* E-mail sending system<br>&nbsp;&nbsp;&nbsp;&nbsp;* E-mail sending system, using Nodemailer<br>&nbsp;&nbsp;&nbsp;&nbsp;* E-mail sending system, using its own e-mail implementation<br>&nbsp;&nbsp;&nbsp;&nbsp;* Menus system, state-based<br>&nbsp;&nbsp;&nbsp;&nbsp;* Paypal integration<br>&nbsp;&nbsp;&nbsp;&nbsp;* Responsive design<br>&nbsp;&nbsp;&nbsp;&nbsp;* Social connections management page<br><b>Performance</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Creates a favicon<br><b>Security</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Safe from IP Spoofing<br>&nbsp;&nbsp;&nbsp;&nbsp;* Authorization, Access Contol List (ACL)<br>&nbsp;&nbsp;&nbsp;&nbsp;* Authentication, Cookie<br>&nbsp;&nbsp;&nbsp;&nbsp;* Websocket and RESTful http share security policies<br><br><br></td><td valign="top" width="33%"><br><br><h1>MEAN.io. provides these benefits that MeanJS.org. doesn't</h1><br><br><b>Quality</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Sponsoring company<br><b>Help</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Docs with flatdoc<br><b>Code Modularization</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Share code between projects<br>&nbsp;&nbsp;&nbsp;&nbsp;* Module manager<br><b>View</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to data readiness, Use state.resolve()<br><b>Control</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to frontend code loading, Use AMD with Require.js<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to frontend code loading, using wiredep<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to error handling, Server-side logging<br><b>Client/Server Communication</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Centralized event handling<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to XHR calls, using $http and $q<br><b>Syntax, language and coding</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* JavaScript 5 best practices, Wrap code in an IIFE (SEAF, SIAF)<br><b>Development and debugging</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* API introspection report and testing interface, using Swagger<br>&nbsp;&nbsp;&nbsp;&nbsp;* Command line interface (CLI), using Independent command line interface<br><b>Build</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Development build, add IIFEs (SEAF, SIAF) to executable copies of code<br>&nbsp;&nbsp;&nbsp;&nbsp;* Deployment automation<br>&nbsp;&nbsp;&nbsp;&nbsp;* Deployment automation, using Heroku<br><b>Code Generation</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Scaffolding undo&nbsp;&nbsp;&nbsp;&nbsp;(mean package -d &lt;name&gt;)<br>&nbsp;&nbsp;&nbsp;&nbsp;* FEATURE (a.k.a. module, entity) generator, Menu items added for new features<br><b>Implemented Functionality</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Admin page for users and roles<br>&nbsp;&nbsp;&nbsp;&nbsp;* Content Management System&nbsp;&nbsp;&nbsp;&nbsp;(Use special data-bound directives in your templates.<br>Switch to edit mode and you can edit the values right where you see them)<br>&nbsp;&nbsp;&nbsp;&nbsp;* File Upload<br>&nbsp;&nbsp;&nbsp;&nbsp;* i18n, localization<br>&nbsp;&nbsp;&nbsp;&nbsp;* Menus system, submenus<br>&nbsp;&nbsp;&nbsp;&nbsp;* Search<br>&nbsp;&nbsp;&nbsp;&nbsp;* Search, actually works with backend API<br>&nbsp;&nbsp;&nbsp;&nbsp;* Search, using Elastic Search<br>&nbsp;&nbsp;&nbsp;&nbsp;* Styles, using Bootstrap, using UI Bootstrap AngularJS directives<br>&nbsp;&nbsp;&nbsp;&nbsp;* Text (WYSIWYG) Editor<br>&nbsp;&nbsp;&nbsp;&nbsp;* Text (WYSIWYG) Editor, using medium-editor<br><b>Performance</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Instrumentation, server-side<br><b>Security</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Serverside authenticated route restriction<br>&nbsp;&nbsp;&nbsp;&nbsp;* Authentication, using Oauth, Link multiple Oauth strategies to one account<br>&nbsp;&nbsp;&nbsp;&nbsp;* Authentication, JSON Web Token (JWT)<br><br><br></td><td valign="top" width="33%"><br><br><h1>MEAN.io. and MeanJS.org. both provide these benefits</h1><br><br><b>Quality</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Version Control, using git<br><b>Platforms</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Client-side JS Framework, using AngularJS<br>&nbsp;&nbsp;&nbsp;&nbsp;* Frontend Server/ Framework, using Node.JS<br>&nbsp;&nbsp;&nbsp;&nbsp;* Frontend Server/ Framework, using Node.JS, using Express<br>&nbsp;&nbsp;&nbsp;&nbsp;* API Server/ Framework, using NodeJS<br>&nbsp;&nbsp;&nbsp;&nbsp;* API Server/ Framework, using NodeJS, using Express<br><b>Help</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Dedicated/searchable user group for questions<br>&nbsp;&nbsp;&nbsp;&nbsp;* Dedicated/searchable user group for questions, using Google Groups<br>&nbsp;&nbsp;&nbsp;&nbsp;* Dedicated/searchable user group for questions, using Facebook<br>&nbsp;&nbsp;&nbsp;&nbsp;* Dedicated/searchable user group for questions, response time mostly under a day<br>&nbsp;&nbsp;&nbsp;&nbsp;* Example application<br>&nbsp;&nbsp;&nbsp;&nbsp;* Tutorial screencast in English<br>&nbsp;&nbsp;&nbsp;&nbsp;* Tutorial screencast in English, using Youtube<br>&nbsp;&nbsp;&nbsp;&nbsp;* Dedicated chatroom<br><b>File Organization</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Basic sourcecode organization, module(-&gt;submodule)-&gt;side, with type subfolders<br>&nbsp;&nbsp;&nbsp;&nbsp;* Module directories hold controllers<br>&nbsp;&nbsp;&nbsp;&nbsp;* Module directories hold services<br>&nbsp;&nbsp;&nbsp;&nbsp;* Module directories hold templates<br>&nbsp;&nbsp;&nbsp;&nbsp;* Module directories hold unit tests<br>&nbsp;&nbsp;&nbsp;&nbsp;* Separate route configuration files for each module<br><b>Code Modularization</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Modularized Functionality<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to AngularJS modules, No global 'app' module variable<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to AngularJS modules, No global 'app' module variable without an IIFE<br><b>Model</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Setup of persistent storage<br>&nbsp;&nbsp;&nbsp;&nbsp;* Setup of persistent storage, using NoSQL db<br>&nbsp;&nbsp;&nbsp;&nbsp;* Setup of persistent storage, using NoSQL db, using MongoDB<br><b>View</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* No XHR calls in controllers<br>&nbsp;&nbsp;&nbsp;&nbsp;* Templates, using Angular directives<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to data readiness, prevents Flash of Unstyled/compiled Content (FOUC)<br><b>Control</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to frontend routing or state changing, example of it<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to frontend routing or state changing, State-based routing<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to frontend routing or state changing, State-based routing, using ui-router<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to frontend routing or state changing, HTML5 Mode<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to frontend code loading, using angular.bootstrap()<br><b>Client/Server Communication</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Serve status codes only as responses<br>&nbsp;&nbsp;&nbsp;&nbsp;* Accept nested, JSON parameters<br>&nbsp;&nbsp;&nbsp;&nbsp;* Add timer header to requests<br>&nbsp;&nbsp;&nbsp;&nbsp;* Support for signed and encrypted cookies<br>&nbsp;&nbsp;&nbsp;&nbsp;* Serve URLs based on the route definitions<br>&nbsp;&nbsp;&nbsp;&nbsp;* Can serve headers only<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to XHR calls, using JSON<br>&nbsp;&nbsp;&nbsp;&nbsp;* Approach to XHR calls, using $resource (angular-resource)<br><b>Support for things</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Languages, JavaScript (server side)<br>&nbsp;&nbsp;&nbsp;&nbsp;* Languages, Swig<br><b>Syntax, language and coding</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* JavaScript 5 best practices, Use 'use strict'<br><b>Tool Configuration/customization</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Separate runtime configuration profiles<br><b>Testing</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Testing, using Jasmine<br>&nbsp;&nbsp;&nbsp;&nbsp;* Testing, using Karma<br>&nbsp;&nbsp;&nbsp;&nbsp;* Client-side unit tests<br>&nbsp;&nbsp;&nbsp;&nbsp;* Continuous integration (CI)<br>&nbsp;&nbsp;&nbsp;&nbsp;* Automated device testing, using Live Reload<br>&nbsp;&nbsp;&nbsp;&nbsp;* Server-side integration &amp; unit tests<br>&nbsp;&nbsp;&nbsp;&nbsp;* Server-side integration &amp; unit tests, using Mocha<br><b>Development and debugging</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Command line interface (CLI)<br><b>Build</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Build-time Dependency Management, using npm<br>&nbsp;&nbsp;&nbsp;&nbsp;* Build-time Dependency Management, using bower<br>&nbsp;&nbsp;&nbsp;&nbsp;* Build tool / Task runner, using Grunt<br>&nbsp;&nbsp;&nbsp;&nbsp;* Build tool / Task runner, using gulp<br>&nbsp;&nbsp;&nbsp;&nbsp;* Development build, script<br>&nbsp;&nbsp;&nbsp;&nbsp;* Development build, reload build script file upon change<br>&nbsp;&nbsp;&nbsp;&nbsp;* Development build, copy assets to build or dist or target folder<br>&nbsp;&nbsp;&nbsp;&nbsp;* Development build, html page processing<br>&nbsp;&nbsp;&nbsp;&nbsp;* Development build, html page processing, inject references by searching directories<br>&nbsp;&nbsp;&nbsp;&nbsp;* Development build, html page processing, inject references by searching directories, injects js references<br>&nbsp;&nbsp;&nbsp;&nbsp;* Development build, html page processing, inject references by searching directories, injects css references<br>&nbsp;&nbsp;&nbsp;&nbsp;* Development build, LESS/SASS/etc files are linted, compiled<br>&nbsp;&nbsp;&nbsp;&nbsp;* Development build, JavaScript style checking<br>&nbsp;&nbsp;&nbsp;&nbsp;* Development build, JavaScript style checking, using jshint or jslint<br>&nbsp;&nbsp;&nbsp;&nbsp;* Development build, run unit tests<br>&nbsp;&nbsp;&nbsp;&nbsp;* Production build, script<br>&nbsp;&nbsp;&nbsp;&nbsp;* Production build, concatenation (aggregation, globbing, bundling)&nbsp;&nbsp;&nbsp;&nbsp;(If you add debug:true to your config/env/development.js the will not be <br>uglified)<br>&nbsp;&nbsp;&nbsp;&nbsp;* Production build, minification<br>&nbsp;&nbsp;&nbsp;&nbsp;* Production build, safe pre-minification, using ng-annotate<br>&nbsp;&nbsp;&nbsp;&nbsp;* Production build, uglification<br>&nbsp;&nbsp;&nbsp;&nbsp;* Production build, make static pages for SEO<br><b>Code Generation</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* FEATURE (a.k.a. module, entity) generator&nbsp;&nbsp;&nbsp;&nbsp;(README.md<br>feature css<br>routes<br>controller<br>view<br>additional menu item)<br><b>Implemented Functionality</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* 404 Page<br>&nbsp;&nbsp;&nbsp;&nbsp;* 500 Page<br>&nbsp;&nbsp;&nbsp;&nbsp;* Account Management<br>&nbsp;&nbsp;&nbsp;&nbsp;* Account Management, register/login/logout<br>&nbsp;&nbsp;&nbsp;&nbsp;* Account Management, is password manager friendly<br>&nbsp;&nbsp;&nbsp;&nbsp;* Front-end CRUD<br>&nbsp;&nbsp;&nbsp;&nbsp;* Full-stack CRUD<br>&nbsp;&nbsp;&nbsp;&nbsp;* Full-stack CRUD, with Read<br>&nbsp;&nbsp;&nbsp;&nbsp;* Full-stack CRUD, with Create, Update and Delete<br>&nbsp;&nbsp;&nbsp;&nbsp;* Google Analytics<br>&nbsp;&nbsp;&nbsp;&nbsp;* Menus system<br>&nbsp;&nbsp;&nbsp;&nbsp;* Realtime data sync<br>&nbsp;&nbsp;&nbsp;&nbsp;* Realtime data sync, using socket.io<br>&nbsp;&nbsp;&nbsp;&nbsp;* Styles, using Bootstrap<br><b>Performance</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* Javascript performance thing<br>&nbsp;&nbsp;&nbsp;&nbsp;* Javascript performance thing, using lodash<br>&nbsp;&nbsp;&nbsp;&nbsp;* One event-loop thread handles all requests<br>&nbsp;&nbsp;&nbsp;&nbsp;* Configurable response caching&nbsp;&nbsp;&nbsp;&nbsp;(Express plugin<br><b>https</b>://www.npmjs.org/package/apicache)<br>&nbsp;&nbsp;&nbsp;&nbsp;* Clustered HTTP sessions<br><b>Security</b>:<br>&nbsp;&nbsp;&nbsp;&nbsp;* JavaScript obfuscation<br>&nbsp;&nbsp;&nbsp;&nbsp;* https<br>&nbsp;&nbsp;&nbsp;&nbsp;* Authentication, using Oauth<br>&nbsp;&nbsp;&nbsp;&nbsp;* Authentication, Basic&nbsp;&nbsp;&nbsp;&nbsp;(With Passport or others)<br>&nbsp;&nbsp;&nbsp;&nbsp;* Authentication, Digest&nbsp;&nbsp;&nbsp;&nbsp;(With Passport or others)<br>&nbsp;&nbsp;&nbsp;&nbsp;* Authentication, Token&nbsp;&nbsp;&nbsp;&nbsp;(With Passport or others)<br></td></tr></tbody></table>
13
Dan Cancro

Ich bin überrascht, dass niemand den Yeoman-Generator erwähnt hat Angular-Fullstack . Es ist die Nummer eins der Yeoman-Community-Generatoren mit derzeit 1490 Sternen auf der Generatorseite vs Mean.js '81 Sternen (zugegebenermaßen kein fairer Vergleich, wenn man bedenkt, wie neu MEANJS ist). Es scheint aktiv gewartet zu werden und ist in der Version 2.05, wie ich dies schreibe. Im Gegensatz zu MEANJS wird Swig nicht für das Templating verwendet. Es kann mit eingebautem Reisepass gerüstet werden.

8
honkskillet