Кто уже работал с ИИ, понимает что надо задавать ограничения, контекст, правила. Тогда ответы ИИ будут с большей вероятностью попадать в ваши ожидания.
В Cursor AI в настройках для общих правил есть поле Rules for AI
Вот мои правила для ИИ в cursor ai для iOS разработки:
Always respond in Russian
You are an expert iOS developer using Swift and SwiftUI. Follow these guidelines:
Code Structure
- Use Swift's latest features and protocol-oriented programming
- Prefer value types (structs) over classes
- Use MVVM architecture with SwiftUI
- Structure: Features/, Core/, UI/, Resources/
- Follow Apple's Human Interface Guidelines
Naming
- camelCase for vars/funcs, PascalCase for types
- Verbs for methods (fetchData)
- Boolean: use is/has/should prefixes
- Clear, descriptive names following Apple style
Swift Best Practices
- Strong type system, proper optionals
- async/await for concurrency
- Result type for errors
- @Published, @StateObject for state
- Prefer let over var
- Protocol extensions for shared code
UI Development
- SwiftUI first, UIKit when needed
- SF Symbols for icons
- Support dark mode, dynamic type
- SafeArea and GeometryReader for layout
- Handle all screen sizes and orientations
- Implement proper keyboard handling
Performance
- Profile with Instruments
- Lazy load views and images
- Optimize network requests
- Background task handling
- Proper state management
- Memory management
Data & State
- CoreData for complex models
- UserDefaults for preferences
- Combine for reactive code
- Clean data flow architecture
- Proper dependency injection
- Handle state restoration
Security
- Encrypt sensitive data
- Use Keychain securely
- Certificate pinning
- Biometric auth when needed
- App Transport Security
- Input validation
Testing & Quality
- XCTest for unit tests
- XCUITest for UI tests
- Test common user flows
- Performance testing
- Error scenarios
- Accessibility testing
Essential Features
- Deep linking support
- Push notifications
- Background tasks
- Localization
- Error handling
- Analytics/logging
Development Process
- Use SwiftUI previews
- Git branching strategy
- Code review process
- CI/CD pipeline
- Documentation
- Unit test coverage
App Store Guidelines
- Privacy descriptions
- App capabilities
- In-app purchases
- Review guidelines
- App thinning
- Proper signing
Follow Apple's documentation for detailed implementation guidance.
#AI@isilverdev
Please open Telegram to view this post
VIEW IN TELEGRAM
При работе над проектами уже начинаю применять git - коммичу после каждой добавленной фичи.
Однажды уже пришлось вернуться к последней сохраненной версии проекта, т.к. наворотил такого, что и не исправить. Был счастлив такой возможности.
Но надо изучить работу с git до конца.
Например, пока не знаю как заглянуть в код одного из комиков и вернуться в текущую версию кода.
Сначала открывал Finder и через контекстное меню открывал терминал в нужной папке и вводил git-команды.
Сейчас работаю с git прямо в терминале Cursor AI - удобно.
Работу с git в самом XCode еще не исследовал, но надо.
Please open Telegram to view this post
VIEW IN TELEGRAM
Для проверки изменений надо переходить в Xcode и запускать Build & Run.
Нашлось решение для ускорения этого частого процесса:
1. Расширение SweetPad для Cursor AI
Запускает Build & Run из Cursor AI + настроил запуск через горячие клавиши.
2. Горячее обновление в Симуляторе без перезапуска.
Установка фреймворка Injection III
https://github.com/krzysztofzablocki/Inject
Пока не работает стабильно - не все вью обновляет на лету.
#AI@isilverdev
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - krzysztofzablocki/Inject: Hot Reloading for Swift applications!
Hot Reloading for Swift applications! . Contribute to krzysztofzablocki/Inject development by creating an account on GitHub.
Чек-ин процесса обучения
- Изучение Swift - не регулярно, надо больше дисциплины
- Опыт разработки приложений с помощью ИИ: хороший прогресс, но скорее для мотивации, прокачиваюсь в промтах, процессе разработке и использования git, но не обучаюсь самому кодингу.
- Ощутил необходимость прокачаться в дизайне, в частности в умении работать с Figma.
- И в целом нужна насмотренность в приложениях: как можно делать - идеи разных реализаций, разборы хорошо/плохо.
- Изучение Swift - не регулярно, надо больше дисциплины
- Опыт разработки приложений с помощью ИИ: хороший прогресс, но скорее для мотивации, прокачиваюсь в промтах, процессе разработке и использования git, но не обучаюсь самому кодингу.
- Ощутил необходимость прокачаться в дизайне, в частности в умении работать с Figma.
- И в целом нужна насмотренность в приложениях: как можно делать - идеи разных реализаций, разборы хорошо/плохо.
👍1
На днях увлёкся разработкой своего приложения "Карточки слов".
Засел утром и завершил вечером, программа Rize зафиксировал 9 часов чистого времени.
Программирование - как компьютерная игра, часто затягивает.
В этот же день увидел совет: записывать в дневник сделанное за день, чтобы видеть прогресс как в разработке приложений, так и в освоении знаний и навыков.
Из наблюдений за ИИ:
бывает ИИ закапывается и не может решить проблему, решая разные варианты, но все равно проблема не решается попутно ломая что-то рядом. Тогда лучше создать новый диалог с ИИ и он находит решение гораздо быстрее.
Что сделал:
- перетаскивание (drug&drop) карточек в колоде
- нативное редактирование, удаление карточек в колоде свайпом влево
- выбор генерации слов или фраз (предложений)
- выбор при добавлении на русским или немецком вводить слова с соответсвующим переводом
- выбор стороны (DE/RU) показа карточек в режиме изучения.
Вполне солидные улучшения, в таком виде вполне можно и в аппстор )))
Уровень MVP, думаю, достигнут.
#AppKartenMitWorten@isilverdev
Засел утром и завершил вечером, программа Rize зафиксировал 9 часов чистого времени.
Программирование - как компьютерная игра, часто затягивает.
В этот же день увидел совет: записывать в дневник сделанное за день, чтобы видеть прогресс как в разработке приложений, так и в освоении знаний и навыков.
Из наблюдений за ИИ:
бывает ИИ закапывается и не может решить проблему, решая разные варианты, но все равно проблема не решается попутно ломая что-то рядом. Тогда лучше создать новый диалог с ИИ и он находит решение гораздо быстрее.
Что сделал:
- перетаскивание (drug&drop) карточек в колоде
- нативное редактирование, удаление карточек в колоде свайпом влево
- выбор генерации слов или фраз (предложений)
- выбор при добавлении на русским или немецком вводить слова с соответсвующим переводом
- выбор стороны (DE/RU) показа карточек в режиме изучения.
Вполне солидные улучшения, в таком виде вполне можно и в аппстор )))
Уровень MVP, думаю, достигнут.
#AppKartenMitWorten@isilverdev
Случилась 2-часовая дорога и решил заняться чем-то простым: сделал апгрейд своего погодного приложения.
- поправил цвета иконок погоды (основной и второстепенный), чтобы солнышко и луна были желтыми, облака - серыми или синими и тп.
- добавил иконки для прогноза погода на 3, 6 и 9 часов от текущего времени, так же расположил их на круге (циферблате)
- выделил иконку с текущей погодой, сделал иконки прогноза менее заметными отобрав цвет.
- связал иконки с временем суток, чтобы при ясной погоде ночью - луна, днём - солнце. Раньше была привязка к темной теме.
- добавил иконку восхода / заката солнца, так же поместил в соответсвующее времени место на окружности (циферблате)
Пока есть проблема с наложением иконок восхода/заката и иконок прогноза погоды - еще не решил как сделать лучше с т.з. дизайна.
#WeatherApp@isilverdev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Добавил возможность выбора локации, геопозицию устройства пока не использую. (Потратил меньше часа)
Доработал верстку в горизонтальной ориентации. (Полчаса)
Пробовал убрать из центра температуру и поставить данные о ветре с направлением на подобие компаса, не понравилось, откатил обратно. (2 часа)
Пока не решил что делать с картой Грузии внизу экрана с учетом возможности выбора любой локации: либо подтягивать карты любой страны, либо убрать. - это будет последним шагом к MVP.
#WeatherApp@isilverdev
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня учился работать в 📱 Figma с 0.
Почему Figma, если тут про iOS?
Сделав пару простых приложений с дизайном "из головы" появилось желание научиться верстать приложения по дизайну: готовые элементы или продумать свое приложение, а после воплотить кодом.
Смотрел 6 часовое видео обучение в режиме х2.
Основы усвоил.
Далее надо попробовать тьюториалы по мобильным интерфейсам и прототипированию интерфейсов.
#Design@isilverdev
Почему Figma, если тут про iOS?
Сделав пару простых приложений с дизайном "из головы" появилось желание научиться верстать приложения по дизайну: готовые элементы или продумать свое приложение, а после воплотить кодом.
Смотрел 6 часовое видео обучение в режиме х2.
Основы усвоил.
Далее надо попробовать тьюториалы по мобильным интерфейсам и прототипированию интерфейсов.
#Design@isilverdev
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Не откладывая в долгий ящик, разобрался с прототипированием в 📱 Figma на базовом уровне.
Что смотрел:
📱 Marina Abramova (ru)
📱 DesignCode (eng)
#Design@isilverdev
Что смотрел:
#Design@isilverdev
Please open Telegram to view this post
VIEW IN TELEGRAM