Все кейсы

Переработка корзины в iOS-приложении аптечной сети: с UIKit на SwiftUI

Софториум ·SchneiderElectric | SystemeElectric ·2024

Разработка модуля корзины для iOS-приложения аптечной сети выявила несовместимость SwiftUI и UIKit, что привело к решению о полном переписывании приложения на SwiftUI.

Открыть проект

Задача

В мобильном приложении аптечной сети корзина работала нестабильно: возникали баги, не отображались статусы товаров, из-за чего клиенты оплачивали отсутствующие лекарства. Требовалось перенести функциональный модуль корзины из другого приложения на SwiftUI в текущее на UIKit.

Решение

Попытка скопировать код корзины со SwiftUI в UIKit-приложение провалилась из-за несовместимости архитектур. После трёх месяцев безуспешных правок было решено реализовать корзину на UIKit в рамках существующей архитектуры, а в перспективе — полностью переписать приложение на SwiftUI с общей кодовой базой.

Результат

Модуль корзины был успешно внедрён, релиз состоялся 27 мая. Опыт разработки убедил заказчика в необходимости миграции всего приложения на SwiftUI для упрощения дальнейшего расширения функционала.