Сборщики проектов Gulp и Grunt

Вернуться
Опубликовано: 2.12.2015 г.

Общие сведения по Grunt

Grunt принадлежит к сфере инструментов, предназначенных для сборки и подгонки при помощи консоли с применением задач. Данное средство сочетает в себе много операций на одном шаге:

 

 

 

  1. Объединение разработочных файлов.
  2. Оптимизация кода javascript с целью ускорения загрузки веб-страниц.
  3. Конвертация Sass.
  4. Минимизация количества файлов CSS браузером и прочее.

Все похожие средства, написанные ранее, предназначались для использования в узкоспециализированных сферах программирования. Так как они не проектировались специально для Front-end разработчиков, то имели ряд недостатков. Несколько из них даже были чувствительны к знанию других языков, или диалектических разновидностей. Всё это создавало дополнительные трудности в изучении и последующем применении.

Многих разработчиков не устраивало данное положение вещей. После совместного сотрудничества был выпущен инструмент, несущий в своей основе язык, каждый день востребованный. Grunt в полной мере реализован на Javascript, может применяться на разнообразных платформах и функционирует в Node.js.

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

Плагины для grunt

Вопреки относительной молодости проекта, для него окончательно разработаны немало полезных плагинов, удовлетворяющих практически любые запросы и потребности.

В случае необходимости написания объёмного веб-приложения существует возможность интеграции оптимизаций для Google Closure Compiler и Require.js, а также предкомпиляции заданных шаблонов Jade, Mocha, Cucumber и прочих. Все плагины на сегодня доступны по ссылкам на сайте Grunt.

Gulp, общие сведения

Средство для сведения в единое целое компонентов проекта получило название Gulp(Гальп). Оно создавалось для работы на основе Node.js, который служит «переводчиком» узкоспециализированного языка JavaScript в язык широкого спектра назначения (машинный код).

Также Gulpвыполняет функции таск-менеджера. Таск-менеджер по своей сути – маленькое приложение, используемое для автоматического исполнения повторяющихся рутинных процессов. К подобным вещам относятся минификация, старт модульных тестов, предварительный процессинг CSS и конкатенация файлов. Должным образом запрограммированный таск-менеджер будет выполнять поставленные перед ним задачи, предоставив вам заниматься собственными делами. Идея, лежащая в основе, привлекательна в своей простоте и обеспечивает экономию массы времени, необходимого для решения задач по непосредственной разработке проекта.

Инсталляция производится сначала глобально, а затем непосредственно для приложения.

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

Gulp плагины

Каждый плагин в инструменте для сборки веб-приложений Gulp выполняет одну отдельную функцию.

Все плагины для различных целей можно отыскать прямо на странице, содержащей их список, либо же поиском на npm.

Отличие Gulp от Grunt

После описания каждого инструмента для сборки сам собой напрашивается вопрос: какой же из них лучше подходит для выполнения поставленных задач и как сделать выбор в чью-либо пользу?

  1. Передача данных потоком. Система gulp базируется на принципе потоковой передачи данных. Она обеспечивает гораздо более значительный контроль над операциями и действует напрямую, не захламляя проект временными и промежуточными директориями с файлами. Разработчик перемещает файл под управление gulp с последующим сохранением результата в другое место. Просто и эффективно.
  2. Использование плагинов. Ключевое отличие заключается и в подходе к применению плагинов. Для обогащения собственного функционального потенциала нужны надстройки. Но каждый отдельно взятый плагин отвечает за исполнение одного элементарного действия. А собственно Gulp выступает оболочкой и организатором совершаемых действий в более сложные задачи. В отличии от Grunt в системе не найти плагинов, ответственных за одну и ту же процедуру, вступающих в конфликты друг с другом или с главным функционалом.
  3. Прежде всего код, а настройки – потом. Файл инструмента – gulpfile – является в первую очередь кодом, а не просто файлом с настройками. Написанный в соответствии со спецификацией CommonJS, gulp не составит для вас трудностей, особенно при знакомстве с Node. Хорошая читабельность и аккуратность кода достигается за счёт его структурирования хорошо известным способом.

Что выбрать?

Хотя для большого процента людей выбор таск-менеджера – это вопрос привычки и личных предпочтений, gulp всё же смотрится попроще и поосновательнее grunt. Так как для каждой элементарной процедуры предназначен свой плагин, то нет нужды путаться в довольно громоздкой простыне текста. В некоторых случаях он помогает уменьшить количество строк в коде.

Стоить отметить, что grunt был первым в своей области, а потом, как альтернативное решение, появился gulp. Он содержит меньшее количество плагинов, которых, однако, вполне хватает для выполнения поставленных задач.

Вся документация для данных средств в полном объёме представлена на официальных сайтах: http://gruntjs.com/ и http://gulpjs.com/, соответственно.

1505 0

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *