Чи є для початку angular-seed фактично порожній проект?


82

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

Одне з навчальних відео, яке я бачив, автор Angular, стосується найкращих практик. І одна з найкращих практик - це почати з angular-seedпроекту.

Це те, що я збирався зробити, але трохи погугливши, вже є принаймні два інші проекти, які претендують на те, щоб стати хорошою відправною точкою:

  • angular-enterprise-seed
  • angular-sprout

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


1
Я думаю, що розмова про "найкращі практики" стосувалася скоріше використання шаблонів як вихідної точки загалом, а не якогось конкретного шаблону. Так, angular-sproutмає деякі переваги, але, на мій погляд, ви можете використовувати angular-seedдля навчальних цілей цілком чудово.
raina77ow

Я відредагував, щоб видалити слово templateз питання. Ні, справді, автор наполягав на використанні angular-seed як початку, щоб побудувати додаток на його фреймі (саме тому я використав слово шаблон, а не у значенні шаблону html). Дякуємо, що вказали на це.
Стефан Ролланд,

angular-seedповинен працювати нормально. Це справді питання особистих переваг щодо того, як ви хочете структурувати свій проект. Якби я збирався запропонувати інструмент для його використання, це був би молодий . Він чудово підходить для риштування кутових проектів та багато іншого ...
Джонатан Палумбо,

1
Можливо, ваше посилання на відео-посібник порушено.
JJ Zabkar

1
@JJZabkar виправив, дуже погано, я побачив твій коментар лише сьогодні ввечері.
Стефан Ролланд,

Відповіді:


60

Я виявив, що хоча багато людей використовують різні насіннєві проекти, найпростішою та найпослідовнішою відправною точкою для кутового додатка (або будь-якого веб-додатку javascript) є Yeoman .

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

Незважаючи на те, що подібний додаток неодмінно відрізняється думкою, риштування, яке він виробляє, все ще є дуже загальним.

приклад:

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

8
Я вважаю, що рядок 3 вище повинен бути npm install generator-angular.
Райан Уоллс

І рядок 4: npm встановити генератор-карма
Mattl

npm ПОМИЛКА! 404 'angular-generator' відсутній у реєстрі npm.
mortsahl

grunt serveщоб побачити це в браузері
jacktrades

1
Мені також довелося встановити yo "npm install --global yo"
moke

26

Усі вони мають різні переваги, тому це залежить від того, що ви хочете зробити. Я написав angular-enterprise-seed і можу говорити про його відносні переваги.

  1. Це серверно-агностичний. Це важливо, оскільки основний принцип AngularJS і одна з багатьох речей, які роблять його привабливим, полягає в тому, що він відповідає парадигмі MVC клієнта. Це означає, що він повністю відокремлений від будь-яких серверних технологій. Багато існуючих насіння прив'язують AngularJS до серверних технологій, таких як angular -sprout (NodeJS) або grilled-feta (Google App Engine / Java). У випадку з вищезазначеними проектами, якщо середовища NodeJS та / або Java ще не у вашій системі, вам доведеться пройти кілька обручів, щоб побачити, як насіння з’являється. Це може відчужувати розробників PHP та Python, що призводить до обмеження спільноти проекту.

  2. Працює за лічені секунди. Оскільки він є агностичним для сервера, його можна запустити в будь-якому контейнері (переслідуйте файлову систему). Запропонований метод запускає "python -m SimpleHTTPServer" з кореневого каталогу - він є рідним для Mac і Linux, тому додаткових кроків немає.

  3. Попередній перегляд. Перевірити стан проекту дешево, тому що жива версія завжди розміщується на github . Оскільки це агностик сервера, це автоматично робиться шляхом копіювання master в гілку gh-сторінок із завдання cron.

  4. Багата стилізація. Він включає Twitter Bootstrap та нестандартні / вбудовані МЕНШЕ, а також Angular-UI, Angular-NG, шрифти та безліч інших інструментів, що забезпечують багаті можливості стилізації та реагування.

  5. Віджети. Як Angular-Seed та Angular-Sprout, Angular-Enterprise-Seed ілюструє макет, найкращу практику, маршрутизацію тощо. Але він також пропонує безліч попередньо побудованих компонентів, які можна зняти з полиці та негайно використати повторно. Зробити це трохи важко, оскільки може знадобитися зближення декількох технологій. Наприклад, щоб створити приклад сітки, я поєднав стилі angular-ui, angular-ng, angular-js та jquery. Є приклади компонентів для модалів, пагінації, попереджень, сіток тощо.

