Image

Я создал приложение для iOS за 3 дня, не имея никаких предварительных знаний о Swift

Что я узнал о виброкодинге, инструментах искусственного интеллекта и о том, как начать свой путь в качестве индивидуального предпринимателя

Делиться

168ce00a368397f74d3c3e3c2efaa09c

Я создал приложение Brush Tracker за 3 дня, не имея никакого опыта работы со Swift, основным языком программирования для iOS. Хотя у меня есть полнофункциональное приложение в App Store, я всё ещё очень мало знаю о Swift, поскольку для его разработки я использовал «vibe-кодирование».

В этой статье я объясню процесс, инструменты ИИ, которые я использовал, а также поделюсь некоторыми своими знаниями и идеями.

Что-нибудь в качестве привлекательной альтернативы

Раньше я использовал Lovable для разработки веб-приложений, но, похоже, этот вариант не подходит для разработки мобильных приложений, по крайней мере сейчас.

Существуют альтернативы Lovable для разработки приложений. Недавно я наткнулся на инструмент под названием Anything, и, поскольку у меня был такой положительный опыт работы с Lovable, я решил попробовать его для разработки своего приложения. Поначалу всё работало хорошо, но в целом всё оказалось не так эффективно, как я надеялся.

Самым сложным было то, что я не мог сразу протестировать свои изменения, исправления и улучшения. В Anything есть встроенный интерфейс для тестирования, но он не очень удобен. Также предлагается протестировать код через приложение Expo, но и это мне не очень понравилось.

Стоит отметить, что у меня не было никакого опыта разработки приложений. Для разработчиков или тех, у кого есть опыт программирования, Anything, вероятно, может оказаться более продуктивным инструментом, чем для меня.

Я экспортировал код из Anything и попытался протестировать его в Xcode на Mac, но получил множество ошибок и не смог заставить его работать. Поэтому я решил использовать альтернативу. Курсор показался очевидным выбором.

Курсор

Я слышал очень хорошие отзывы о Cursor от многих друзей, которые активно им пользуются. Мне захотелось попробовать самому.

Я использовал тот же запрос в Cursor и попросил его собрать приложение. Затем я создал проект XCode с папками и файлами, сгенерированными Cursor. Я запустил симулятор в XCode, и он заработал с первой попытки.

Цель приложения Brush Tracker — помочь вам регулярно чистить зубы. Оно выдаёт оценку чистоты, которая начинается со 100%. Если вы пропускаете день, оценка снижается, а ваши зубы в приложении начинают выглядеть слегка желтоватыми, что соответствует оценке чистоты.

88b9abfe326ce3f2a817735b2f92ab31

Примечание: все изображения, использованные в этой статье, включают скриншоты из моего приложения Brush Tracker.

В первой версии была реализована только основная функция приложения. Я считаю, что это самый эффективный способ создания продуктов с использованием инструментов на основе ИИ. Прежде чем добавлять новые функции, запустите первую версию.

Чтобы протестировать основную функцию приложения на симуляторе, мне пришлось изменить дату симулятора, не выполнив «сегодняшнюю чистку», чтобы проверить, снизится ли показатель чистоты и обновятся ли визуализации зубов, как ожидалось.

Курсор предложил изменить дату в симуляторе XCode, но в симуляторе больше нет настроек даты и времени. В более старых версиях симулятора XCode эта настройка была, но теперь её нет.

Обходным решением стало изменение даты на моём Mac. Таким образом, дата на симуляторе также изменилась, и я смог протестировать функцию.

Я заметил, что при изменении даты на Mac курсор не видит мою учётную запись и не работает. Всё вернулось в норму, когда я снова установил дату на автоматическую.

Функция таймера

Встроенный таймер чистки зубов стал отличным дополнением к Brush Tracker. Пользователи могут просто отметить сеанс чистки как завершенный или использовать таймер во время чистки.

3e5d290b9fe2f5645d4ebdaccf0a6f97

Мне потребовалось несколько попыток, чтобы эта функция заработала так, как я задумал. Можно просто попросить Cursor добавить функцию, но гораздо лучше, если настроить подсказку и точно объяснить, что вам нужно. Если дать чёткие инструкции, Cursor обычно отлично справляется.

Функция вознаграждения

Я хотел добавить дополнительную мотивацию, когда пользователь завершает ежедневную чистку зубов. После завершения сеанса можно нажать «Получить ежедневную награду» и увидеть короткую мотивационную цитату. Это небольшой штрих, но приятное напоминание о здоровье зубов.

78454f26ef2f4af3d59a339086f8baf7

Вы действительно можете учиться во время кодирования вибраций

Курсор не только пишет код, но и помогает вам учиться. Когда я пытался добавить функцию вознаграждения, реализация поначалу была неправильной. Она работала некорректно.

Я описал проблему в Cursor, и он объяснил, что её вызвало, и как её исправить. Вот два примера того, как Cursor может помочь вам в обучении:

