Первым делом знакомимся с продуктовой задачей – что нужно сделать: «мобильное приложение-суперапп для обработки мультимедиа». Рассматриваем в деталях ингредиенты: что будем использовать для реализации.
Далее подробно останавливаемся на ключевых моментах: C++ для работы с мультимедиа, Kotlin Multiplatform для бизнес-логики, Swift для реализации специфичных для iOS-платформы задач, в первую очередь – верстка экранов.
Отдельно рассматриваем моменты стыковки C++, KMM и iOS-платформы вместе: что такое биндинги и кто отвечает за время жизни объектов – особенно когда они перемещаются между компонентами и оказываются в разных системах управления памятью.
Уделяем внимание архитектуре приложения – важно спроектировать ее так, чтобы как можно больше кода было общим для нескольких платформ и только специфичные вещи, например, верстка экранов, оставались привязанными к конкретной платформе.
В финале доклада — о технических сложностях, с которыми столкнулись при работе с KMM и о том, как их решили — это и есть «рецепт приготовления кроссплатформенного мобильного приложения».