Angular-seed - це чудова академічна вправа, якщо ви хочете дізнатись, як працюють шматки, але це залишить у вас тугу за більш суттєвою точкою стрибка.

Я не використовував кутовий паросток, тому не можу говорити про його достоїнства. Можливо, є якийсь простір для об’єднання кутових паростків та кутових насіннєвих підприємств?


2
Якщо ви хочете з'єднати сервер, перевірте github.com/robertjchristian/service-nucleus , який інтегрує angular -enterprise-seed із netflix-karyon та додає додаткову функціональність. Готовий з коробки до розгортання та війни. (На основі Java та включає REST через Джерсі).
Роберт Крістіан

1
це виглядає дуже добре як основа. Ви думали про інтеграцію bower, щоб полегшити додавання таких речей, як angular-ui-map тощо?
Болді

1
@Baldy - Так, я хотів би залучити Bower до проекту. Ви добровольцем? :)
Роберт Крістіан

на жаль ні, я перейшов до чогось іншого :)
Болді

1
Ви переконали мене "завжди свіжою версією, розміщеною на github" ... а потім надане посилання: robertjchristian.github.io/angular-enterprise-seed/# повертає порожню сторінку.
cerd

18

Я усвідомлюю, що це давнє запитання, але, схоже, воно має чималу кількість поглядів, тому має сенс рекомендувати те, що останнім часом стало дуже популярною альтернативою як йоменським, так і кутовим насінням: ng-bojplate . ng -plateplate відрізняється від angular-seed тим, що розроблений від нуля для великих веб-додатків, тому, на мій погляд, це краще рішення, ніж angular-seed.

Щоб пояснити різницю між методами Yeoman та ng-зразок для запуску додатків, я процитую творця ngbp Джоша Д. Міллера :

Йомен - чудовий. Але проблема у мене з генераторами для AngularJS полягає в тому, що вони пакуються за шаром, а не за функцією. Якщо ми зберігаємо всі контролери в папці "controllers", а всі служби в папці "services" тощо, і всі наші тести десь повністю, може бути досить складно повторно використовувати наші компоненти.

Це також досить гарна дискусія Джоша на форумі з питань кутових генераторів Yeoman, яка йде більш глибоко щодо налаштування ng -plateplate проти yeoman.


10

Щоб зрозуміти, Yeoman не є генератором. Yeoman - це формат / система для виготовлення генераторів. Є кілька генераторів, виготовлених з Yeoman, які ви можете використовувати для створення програми AngularJS. Люди часто помилково називають того чи іншого з них "генератором" Йомена. Але їх багато. Збентежений ще? Yeoman - не єдина система виготовлення генераторів. Бранч - ще один.

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

Залишилось ще кілька таких, які потрібно додати. Два згадані в цій темі для мене нові. Але це порівняння має дати вам гарне уявлення про варіанти та їх порівняння. Це також можна редагувати, тому, якщо хтось із вас є фахівцем у будь-якій із цих речей, сміливо діліться тим, що знаєте.

Бог знає, чому люди продовжують робити все більше і більше цих речей, а не просто допомагати вдосконалювати існуючі. Якщо у вас є якісь здогади, я хотів би, щоб ця таємниця була розгадана.

РЕДАГУВАТИ: щоб отримати доступ до документа, я прошу вас або заповнити анкету, щоб поділитися своїми знаннями про щось, або пролобіювати для цього експертів.

Зайдіть сюди, щоб скласти анкету: http://www.dancancro.com/technology-questionnaires/


9

Мені також подобається використовувати Yeoman. Спробуйте такі, щоб отримати хороший риштування:

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

Тільки зверніть увагу, що цей генератор зараз досить старий, тому не впевнений, що я б його більше рекомендував.
dmackerman

Так, але знайдіть іншого на сайті yeoman.io/generators . Шукати angular / angular2
HankCa
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.