Проблема в том, что при первом касании rewardQuote пуст, потому что handleRewardTap() устанавливает его, но таблица отображается сразу. Мне нужно убедиться, что цитата установлена, прежде чем показывать таблицу.

Исправлена проблема! Проблема заключалась в том, что showReward = true устанавливался сразу после rewardQuote, но отображение таблицы SwiftUI может произойти до полной обработки обновления состояния.

Используйте курсор более эффективно

Курсор — отличный инструмент, но есть несколько способов сделать его более эффективным.

Предположим, что код даёт сбой или выполняется неправильно. Если вы знаете проблемную часть, выделите её и добавьте в чат. Это определённо упростит Cursor решение проблемы.

В Brush Tracker у меня возникла проблема при настройке уведомлений. Я описал проблему и попросил Cursor исправить её. Cursor сообщил, что проблема исправлена, но она всё ещё оставалась. Затем, изменив код, я нашёл, где она возникает, и добавил эту часть в чат.

Cursor исправил это при следующей попытке: проблема в том, что onTapGesture применяется к Picker, но в SwiftUI сегментированные Picker не всегда хорошо реагируют на касания, поскольку у них есть собственная внутренняя обработка жестов. Модификатор onChange срабатывает только при фактическом изменении выделения, а не при касании того же значения.

Стоит также упомянуть процентное содержание «используемого контекста» в Cursor. Он автоматически извлекает соответствующий контекст из вашей кодовой базы, поэтому вам не нужно указывать, какие файлы ему нужно просматривать. Однако история ваших чатов также учитывается в этом контексте, и иногда она содержит старые проблемы или неактуальный код.

Из-за этого лишний мусор может увеличить расход токенов или снизить эффективность курсора. Когда процент использования контекста увеличивается, я очищаю историю чата.

Распространение вашего приложения в App Store

После завершения тестирования вашего приложения с использованием симулятора или физического устройства (например, вашего iPhone) пришло время распространить ваше приложение в App Store, чтобы другие могли увидеть (и, возможно, использовать) его.

Это несложный процесс, но он включает множество деталей, которые могут занять много времени, особенно если вы делаете это впервые. Я нашёл видео на YouTube, где подробно, шаг за шагом, объясняется весь процесс.

Выполнив все шаги, я отправил своё приложение на проверку. После одобрения я получил электронное письмо от App Store Connect о готовности приложения к распространению.

Хочу отметить, что я не имею никакого отношения ни к одному из инструментов ИИ, упомянутых в этой статье.

Спасибо за прочтение! Brush Tracker можно попробовать в App Store. Буду рад, если вы его опробуете или оставите отзыв.

Источник: towardsdatascience.com

✅ Найденные теги: «Я, новости

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Фото сгенерированных лиц: исследование показывает, что люди не могут отличить настоящие лица от сгенерированных
Нейросети построили капитализм за трое суток: 100 агентов Claude заперли…
Скетч: цифровой осьминог и виртуальный мир внутри компьютера с человечком.
Сцена с жестами пальцами, где один жест символизирует "VPN", а другой "KHP".
‼️Paramount купила Warner Bros. Discovery — сумма сделки составила безумные…
Скриншот репозитория GitHub "Claude Scientific Skills" AI для научных исследований.
Структура эффективного запроса Claude с элементами задачи, контекста и референса.
Эскиз и готовая веб-страница платформы для AI-дизайна в современном темном режиме.
ideipro logotyp
Image Not Found
Звёздное небо с галактиками и туманностями, космос, Вселенная, астрофотография.

Система оповещения обсерватории Рубина отправила 800 000 сигналов в первую ночь наблюдений.

Астрономы будут получать оповещения о небесных явлениях в течение нескольких минут после их обнаружения. Теренс О'Брайен, редактор раздела «Выходные». Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной…

Мар 2, 2026
Женщина с длинными тёмными волосами в синем свете, нейтральный фон.

Расследование в отношении 61-фунтовой машины, которая «пожирает» пластик и выплевывает кирпичи.

Обзор компактного пресса для мягкого пластика Clear Drop — и что будет дальше. Шон Холлистер, старший редактор Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной странице вашего…

Мар 2, 2026
Черный углеродное волокно с текстурой плетения, отражающий свет.

Материал будущего: как работает «бессмертный» композит

Учёные из Университета штата Северная Каролина представили композит нового поколения, способный самостоятельно восстанавливаться после серьёзных повреждений.  Речь идёт о модифицированном армированном волокном полимере (FRP), который не просто сохраняет прочность при малом весе, но и способен «залечивать» внутренние…

Мар 2, 2026
Круглый экран с изображением замка и горы, рядом электронная плата.

Круглый дисплей Waveshare для креативных проектов

Круглый 7-дюймовый сенсорный дисплей от Waveshare создан для разработчиков и дизайнеров, которым нужен нестандартный экран.  Это IPS-панель с разрешением 1 080×1 080 пикселей, поддержкой 10-точечного ёмкостного сенсора, оптической склейкой и защитным закалённым стеклом, выполненная в круглом форм-факторе.…

Мар 2, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых