Разница между MEAN.js и MEAN.io

Я хотел использовать MEAN JavaScript Stack, но я заметил, что есть два разных стека с их собственным сайтом и методами установки: mean.js и mean.io. Поэтому я поднялся, задавая себе этот вопрос: "Какой из них я использую?".

Итак, чтобы ответить на этот вопрос, я спрашиваю сообщество, можете ли вы объяснить, в чем различия между этими двумя? И по возможности плюсы и минусы? Потому что они очень похожи на меня.

Ответ 1

Они по сути одни и те же... Они оба используют swig для шаблонов, они оба используют карму и мокко для тестов, интеграцию паспорта, nodemon и т.д.

Почему так похоже? Mean.js является развилкой Mean.io, и обе инициативы были начаты тем же парнем... Mean.io теперь находится под зонтиком компании Linnovate и выглядит как парень (Амос Хавив) прекратил свое сотрудничество с этой компанией и начал Mean.js. Подробнее о причинах можно прочитать здесь.

Теперь... основные (или маленькие) различия, которые вы можете увидеть прямо сейчас:


СКОРОСТНОЕ И КОТЕЛЬНОЕ ПОКОЛЕНИЕ

Среднее значение .io использует пользовательский инструмент cli с именем "mean"
Mean.js использует генераторы Yeoman


Модульность

Mean.io использует более автономную модульную модульность node с клиентскими и серверными файлами внутри модулей.
Средство .js использует модули только в интерфейсе (для angular) и соединяет их с Express. Хотя они также работали над вертикальными модулями...


СТРОИТЕЛЬНАЯ СИСТЕМА

Mean.io недавно перешел на gulp
Mean.js использует grunt


DEPLOYMENT

Оба имеют Dockerfiles в своих соответствующих репозиториях, а Mean.io устанавливает один клик на Google Compute Engine, а Mean.js также может быть развернут с помощью установить один клик в Digital Ocean.


Documentation

Среднее .io имеет ok docs
Среднее .js имеет УДИВИТЕЛЬНЫЕ документы


СООБЩЕСТВО

Mean.io имеет большее сообщество, так как это был оригинальный шаблон Mean.js имеет меньший импульс, но устойчивый рост


На личном уровне мне больше нравится философия и открытость MeanJS, а также более высокий уровень сцепления и модульных/пакетных подходов MeanIO. Оба хороши, и вы закончите, вероятно, их модификацию, так что вы не можете ошибиться в том, что выбрали тот или другой. Просто возьмите их как отправную точку и как учебное упражнение.


АЛЬТЕРНАТИВНЫЕ РЕШЕНИЯ "СРЕДСТВА"

MEAN - это общий способ (придумал Валери Карпов) для описания шаблона/рамки, который принимает "Mongo + Express + Angular + Node" как основание стека. Вы можете найти фреймворки с этим стекем, которые используют другое достоинство, некоторые из них действительно хороши для RAD (Rapid Application Development) и создания SPA. Например:

У вас также есть Hackathon Starter. У него нет A of MEAN (это "MEN" ), но он потрясает.

Удачи!

Ответ 2

Прежде всего, MEAN является аббревиатурой M ongoDB, E xpress, A ngular и N ode.js.

В целом он идентифицирует комбинированные используемые технологии в "стеке". Нет такой вещи, как "Рамка MEAN".

Lior Kesos в Linnovate взял преимущество этой путаницы. Он купил домен MEAN.io и поместил код https://github.com/linnovate/mean

Они, к счастью, получили много гласности, и в Theree все больше и больше статей и видео о MEAN. Когда Google "означает фреймворк", mean.io является первым в списке.

К сожалению, код https://github.com/linnovate/mean кажется плохо спроектированным.

В феврале я сам попал в ловушку. У сайта mean.io был броский дизайн, а репозиторий Github насчитывал 1000 звезд. Идея расспросить качество даже не прошла через мой разум. Я начал экспериментировать с ним, но не слишком много времени, чтобы наткнуться на вещи, которые не работали, и озадачивать фрагменты кода.

История фиксации также была довольно актуальной. Они повторно спроектировали структуру кода и каталогов несколько раз, и слияние новых изменений слишком трудоемко.

Хорошие вещи как в коде mean.io, так и в mean.js - это то, что они поставляются с интеграцией Bootstrap. Они также имеют аутентификацию Facebook, Github, Linkedin и т.д. Через PassportJs и пример модели (статьи) на бэкэнд на MongoDB, который синхронизация с интерфейсной моделью с помощью AngularJS.

Согласно веб-сайту Linnovate:

Linnovate - ведущая компания с открытым исходным кодом в Израиле, с наиболее опытная команда в стране, посвященная созданию high-end с открытым исходным кодом. Linnovate - единственная компания в Израиле, которая предоставляет услуги A-Z для предприятий по строительству и обслуживанию их следующий веб-проект.

