Sushi-Friday: Масштабирование бизнеса по франшизе с помощью Kotlin и Compose Multiplatform
Мы не просто используем современные технологии — мы укрощаем их. Когда для реализации бизнес-идей не существует готовых инструментов, инженеры IceRock создают их с нуля. Мы разрабатываем кроссплатформенные мобильные решения, которые экономят бюджет без компромиссов в качестве и производительности, обеспечивая надежный фундамент для масштабирования вашего бизнеса.
Для успешного развития бизнеса по модели франшизы требуется мощная, масштабируемая и легко поддерживаемая IT-инфраструктура. Когда перед компанией встала задача разработки мобильного приложения Sushi-Friday, целью было не просто создание очередного сервиса доставки, а обеспечение технологической базы для активного роста и привлечения новых франчайзи.
Ниже мы подробно разбираем, как команда IceRock Development реализовала этот амбициозный проект за 2000 часов, выбрав передовой технологический стек и успешно преодолев нетипичные инженерные вызовы.
Стратегический выбор технологий: Баланс между инновациями и надежностью
Для директоров и владельцев бизнеса мобильная разработка часто становится статьей непредсказуемых расходов, особенно когда речь идет о поддержке двух отдельных команд для iOS и Android. Чтобы оптимизировать ресурсы клиента, мы приняли стратегическое решение использовать передовые кроссплатформенные технологии:
- Kotlin Multiplatform (KMP) — для реализации единой бизнес-логики.
- Compose Multiplatform — для создания универсального пользовательского интерфейса (UI).
Этот стек позволяет писать код один раз и использовать его на обеих платформах, что существенно ускоряет выход на рынок (Time-to-Market) и снижает затраты на дальнейшую поддержку. Однако работа с новейшими технологиями — это всегда вызов, требующий глубочайшей технической экспертизы.
Экспертиза IceRock в действии: Решение задач со звездочкой
Инновационные фреймворки часто таят в себе подводные камни. В процессе разработки Sushi-Friday наша команда столкнулась с рядом препятствий, которые стали отличной проверкой квалификации инженеров IceRock Development.
1. Интеграция платежной системы в условиях отсутствия инструментов
Платежный шлюз — критический узел любого приложения для доставки. Заказчику требовалась интеграция ЮKassa, однако для KMP-проектов официальной версии SDK просто не существовало.
Для рядовых разработчиков это могло стать поводом для отказа от выбранной архитектуры и возврата к дорогостоящей нативной разработке. Для IceRock это стало инженерной задачей:
- Решение: Мы спроектировали и внедрили собственный набор интерфейсов и классов-оберток над платформенными SDK ЮKassa. Это позволило нам вызывать нативные функции из единого слоя KMP.
- Бизнес-результат: Клиент получил надежную и безопасную оплату на обеих платформах, сохранив при этом экономическую выгоду от использования кроссплатформенного подхода.
2. Преодоление платформенных барьеров (iOS vs Android)
В процессе работы с ЮKassa мы выявили серьезное расхождение в реализации SDK на платформах. Если на Android метод обработки ошибок оплаты предоставлял открытый API для получения причины отмены, то на iOS этот метод был скрыт (private).
- Решение: Ведущий инженер проекта А. Михайлов разработал уникальное решение по прослушиванию ответов на платформе iOS. Мы научились извлекать необходимую информацию напрямую из сетевых ответов, минуя ограничения закрытого SDK.
- Бизнес-результат: Стабильная аналитика и одинаково качественный пользовательский опыт независимо от того, какое устройство использует клиент — iPhone или Android-смартфон.
3. Укрощение UI: Compose Multiplatform и сложный дизайн
Compose Multiplatform позиционируется как технология, позволяющая легко перенести готовый код с Android. Но реальность разработки сложных enterprise-решений диктует свои правила.
Проект Sushi-Friday отличался переусложнённой логикой интерфейса, которая создавала плохой пользовательский опыт (например, вызовы диалогов из других диалогов). Реализовать такую логику нативно было непросто, а с использованием молодой технологии — тем более. Мы столкнулись с "сыростью" API и специфическим поведением UI на разных платформах:
- Системные отступы: То, что идеально работало на Android, выдавало сюрпризы на iOS. Системные отступы клавиатуры приходили в увеличенном вдвое значении.
- Решение IceRock: Мы не стали ждать обновлений от создателей фреймворка. Используя возможности KMP API (expect/actual), для каждой платформы были написаны собственные обработчики системных отступов. Это вернуло фокус на стабильность и предсказуемость интерфейса.
- Оптимизация производительности: В рамках Compose для Android оптимизация интерфейса часто требует компромиссов с временем разработки (затраты могут возрастать в 1.5-2 раза). Мы выстроили процесс так, чтобы сложные UI-элементы работали плавно даже на слабых устройствах, не раздувая при этом бюджет проекта.
Результаты проекта
- Время реализации: 2000 часов
- Бизнес-цель: Создана масштабируемая платформа для развития франшизы
- Технологии: Единая кодовая база (KMP + Compose), снижающая TCO (Total Cost of Ownership)
- Надежность: Кастомные интеграции платежных систем, обход ограничений закрытых SDK
Внедрение мобильного приложения на базе Kotlin Multiplatform позволило бизнесу заказчика получить мощный инструмент продаж.
Мы готовы брать ответственность за результат там, где стандартные подходы перестают работать. Наша экспертиза позволяет превращать амбициозные бизнес-идеи в стабильно работающий код, управляя рисками "молодых" технологий и оборачивая их в конкурентное преимущество для наших клиентов.