Кто уже работал с ИИ, понимает что надо задавать ограничения, контекст, правила. Тогда ответы ИИ будут с большей вероятностью попадать в ваши ожидания.
В 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