Является angular - начался де-факто пустой проект?

После того, как вы убедились в том, чтобы узнать и использовать Angular.js, я собирался запустить конкретное приложение для веб-интерфейса, чтобы запустить обучающее колесо опыта. (Приложение будет своеобразным персональным планированием, сделать список, напоминание, технику помпоро и т.д.)

Один из учебных видеороликов, которые я видел автором Angular, касается лучших практик. И одна из лучших практик - начать с angular-seed.

Это то, что я собирался делать, но после небольшого поискового запроса уже есть как минимум два других проекта, которые утверждают, что это хорошая отправная точка:

  • angular-enterprise-seed
  • angular-sprout

Я начинаю, но мне нравится инвестировать в долгосрочной перспективе. Должен ли я беспокоиться об использовании чего-то другого, кроме angular-seed? Я чувствую, что слишком рано задавать себе этот вопрос, но если есть уже два других проекта, возможно, есть веские причины.

Ответ 1

Я обнаружил, что, хотя многие люди используют различные проекты семян, самая простая и самая последовательная отправная точка для приложения angular (или любого веб-приложения javascript) - Yeoman.

Это приложение представляет собой инструмент для создания лесов, который позволяет вам указать генераторы, которые будут создавать ядро ​​вашего приложения, в комплекте с любыми библиотеками, которые вы хотите (через bower) и рабочий файл grunt (большинство генераторов поставляются с задачей сборки, задачей сервера для редактирования в реальном времени и задачей тестирования)

Хотя приложение, подобное этому, обязательно упрямо, создаваемые ими леса все еще очень общие.

Пример:

mkdir my-app
cd my-app
npm install generator-angular
npm install generator-karma
yo angular

Ответ 2

Все они имеют разные достоинства, поэтому это зависит от того, что вы хотите сделать. Я написал angular-enterprise-seed и могу говорить о его относительных достоинствах.

  • Это серверно-агностик. Это важно, поскольку основной принцип AngularJS и одна из многих вещей, которые делают его привлекательным, заключается в том, что он следует парадигме MVC клиента. Это означает, что он полностью отключен от любых серверных технологий. Многие существующие семена привязывают AngularJS к серверным технологиям, таким как angular-sprout (NodeJS) или grilled-feta ( Google App Engine/Java). В случае вышеупомянутых проектов, если среды NodeJS и/или Java еще не находятся в вашей системе, вам придется пройти несколько обручей, чтобы увидеть, как семя пришло. Это может оттолкнуть разработчиков PHP и Python, что приводит к ограничению сообщества проекта.

  • Работает и работает в секундах.. Поскольку он не является агентом, он может запускаться в любом контейнере (например, файловая система). Предлагаемый метод запускает "python -m SimpleHTTPServer" из корневого каталога - это происходит на Mac и Linux, поэтому никаких дополнительных шагов нет.

  • Предварительный просмотр в реальном времени.. Это дешево, чтобы проверить статус проекта, потому что живая версия всегда размещена в github. Поскольку он агностик сервера, это делается автоматически, копируя мастер в ветвь gh-pages из задания cron.

  • Богатый стиль.. Он включает в себя щебетать Bootstrap и настраиваемый/готовый LESS из коробки, а также Angular -UI, Angular -NG, шрифты и множество другие инструменты для обеспечения богатых стилей и возможностей реагирования.

  • Виджеты.. Как Angular -Seed и Angular -Sprout, Angular -Enterprise-Seed иллюстрирует "наилучшую практику", маршрутизацию и т.д. Но он также обеспечивает множество готовых компонентов, которые можно снять с полки и сразу же использовать повторно. Это немного сложно сделать, поскольку это может потребовать конвергенции нескольких технологий. Например, чтобы создать пример сетки, я объединил Angular -ui, Angular -ng, Angular -js и стиль jquery. Существуют примеры компонентов для модалов, разбиения на страницы, оповещения, сетки и т.д.

Angular -seed отлично, как академическое упражнение, если вы хотите узнать, как работают куски, но это оставит вас в ожидании более существенной точки перехода.

Я не использовал Angular -sprout, поэтому я не могу говорить о его достоинствах. Может быть, есть место для объединения Angular -sprout и Angular -enterprise-seed?

Ответ 3

Я признаю, что это более старый вопрос, но, похоже, у него есть довольно много мнений, поэтому имеет смысл рекомендовать то, что недавно стало очень популярной альтернативой как Yeoman, так и angular -seed: нг-шаблонный. ng-designplate отличается от angular -серийным, поскольку он разработан с нуля для крупных веб-приложений для производства и, следовательно, является лучшим решением, чем angular, на мой взгляд.

Чтобы объяснить различия между методами йоменского и ng-шаблонов приложения kickstarting, я приведу ngbp creator, Джош Д. Миллер:

Йомен потрясающий. Но проблема, с которой я сталкиваюсь с генераторами для AngularJS, заключается в том, что они представляют собой пакет за слоем, а не функцией. Если мы сохраним все контроллеры в папке "контроллеры" и всех сервисах в папке "services" и т.д. И все наши тесты где-то еще полностью, может быть довольно сложно повторно использовать наши компоненты.

Это также довольно хорошая дискуссия от Джоша на форуме йоркских форумов angular, который более подробно рассказывает о настройке ng-designplate vs. старшина.

Ответ 4

Чтобы быть понятным, Йомен не генератор. Yeoman - это формат/система для создания генераторов. Существует несколько генераторов с Йоменом, которые вы можете использовать для создания приложения AngularJS. Люди часто ошибочно относятся к тому или иному из них, как к "генератору Йомен". Но их много. Еще не запутались? Йомен - не единственная система создания генератора. Бранч - еще один.

Чтобы ответить на ваш вопрос, здесь является очень всесторонним параллельным сопоставлением многих генераторов AngularJS, которые можно использовать для начала создания веб-приложение с AngularJS. В настоящее время он содержит более 200 различных аспектов этих вещей. Один из них - стиль файловой организации. Таким образом, вы можете легко увидеть, какие из них организуют файлы по функциям, если это важно для вас. Это для меня.

Есть еще несколько из них, которые нужно добавить. Два, упомянутых в этой теме, новы для меня. Но это сравнение должно дать вам хорошее представление об опциях и их сравнении. Это тоже редактируется, поэтому, если кто-либо из вас является экспертом в любой из этих вещей, не стесняйтесь делиться тем, что знаете.

Бог знает, почему люди продолжают делать все больше и больше, вместо того, чтобы просто улучшать существующие. Если у вас есть какие-либо догадки, я бы с удовольствием разрешил эту тайну.

EDIT: чтобы получить доступ к документу, я прошу вас либо заполнить анкету, чтобы поделиться своими знаниями о чем-то, либо лоббировать экспертов, чтобы сделать это.

Перейдите сюда, чтобы заполнить анкету: http://www.dancancro.com/technology-questionnaires/

Ответ 5

Мне нравится использовать Йомена. Попробуйте это, чтобы получить хороший эшафот:

npm install -g generator-angular  # install generator
yo angular                        # scaffold out a AngularJS project
bower install angular-ui          # install a dependency for your project from Bower
grunt test                        # test your app
grunt server                      # preview your app
grunt                             # build the application for deployment