Вынесите модели аккаунтов, расчёт TOTP и состояние таймеров в общую библиотеку, а UI и безопасное хранение секретов оставьте платформенными адаптерами. Kotlin Multiplatform подходит для такой границы.
Кросс‑платформенный генератор TOTP‑кодов
Вынесите модели аккаунтов, расчёт TOTP и состояние таймеров в общую библиотеку, а UI и безопасное хранение секретов оставьте платформенными адаптерами. Kotlin Multiplatform подходит для такой границы.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Создать кросс‑платформенное приложение‑генератор TOTP‑кодов. Спроектировать его так, чтобы разработчику iOS было достаточно реализовать лишь собственный нативный UI и подключиться к общей библиотеке, отвечающей за всю бизнес‑логику и генерацию кодов.
Ответ
Вынесите модели аккаунтов, расчёт TOTP и состояние таймеров в общую библиотеку, а UI и безопасное хранение секретов оставьте платформенными адаптерами. Kotlin Multiplatform подходит для такой границы.
Общий модуль принимает часы и криптографический провайдер через интерфейсы, не зависит от Activity или UIKit. Android и iOS реализуют хранение в защищённых механизмах платформы и отображение состояния. Экспортируйте в Swift простой контракт с явной подпиской и отменой, а не внутреннюю структуру корутин. Генерацию проверьте стандартными тестовыми векторами, секреты не включайте в логи и аналитические события. Синхронизация времени и восстановление после паузы должны работать независимо от экрана.