Изначально это было размещено на моем собственном сайте.

В 2020 году я заново открыл для себя удовольствие от создания веб-сайта с использованием простого HTML, CSS и JavaScript - без транспилина, без компиляции, без инструментов для сборки, кроме моих рук на клавиатуре.

Видя, что мой личный бренд можно охарактеризовать как так поздно для игры, что стадион был снесен, я решил запустить подкаст в 2020 году. Это подкаст моего агентства Clearleft, и ему было присвоено очень образное название. Подкаста Clearleft. Я очень доволен тем, как получился первый сезон. Я также очень доволен созданным мной веб-сайтом.

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

Это оказалось невероятно раскрепощающим. Было очень удобно писать фактические HTML и CSS, которые будут доставлены конечным пользователям без какого-либо посредничества. Я чувствовал себя так, как будто я зарылся в почву этого участка.

CSS так сильно изменился за последние годы - с такими функциями, как calc() и настраиваемыми свойствами, - что вам не нужно использовать препроцессоры, такие как Sass. А ванильный JavaScript - мощный, полнофункциональный и работает во всех браузерах без компиляции.

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

Но такая настройка подходит не для каждого веб-сайта. И все те инструменты и процессы, которые призваны экономить время, иногда в конечном итоге тратят время впустую. Приходилось ли когда-нибудь возвращаться к проекту спустя, скажем, шесть или двенадцать месяцев? Может быть, вы просто хотите немного изменить CSS. Но вы не можете, потому что зависимость нарушена. Вот и попробуй его обновить. Но он полагается на другую версию Node. Прежде чем вы это узнаете, вы Брайан Крэнстон меняет лампочку. Вам следует настроить одну строчку CSS, но вместо этого вы сражаетесь с энтропией.

Всякий раз, когда я решаю задачу фронтенд-разработки, мне нравится применять принцип наименьшей мощности: выбирать наименее мощный язык, подходящий для данной цели. Классическим примером может служить простой элемент HTML button вместо попытки воссоздать все встроенные функции кнопки с помощью div с добавлением ARIA и JavaScript. В этом году я понял, что тот же принцип применим и к инструментам сборки.

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

Мое новогоднее решение на 2021 год - сесть на диету. Больше никаких увесистых node_modules папок; просто свежий и вкусный HTML, CSS и JavaScript.

Изначально это было размещено на моем собственном сайте.