ИИ-модели на удивление хорошо пишут небольшие приложения. Но они уверенно ошибаются одними и теми же способами снова и снова. Зная их, вы заметите проблему за секунды и скажете ИИ, что именно менять.
1. Загружает всё из интернета
Скрипт из CDN, шрифт Google, стоковое фото по URL. Всё работает, пока телефон не окажется офлайн. Скажите: «Убери все внешние ресурсы. Встрой CSS и JavaScript и используй системные шрифты».
2. Слишком рано вызывает нативный мост
Нативный мост приложения, window.FreeApp, может появиться чуть позже, чем начнёт работать ваш скрипт. Код, вызывающий его в первой строке, иногда падает. Решение — дождаться события freeappready или выполнить сразу, если мост уже есть:
function start() { FreeApp.statusBar('#E2552A'); } if (window.FreeApp) start(); else window.addEventListener('freeappready', start, { once: true });
3. Забывает сохранять
Всё работает, потом вы закрываете приложение, и данные пропали. Скажите: «Сохраняй состояние в localStorage после каждого изменения и загружай при запуске».
4. Использует alert() для всего
Диалоги alert в браузере выглядят в приложении неуместно. Попросите ИИ показывать сообщения на странице или используйте FreeApp.toast(), когда мост доступен.
5. Слишком маленькие кнопки
При размерах для десктопа приходится нажимать три раза, чтобы попасть по кнопке. Фраза «Сделай каждую область нажатия не менее 44 пикселей» это исправляет.
6. Игнорирует вырез
Заголовки заезжают под строку состояния или вырез камеры. Добавьте viewport-fit=cover в тег viewport и сделайте верхний отступ с помощью env(safe-area-inset-top).
7. Путает имена файлов
Когда ИИ разбивает код на несколько файлов, он иногда ссылается на styles.css, но называет файл style.css. Если ваше приложение показывает текст без оформления, сравните имена. Просьба об одном файле полностью устраняет проблему.
8. Выдумывает функции
Модели иногда вызывают нативные функции, которых не существует. Если что-то молча не работает, сверьте имя со справочником по JavaScript API, а затем вставьте правильную сигнатуру в чат.
Как просить об исправлении
Будьте конкретны и давайте контекст. «На Android при нажатии «Сохранить» ничего не происходит, а после повторного открытия приложения список пуст» даст куда лучший ответ, чем «не работает». Если можете, вставьте часть кода, которая, по-вашему, неверна. Небольшие точечные исправления лучше, чем просьба переписать всё.