Yeoman для новичков

08c4d709ebf74137a3d2b5687692f851.jpgЕсть такие программы и утилиты, воспользовавшись которыми, пользователь возопит: «Не знаю, как я мог жить без этого инструмента раньше!». На мой взгляд, консольная утилита Yeoman, написанная на Node.JS, относится как раз к разряду таких незаменимых инструментов. Почему? Итак, для начала давайте определимся, какой программный код генерирует Yeoman.Есть в программирование такое понятие — скаффолдинг (от англ. scaffold — «строительные леса»). Оно означает автоматическое построение структуры проекта. Могу ошибаться, но как подсказывает память впервые оно было использовано в Ruby on Rails. В Рельсах была специальная команда, которая генерировала код контроллеров и моделей.В чем суть этой функции? Работа программиста вне творческих взлётов и гениальных изысканий, достаточно однотипна. Она чаще всего заключается в том, чтобы в уже заранее установленные рамки библиотеки, фреймворка или движка внести собственные коррективы для реализации нужного функционала.Таким образом, первый шаг работы по созданию чего-то нового в любой системе — воспроизведения базового шаблона той или иной конструкции, которая заложена в её фундамент. Например, если вы в рамках выбранного фреймворка, например Laravel на PHP, строите свой сайт, вы по-любому будуте создавать контроллеры, модели, миграции, сиды и так далее.Что предлагают нам генераторы, встроенные в фреймворки? Избавиться от рутинной операции тиражирования исходных текстов.Однако, такая возможность генерации каркаса частей приложения встроена далеко не в каждую систему.Что и говорить, в таких популярных старожилах как WordPress пока ничего подобного нет.Поэтому летом 2012 года свет увидел приложение, о котором идёт речь в данном материале.Встречайте: 5b9c4e554da2470881c7e6670533a3e8.png Сайт программы достаточно познавательный: http://yeoman.ioНа нём вы можете найти массу полезной информации.Вот, например, типичная схема настройки рабочего пространства современного разработчика: 30037f5cb4fe4019ac2982dde72dc156.pngГенерируем скелет приложения при помощи Yeoman Устанавливаем дополнительные скрипты при помощи Bower Запускаем веб-сервер и сопутствующие полезные утилиты при помощи Grunt (или Gulp, о которым было написано пару дней назад) Давайте же освоим основы работы с Yeoman, чтобы каждый, кто ещё не видел эту программу в действии, понял бы её необходимость в ежедневном рабочем процессе. Сокращённо наш верный помощник называется yo.Поэтому его установка выглядит следующим образом: sudo npm i -g yo # сокращённо npm install yo -g  Исполнять этот код нужно, как вы уже поняли, в окошке терминала: eb3d5be202454ef994a5eb88f3d88f26.pngВсё, на этом установка завершена.Давайте запустим теперь эту программу и посмотрим, что она умеет делать. Поскольку мы использовали параметр -g при установке из менеджера пакетов npm, наш верный помощник YeoMan установился глобально. То есть его можно вызвать из любого места, какой бы ни была текущая директория вашего Терминала. В ином случае пришлось бы запускать программу только из той директории, в которой была запущена программа установки.

Запустим программу простым вызовом команды yo в Терминале и посмотрим, что же она умеет делать: 2ef67df4c33543999aa2e50c2d636811.pngКак видите,  YeoMan встречает автора статьи, приветствуя по имени. Далее программы предлагает запустить один из ранее установленных генераторов.О том, как они устанавливаются, чуточку позже.Давайте пока выберем один из них и посмотрим, как он работает.Запускаем генератор WordPress: 59afedaa3946456eb2309d5f191e005f.png

Этот генератор устанавливает последнюю версию WordPress.Перед установкой он просит нас ответить на ряд вопросов — адрес сайта, настройки базы данных и так далее: 12d59f5bc9494e48b514b8f7a395eb1c.png

Установка последней версии из Git: 81ece6234de74067bb8b6363b7c379d7.png

Запись файлов: 60443cb56efc4b0e8f4a730c1ce9943d.png

Завершение работы: 55c7d2cd34a84806917074b5f52b1bca.pngТаким образом Yeoman меньше чем за минуту проделал ту работу, на которую раньше мы тратили как минимум несколько минут и много кликов мышки.

Как можно было понять из написанного выше, Yeoman — это только оболочка, интерфейс, который осуществляет работу многообразия генераторов.Как искать и ставить сами генераторы? Можно через официальный сайт: cf1bcb8fbc8444ed9c83b4466d30969a.pnghttp://yeoman.io/generators/А можно и через консоль: b359ee45b3c14fe1bc3310b959d67d09.png

96bbbe03fdf64ac9a0e3d820dd2a0800.png

Задачей данной публикации была демонстрация работы Yeoman и пробуждение у читателя интереса к автоматизации процесса разработки. Ведь в конечном счёте, чем больше вы задумываетесь над оптимизацией и используете полезные инструменты — тем больше свободного времени для личных нужд у вас остаётся.Пускай ту часть работы, время которой мы можем потратить на семью, делают машины. И Yeoman в этом плане прекрасный помощник.Изучайте, пробуйте, радуйтесь вместе с нами.Официальный сайт программы: http://yeoman.ioP.S. Материал рассчитан на тех, кто ещё не пользуется Yeoman по каким-либо причинам.Если вы используете эту программу, прошу в комментариях рассказать о своих предпочтениях и опыте работе с ней — всем будет полезно узнать.

© Habrahabr.ru