Посмотрел я на ту гору JavaScript, которую написал для SnapAPI, чтобы оно хоть как-то работало как нормальный сайт, а не как лендос на Craftum. Подумал, что мне уже будет проще тупо написать свое. Хотелось создать удобный интерфейс для сервиса скриншотов, который бы не только выглядел современно, но и работал без лишних костылей.
Погнали.
Взял Cursor.
Взял Astro как фреймворк — идеальный выбор для такого проекта с его островной архитектурой.
Вогнал промпты в Cursor.
Три дня возился, менял стили, добавлял анимацию, общался с Cursor. Ползал по Dribbble в поисках референсов, читал статьи на тему "какие еще миллион либ-убийц-предыдущих-убийц успели выпустить на JS".
Это была приятная часть, это мне нравилось. Творческий процесс без бесконечных ограничений платформы даёт свободу, которой так не хватает в шаблонных конструкторах.
Сайт получился. Личный кабинет работал на ура. Куда проще вставлялись всякие фронтовые свисто-перделки. Появились лоадеры, сервисы, сокеты, оповещалки, анимации, которые можно сделать в Craftum только в дизайн-блоке (или в ночных кошмарах).
API-интерфейс для управления скриншотами выглядел современно и отзывчиво — пользователи могли легко настраивать параметры, видеть историю запросов и управлять своими API-ключами.
Казалось бы, все супер. Можно еще вылизывать, но общая картина уже нравилась. Надо запускать.
Запускаем... 3.. 2.. 1..
И тут начался мой страшный сон. Я будто прошел Вьетнам, вернулся домой, беспробудно бухал 10 лет и тут вспомнил кошмар.
Я просто хотел посмотреть стиль одного элемента... я разве многого требовал?.. Открыл Dev Tools и оказалось, у меня включен режим просмотра в мобильном экране...
И тут я вспомнил, что мне больше всего не нравится на фронте — это возня с медиа-запросами, с разрешениями всех устройств. CSS Grid и Flexbox вроде бы упрощают задачу, но когда нужно учесть десятки брейкпоинтов, начинаешь задумываться "а нахер оно мне надо".
Не то чтобы это большая проблема. Поправим за пару дней, дело не хитрое. Но раздражает до мозга костей. Терпеть не могу.
Не помню уже, почему я решил накатать свою приложуху, наверно из-за постоянных фронтовых багов и "ограничений платформы". Но я неожиданно осознал, что если многого не требовать и стараться делать сайт на "обычных" блоках, то не все так плохо.
Остается только писать JS-скрипты, а это дело не хитрое.
Да, в конструкторах типа Craftum много чего нет, но оно и не надо для быстрого запуска MVP. SnapAPI как сервис для создания скриншотов через API не требует сверхсложного фронтенда — главное, чтобы интерфейс был понятным и функциональным.
Возможно, во мне говорила моя прокрастинация и нежелание двигаться дальше, но вся суть идеи "наклепать фронт на Craftum" была в том, чтобы быстро запуститься и "протестить", а не написать идеальный фронтенд с нуля.
Наверное, этим и стоит заняться, а не придумывать себе "важные" дела, которые на самом деле не так важны. В конце концов, лучший код — это тот, который уже работает и приносит пользу. А адаптивный дизайн... ну, это всегда успеется.
По-итогу пока забьем на фронт. Есть более важные дела