IOS прилка с Keyboard Extension
Приложение для кастомного выбора клавиатур, стикеров, и шрифтов-надписей, которые можно будет вставить в любое приложение и в любое место (в перспективе функционал будем расширять, поэтому есть шанс долгосрочного сотрудничества.
Сосна, суть
Можно использовать как UIKit, так и SwiftUI - без каких либо проблем - минимальная версия iOS 13, но в обоих случаях необходимо использовать самое новое и крутое @available для каждой версии iOS - это необходио чтобы пользователи обновлялись на новые версии iOS и чувствовали что приложение работает лучше.
Получается нужно будет сделать 2 таргета ( в перспективе добавим третий-будет еще iMessage Extension) - обычное приложение, которое будет “витриной” приложения - основной (но явно не гравный) функционал будет во втором таргете - Keyboard Extension. **Можете заранее ознакомиться с приложением Good Fonts** - этого будет достаточно.
## Что будем использовать?
- SPM - пожалуйста, не нужно юзать SPM
- UIKit или SwiftUI - не нужно тянуть дополнительных тузов для вёрстки, кисы полностью устраивают и ними нет никаких проблем)
- SwiftLint - правила будем корректировать и обсуждать, без паники
- Fastlane для CI/CD - (этот функционал я беру на себя, не волнуйтесь) на гитхабе будут экшоны, чтобы красиво пулять на тест и в сторы
- 3 схемы для дева, тестов и продакшена (соотв нужно немного шарить на xcodeconfig)
- Firebase в качестве временной апишки - бэк пока только в планах, поэтому как временный вариант + отсюда же аналитика и ошибки
- FirebaseRemoteConfig как временный вариант фиче-тоглов - опять же бэк пока только в планах и надо будет сделать красиво, чтобы потом переходить было не больно =)
- Для аналитики будем юзать AppMetrica, точнее обёртку для неё, которую будем постоянно совершенствовать + сюда же сбор ошибок
- Для анализа покупок и A/B тестов пейволов будем гордо использовать Adapty - для этого инструмента так же нужно будет написать обёртку, чтобы в дальнейшем выделить и использовать на других продуктах.
- Понятные фабрики, понятные адаптеры и понятные
## **Что НЕ будем использовать?**
- Делегаты - прошу не нужно, Джобс дал нам кложуры!
- Реактивщину - 100% нет, даже разговаривать не буду
- Не нужно вёрстки через код и не нужно использовать дополнительные фреймворки для этого! SwiftUI - шикарно, но SnapKit точно нет!
Дизайн ПОКА ЧТО только условный - в целом понятны только главные элементы, но можно по-тихоньку начинать делать, например, начав с аналитики, прокидываем бозовых моделей на пейволы и тд, сделать именно функционал клавиатуры и тд. Дизайн будет делать параллельно с функционалом приложения, поэтому вопросы можно будет задавать сразу напрямую дизайнеру