На веб-сайте похоже, что их основным набором навыков является Drupal (система управления контентом PHP), и только в последнее время они начали использовать Node.js и AngularJS.

В последнее время я читал Блог Mean.js, и все стало понятным. Я понимаю, что главный разработчик Javascript (Amos Haviv) оставил Linnovate для работы над Mean.js, оставив проект MEAN.io с людьми, которые являются новичками Node.js, которые замедляют понимание того, как должны работать вещи.

В будущем все может измениться, но на данный момент я бы избегал использовать mean.io. Если вы ищете шаблон для быстрого запуска Mean.js, это лучший вариант, чем mean.io.

Ответ 3

Ниже приведено сравнение нескольких стартеров/генераторов приложений и других технологий, включая MEAN.js, MEAN.io и cleverstack. Я продолжаю добавлять альтернативы, когда нахожу время, и, как это происходит, список потенциально обеспеченных пособий также растет. Сегодня это примерно до 1600. Если кто-то хочет помочь улучшить его точность или полноту, нажмите следующую ссылку и сделайте анкету о том, что вы знаете.

Сравнить проект технологий приложений

Из этой базы данных система генерирует отчеты следующим образом:

Отчет о компромиссе MeanJS vs MeanIO

Ответ 4

В таблице "Стартерские компромиссы" моей таблицы сравнения есть всесторонние сравнения "один на один" между каждым генератором. Поэтому больше не нужно искажать вишни, чтобы сказать о своих любимых.

Вот один из генераторов - angular -полный станок и MEAN.js. Проценты - это значения для каждого пособия, основанные на моих личных весах, где идеальный генератор будет на 100%

generator- angular - fullstack предлагает 8%, что MEANJS.org не

  • 1,9% клиентские сквозные тесты
  • 0,6% factory
  • поставщик 0,5%
  • 0.4% SASS
  • 0.4% LESS
  • 0.4% Compass
  • 0.4% декоратор
  • 0.4% Подгенератор конечной точки
  • 0.4% Комментарии
  • 0,3% FontAwesome
  • 0.3% Запустить сервер в режиме отладки
  • 0.3% Сохранить ответы генератора на файл
  • 0,2% константа
  • 0.2% Разработка script:...... заменить сторонние отпечатки с версиями CDN
  • 0.2% Аутентификация - Cookie
  • 0,2% Аутентификация - JSON Web Token (JWT)
  • 0,2% Журналирование на стороне сервера
  • 0.1% Разработка script: запуск задач параллельно с ускорением
  • 0.1% Разработка script: переименование файлов активов для предотвращения кеширования браузера
  • 0.1% Разработка script: запуск от конца до конца
  • 0.1% Производственная сборка script: безопасная предварительная минификация
  • 0.1% Производственная сборка script: добавить префиксы поставщика CSS
  • 0,1% автоматизации развертывания Heroku
  • 0.1% значение
  • 0.1% Джейд
  • 0.1% Coffeescript
  • 0.1% Ограничение маршрута, сертифицированное серверами
  • 0.1% SASS версия Twitter Bootstrap
  • 0.1% Производственная сборка script: сжатие изображений
  • 0.1% Автоматизация развертывания OpenShift

MeanJS.org. предлагает 9%, что генератор angular -fullstack не

  • 3,7% Выделенная/поисковая группа пользователей: время ответа в основном в течение дня
  • 0.4% Создание маршрутов
  • 0.4% Аутентификация - Oauth
  • 0.4% config
  • 0.4% i18n, локализация
  • 0.4% Входной профиль приложения
  • 0.3% FEATURE (модуль a.k.a., сущность, crud-mock)
  • 0.3% Меню меню
  • 0.3% Опции для создания подкомпонентов
  • 0.3% test - сторона клиента
  • 0.3% Производительность Javascript
  • 0.3% Производственная сборка script: создание статических страниц для SEO
  • 0.2% Быстрая установка?
  • 0,2% Выделенная/поисковая группа пользователей
  • 0.1% Разработка script: перезагрузить файл сборки при изменении
  • 0.1% Разработка script: файлы кофе, скомпилированные в JS
  • 0.1% контроллер - серверная сторона
  • 0.1% модель - серверная сторона
  • 0.1% маршрут - сторона сервера
  • 0.1% test - сторона сервера
  • 0.1% Swig
  • 0.1% Безопасный от IP-спуфинга
  • 0.1% Производственная сборка script: uglification
  • 0.0% Подход к представлениям: URL-адреса начинаются с "#!"
  • 0.0% Подход к внешним сервисам и вызовам ajax: использует $resource

Вот один из MEAN.io и MEAN.js в более читаемом формате

<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 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>

Ответ 5

Я удивлен, что никто не упомянул генератор Yeoman angular-fullstack. Это генератор генератора номер один, который в настоящее время составляет 1490 звезд на странице генератора