Ошибка первая: писать техзадание вместо предложения
Люди, которых раньше обжигал плохой софт, склонны открывать билдер и вводить целый абзац. Система оценок, единицы измерения, офлайн-режим, цветовая схема — всё выложено заранее, ещё до первого ответа. Ощущается как ответственный подход. На деле это не так. Билдер читает ваше единственное предложение, выводит, что вы, вероятно, имеете в виду, и примерно через пятнадцать секунд возвращается с планом — «дневник тренировок для скалолазов» превращается в журнал сессий, представление для отслеживания сложности и дашборд, с V-шкалой для боулдеринга и YDS для маршрутов, выбранными по умолчанию, потому что именно их используют большинство скалолазов. Он сразу сообщает вам, что выбрал, прямо в плане, так что вы можете поправить это одной строкой, если вы — исключение. Написание абзаца заранее не пропускает этот шаг. Вы всё равно получаете план, вам всё равно нужно его прочитать, а теперь вы ещё потратили три минуты на набор ограничений, которые план и так бы вам показал — в том порядке, который на самом деле важен для вашего билда.
План — это не форма с полями для заполнения. Это текст, и отвечаете вы тоже текстом. «На самом деле сделай градации по шкале Font, я в Европе» — это законченная правка. Как и «добавь поле напарника/лога страховки, я лазаю с разными людьми». Каждая правка пересоздаёт план, а не сборку — вы задаёте направление до начала затратного этапа, а не перезапускаете его. Утверждение плана — последнее обязательное решение с вашей стороны. Всё, что дальше, — это генерация и проверка.
Ошибка вторая: следить за лентой, как за зависшим терминалом
Сборка выполняется на сервере, и «поломка», которую вы видите здесь, почти всегда ложная тревога: кто-то две минуты смотрит на тихую ленту активности и решает, что всё зависло. Это не так — просто идёт этап, который не выдаёт видимый результат каждую секунду, и лента как раз для того и подписывает текущий этап. Вкладку можно закрыть полностью. Процесс не привязан к вашему браузеру.
Реальные ожидания сильно зависят от формы проекта. Лог для скалолазания — несколько страниц, локальная модель данных, без обращений к внешнему API — укладывается меньше чем в три минуты, и это типично для всего, что сводится к «записать это, построить график того, показать список». Как только сборке нужен настоящий бэкенд, авторизация, база данных со связями, фоновые задачи — время увеличивается до восьми-двенадцати минут, потому что добавляется генерация и миграция схемы, а проверка проходит второй раз уже для серверного кода, а не только для разметки. Игры ещё медленнее, потому что требуют генерации ассетов: спрайтов, звуковых эффектов, иногда второго прохода по визуалу, если первая попытка плохо читается в нужном масштабе. А нативная упаковка — по-настоящему устанавливаемый APK, а не веб-вью в обёртке — передаёт работу настоящему инструментарию: Gradle, подписи и всё остальное. Один этот этап может добавить пять-десять минут сверх всего остального, и это тот случай, когда тихая лента означает, что инструментарий занят своими делами, а не что что-то сломалось.
Честная цена этой модели в том, что вы теряете мгновенную, посимвольную обратную связь от кода, стримящегося в редактор. Взамен вы получаете систему, которая переживёт сон вашего ноутбука и обрыв wifi, которую можно проверить с телефона и которая продолжает работать независимо от того, следите вы за ней или нет. Для девяностосекундной сборки этот компромисс почти незаметен. Для двенадцатиминутной сборки бэкенда это разница между тем, чтобы сидеть над терминалом, и тем, чтобы спокойно выпить кофе.
Ошибка третья: путать «сгенерировано» с «готово»
Это дорогая часть. Сборка, которая быстро завершилась, но не была проверена — это не готовая сборка, а черновик, который просто запускается. И именно в этом разрыве кроется плохая репутация быстрых конструкторов сайтов — они выпускают формы без санитизации и кнопки, до которых невозможно добраться с клавиатуры. Прежде чем платформа сочтёт что-либо завершённым, отдельные агенты-верификаторы проверяют результат: код, безопасность, ссылки, SEO, доступность и соответствие утверждённому вами плану. Это по-настоящему отдельный проход, а не тот же агент, перечитывающий собственный вывод и кивающий сам себе.
Проверка безопасности выискивает то самое «скучное», что на практике больнее всего бьёт в продакшене: API-ключ, закоммиченный в клиентский код, форму, принимающую ввод без санитизации, эндпоинт, который доверяет ID пользователя, переданному клиентом, вместо того чтобы брать его из сессии. Проверка доступности — не линтер, который можно заглушить комментарием: она проверяет реальный контраст цветов и доступность интерактивных элементов с клавиатуры.
Проверку на соответствие плану недооценивают больше всего. Проходу генерации легко незаметно потерять что-то из запрошенного вами — например, то самое поле журнала партнёра/страховки из вашей правки плана — уже на третьем файле сборки, приоритет которому просто занизили, и никто не решал его убирать намеренно. Проверка соответствия перечитывает утверждённый план и сравнивает его с фактическим результатом, находя расхождение. Если оно обнаружено, исправление применяется и перепроверяется автоматически: вы не получаете список задач — вы получаете либо исправление, которое даже не увидите, либо подтверждение, что всё в порядке. Механика того, что именно проверяет каждый верификатор, и что происходит, если проверка проваливается дважды подряд, описана в Как сборки проверяют сами себя. Единственное, что стоит вынести из этого раздела: «готово» означает прошло проверку, а не сгенерировано. Спутайте эти два понятия — и рано или поздно вы выпустите утёкший ключ или недоступную кнопку.
Что вы получаете, если избежите всех трёх ошибок
- Рабочий продукт в реальном превью, по которому можно кликать — действительно работающий экземпляр с подключёнными вашими данными, а не скриншот того, как это будет выглядеть.
- Прикреплённая к нему цепочка чата, где фраза «сделай шапку темнее и добавь страницу статистики» создаёт вторую версию рядом с первой. Старая версия не исчезает — она остаётся как запасной вариант, пока новая занимает место в живом превью.
- Кнопки, которые реально что-то делают: опубликовать в сеть, скачать код, собрать нативные установщики, отправить в магазин приложений. Не всплывающие окна с апсейлом, замаскированные под кнопки.
Кнопку «скачать код» стоит рассмотреть отдельно, потому что именно она отличает инструмент, которому вы доверите что-то реальное, от того, который годится лишь для одноразовых прототипов. Если код действительно ваш и его можно забрать — понятная структура файлов, без экзотических привязок сверх того, что вы сами запрашивали — платформе приходится и дальше заслуживать вашу следующую сессию, а не почивать на лаврах, зная, что вы уже застряли внутри неё.



