Это быстро развивающаяся индустрия 🏃🏼

Современный рабочий процесс фронтенд-разработки - непростая задача. Сядьте и приготовьтесь к бесконечной истории. Когда вы думаете, что почти у цели, уже есть лучшая и более быстрая платформа или инструмент. Начнем наше путешествие.

Дилемма фронтенд-разработчика 🍽

Что выбрать?

Добро пожаловать в мир фронтенд-разработки 👨🏻‍💻

Менеджеры пакетов:
Yarn, NPM, pnpm…

Препроцессоры CSS:
Sass, PostCSS, Less, Stylus…

CSS Framework (необязательно):
Bootstrap, Foundation, Bulma…

Методология CSS / архитектура / соглашение об именах:
OOCSS, SMACSS, ITCSS, функциональный CSS, BEM, SUITCSS, атомарный…

Исполнители задач:
скрипты NPM, Gulp, Grunt…

Загрузчик модуля Javascript:
Webpack, Require.js, Browserify, Rollup, Parcel…

Транспилятор JavaScript:
Babel, Typescript, Flow…

Анализ кода JS:
JSLint, JSHint, ESLint…

Фреймворки JS:
React, Angular, Vue.js…

CSS в JS:
стилизованные компоненты, модули CSS, Radium…

Автоматическое тестирование:
Mocha, Jest, Enzyme, Chai, Ava, Karma, Jasmine…

Языки шаблонов HTML:
Nunjucks, Moustache, Handlebars, Pug, Twig.js…

Прогрессивные веб-приложения, генераторы статических сайтов… и многое другое.

Аааааааааааааааааааааааааааа! Пожалуйста, прекрати.

Итак, какова лучшая установка? 🚀

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

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

Мой шаблон 🥳

Gulp 4 + Webpack 4 + Babel + Sass + Архитектура ITCSS + Методология БЭМ + Twig.js

GitHub: https://github.com/tomaszbujnowicz/frontie-webpack

Диспетчер пакетов: Yarn
Быстро и работает должным образом.

Препроцессоры CSS: Sass
В нем есть все, что мне нужно. PostCSS - тоже фантастическое произведение искусства, но правда в том, что, в конце концов, это вопрос личных предпочтений.

CSS Framework:
Мне нравится полностью контролировать свой код, поэтому я использую только некоторые небольшие части из последней версии Bootstrap 4: Система сеток и Адаптивные точки останова.

Архитектура / методология CSS: ITCSS
Архитектура CSS с перевернутым треугольником помогает мне организовать мои файлы CSS наиболее эффективным и структурированным способом. Это также увеличивает ремонтопригодность и снижает сложность.

Соглашение об именовании CSS: БЭМ
Соглашение об именовании БЭМ дает мне намного больше прозрачности и ясности в моей разметке. Крутое визуальное объяснение можно найти здесь Объяснение БЭМ 5-летнему ребенку.

Соответствие CSS: ITCSS + BEM
Они отлично работают друг с другом.

Task Runner: Gulp 4
С помощью Gulp 4 можно настроить практически все, мне нравится эта гибкость.

Загрузчик модуля Javascript: Webpack
Его сложно настроить, но он выполняет свою работу очень хорошо.
Следующий шаг: Parcel молниеносно и, что более важно, нулевое объявление конфигурации тоже кажется правдой (это не Webpack). Это выглядит многообещающе, и есть смысл попробовать.

Транспилятор JavaScript: Babel

Языки шаблонов HTML: Twig.js
Он отлично работает и прост в обращении.

Почему еще один шаблон? Их так много.

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

Есть ли лучший рабочий процесс фронтенд-разработки?

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

Продолжайте исследовать 👀