- BrainTools - https://www.braintools.ru -
Я бизнес‑аналитик. Пишу мобильные приложения с нуля — без исходных знаний кода, архитектуры, дизайна и маркетинга. Инструменты те же: Claude в чате и копипаст в Android Studio.
Это вторая статья. Первая была про старт эксперимента и публикацию первых версий. Реакция [1] была предсказуемая: часть читателей сочла это «неподдерживаемым способом разработки», часть — «игрой в прототипы», часть — «без навыков всё развалится». Я не собираюсь спорить на уровне тезисов. Поэтому вместо дискуссии — отчёт по фактам.
Ссылка на первую статью [2]. Здесь не будет пересказа. Это именно промежуточный срез: что произошло после публикации, когда пришли реальные пользователи и реальные проблемы.
Неразработчик может создать и развивать реальный продукт с реальными пользователями, используя только ИИ как основного “исполнителя”, если он берёт на себя роль постановщика задач, тестировщика и интегратора.
Не демо, не прототип «для друзей», а продукт, который живёт: у него есть установка, баг‑репорты, фиксы, обновления.
Гипотеза не про «замену разработчиков». Она про нижнюю границу входа: насколько далеко можно уехать, если водитель — не программист, а навигатор — чат с ИИ.
Claude в чате — генерирует код, объясняет ошибки [3] сборки, предлагает варианты исправлений, помогает думать по структуре.
Android Studio — собираю проект, запускаю на эмуляторе/устройстве, вижу ошибки, вношу правки (обычно копипастом).
RuStore — публикация, обновления, сбор обратной связи через отзывы/сообщения.
Роли распределены так:
Я: формулирую требования, проверяю поведение [4] приложения, воспроизвожу баги, принимаю решения «что именно должно быть», интегрирую изменения в проект, прогоняю сборку, выкатываю обновление.
ИИ: предлагает реализацию, исправляет ошибки компиляции/логики по симптомам, подсказывает где искать причины, предлагает дизайн данных и экранов (на уровне структуры).
За это время стало понятно: качество результата почти всегда упирается не в «умность модели», а в то, насколько точно вы описали контекст.
Сейчас я задаю задачи в формате:
Что сломано / что нужно получить (наблюдаемое поведение [5]).
Как воспроизвести (шаги).
Какая версия приложения/экрана (если важно).
Ограничения: «без переписывания всего», «без новых библиотек», «сохранить текущий UI», «данные не потерять».
Что я уже пробовал и что увидел: сообщения ошибок, логи, где примерно находится код.
Если баг — я прошу не «пофиксить», а:
назвать вероятную причину,
указать, в каких файлах это обычно живёт,
предложить 2–3 решения с рисками,
и только потом — конкретные правки.
Если в начале я работал как «пишем фичу целиком с нуля по описанию», то сейчас чаще работаю как:
маленькие изменения вместо больших переделок;
фиксы через минимальный дифф: исправить ровно то, что ломает сценарий;
контроль состояния и данных: где хранится, когда сбрасывается, что переживает перезапуск;
понимание структуры проекта: не «какой-то набор файлов», а отдельные сущности: экраны, модели данных, хранилище состояния, логика [6] таймеров и т. п.
Это не делает меня разработчиком. Но снижает вероятность, что я случайно «починю одно — сломаю три».
В RuStore лежат два приложения:
«168 Часов» — планировщик времени (идея: 168 часов в неделе как бюджет).
«F1 Tycoon» — простая игра.
Оба можно скачать и проверить руками. Я специально держу этот эксперимент в публичной зоне: иначе любые выводы будут уровня «у меня на телефоне работало».
После публикации первой статьи и последующей активности:
«168 Часов»: с 1 до 71 скачивания
«F1 Tycoon»: с 13 до 45 скачиваний
Это не «успех» и не «продукт взлетел». Это просто 71 и 45 установок. Но ключевое: это уже не ноль. Появляются люди, которые используют приложение не так, как я ожидал.
Как только приложение перестаёт быть «моим проектом в студии», начинается нормальная жизнь со стандартным набором:
пользователь нажал не в том порядке;
пользователь перезапустил приложение «не вовремя»;
пользователь ожидает сохранения состояния там, где я про это не думал;
пользователь хочет фичу, которую я не планировал, но которая логична.
И это, пожалуй, самый важный переход: эксперимент перестал быть теоретическим.
Симптом: таймер в «168 Часов» сбрасывался при перезаходе в приложение. То есть пользователь стартует активность/таймер, выходит, возвращается — и видит не продолжение, а обнуление/несогласованное состояние.
Как баг обнаружен: пользовательское использование + воспроизведение мной по шагам на устройстве.
Как я описал проблему ИИ:
сценарий воспроизведения (старт → выйти → зайти),
ожидаемое поведение (таймер продолжает отсчёт или хотя бы корректно восстанавливается),
текущее поведение (сброс),
предположение, что проблема в сохранении состояния между сессиями.
Что сделал ИИ по сути (без кода):
предложил проверить, где хранится «истина» времени: в UI‑состоянии, в памяти [7], в базе/на диске;
предложил стратегию: хранить не «сколько секунд прошло», а timestamp старта и при восстановлении пересчитывать;
указал типовые места, где всё ломается при перезаходе: жизненный цикл экрана/активити, сохранение в persistent storage, восстановление при старте.
Сколько заняло: около 2 часов от момента «я понял, что баг воспроизводится стабильно» до «фикс собрался и ушёл обновлением в стор». Это с учётом моих ручных прогонов, сборки и публикации.
Вывод по кейсу не героический: баг был не из разряда «сложная конкурентность». Но это реальный баг из реальной эксплуатации, и он был закрыт в реальном цикле релиза.
Параллельно добавил фичу: ручное создание активностей (то есть не только предзаданный список/шаблоны, но возможность пользователю самому завести сущность).
Здесь ИИ помог в двух местах:
предложил, как протянуть новую сущность через структуру приложения (экран → модель → сохранение);
напомнил про «края»: валидация ввода, пустые значения, обновление списка, сохранение между сессиями.
Фича тоже ушла в обновлении.
За время после первой статьи у меня появилось не знание синтаксиса, а практическая «карта местности»:
что такое классы в проекте и почему их много;
что такое модели данных и почему «поменять поле» — это редко одно место;
где обычно живёт логика экрана, а где — хранение данных;
почему ошибки часто возникают не «в строке, которую подсветило», а в нарушении контракта между частями системы;
что такое «состояние приложения» как причина половины пользовательских багов.
Это важно: эффективность работы с ИИ растёт не от того, что ИИ стал умнее, а от того, что я задаю вопросы в правильные узлы системы.
Ниже — не жалобы, а ограничения метода в текущей конфигурации «чат + копипаст».
Если просить «сделай фичу», он может предложить изменения в нескольких файлах, но:
забыть обновить связанное место,
предложить несовместимые элементы,
или «починить» так, что сломается другой сценарий.
То есть архитектурная ответственность остаётся на человеке, даже если он не разработчик. Иначе проект превращается в набор заплаток.
Пока проблема воспроизводима и локализуема (таймер/сохранение состояния) — чат помогает быстро.
Когда проблема:
плавающая,
зависит от устройства,
связана с конкурентностью/потоками,
или упирается в нюансы платформы,
без нормальной инженерной дисциплины (логи, диагностика, понимание жизненного цикла) начинаются итерации «попробуй это/попробуй то».
ИИ не заменяет расследование. Он ускоряет его, если вы умеете поставлять факты.
Можно сделать «работает», но сделать «удобно» — это другая профессия. ИИ может накидать идеи, но:
он не чувствует контекст пользователя,
не видит метрики поведения,
не несёт ответственность за когнитивную нагрузку.
В итоге у меня приложения функциональные, но по UX они не эталон. Это честная цена нулевого бюджета и отсутствия профильных навыков.
Сам факт «залить в стор» не означает, что дальше будет легко:
обновления требуют дисциплины,
нужно думать про обратную совместимость,
нужно обрабатывать отзывы как входящие требования.
ИИ здесь помощник, но не процесс.
Нельзя всерьёз рассчитывать «не понимать вообще ничего» и при этом стабильно развивать продукт.
Но и тезис «без разработчика ничего нельзя выпустить» в практическом смысле оказался слишком жёстким.
Реальность посредине: можно выпустить и чинить, но вы платите временем и вниманием [8]. И постепенно всё равно наращиваете понимание — иначе не выдержите темп.
Продуктовая реальность наступает быстро, как только у вас появляется больше десятка пользователей. Баги и запросы приходят без приглашения.
ИИ действительно позволяет не‑разработчику доводить задачи до релиза, но при условии, что человек выполняет роль системного интегратора: формулирует, проверяет, воспроизводит, выкатывает.
Скачивания небольшие, но достаточные для проверки гипотезы. 71 установка — это не коммерческий результат, но этого достаточно, чтобы получить внешние баг‑репорты и перестать полагаться на «у меня работает».
Эксперимент не закончился. На текущей точке видно траекторию: приложения живы, обновляются, получают пользователей, чинятся. Судить можно по этой линии, а не по стартовому рывку.
Планы прикладные, без «в следующей версии сделаю всё идеально»:
Стабильность “168 Часов”
продолжить закрывать баги по отзывам;
привести сценарии с таймерами/состоянием к предсказуемому поведению;
добавить минимальные тестовые сценарии (пусть даже вручную по чек‑листу), чтобы не ломать исправленное.
Развитие функционала через маленькие итерации
добавлять фичи только если они укладываются в текущую структуру;
не раздувать приложение «на будущее», пока не понятно, что реально нужно пользователям.
Подтянуть базовую инженерную грамотность
Не «выучить всё», а закрыть самые практичные пробелы: жизненный цикл, хранение состояния, структура проекта, диагностика.
Дальше — ещё один отчёт, когда появится следующий измеримый срез
Не обещаю сроков. Публиковать буду, когда будет что фиксировать цифрами: обновления, баги, решения, динамика.
Если вам нужно проверить эксперимент руками — приложения в RuStore: «168 Часов» и «F1 Tycoon». Если найдёте баги — вы не “хейтер”, вы тестировщик в бою. В этом эксперименте это самый полезный тип обратной связи.
Автор: DevAnSt
Источник [9]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/28364
URLs in this post:
[1] Реакция: http://www.braintools.ru/article/1549
[2] Ссылка на первую статью: https://habr.com/ru/articles/1017748/
[3] ошибки: http://www.braintools.ru/article/4192
[4] поведение: http://www.braintools.ru/article/9372
[5] поведение: http://www.braintools.ru/article/5593
[6] логика: http://www.braintools.ru/article/7640
[7] памяти: http://www.braintools.ru/article/4140
[8] вниманием: http://www.braintools.ru/article/7595
[9] Источник: https://habr.com/ru/articles/1020060/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1020060
Нажмите здесь для печати.