ОСОБЛИВОСТІ РОЗРОБКИ МУЛЬТИПЛАТФОРМНИХ ЗАСТОСУНКІВ НА KOTLIN - КОЗУБ, Юрій; КОЗУБ, Галина (Herald of Khmelnytskyi National University. Technical sciences, 2023)
Проведено дослідження методології розробки мультиплатформних застосунків на мові програмування Kotlin. Представлено методику розробки мультиплатформного застосунку для операційних систем Windows, Android, macOS та Linux, що дозволяє створювати музичні мелодії у новому форматі. Досліджено принципи декларативного програмування та фреймворки для мультиплатформної розробки. Для програмної реалізації окремих нативних додатків, обрано нативні рішення. Такому рішенню сприяє використовування фреймворків Kotlin Multiplatform та Compose Multiplatform. Kotlin Multiplatform дозволяє створювати універсальний код логіки мультиплатформного застосунку, у поєднанні з UI фреймворком Compose Multiplatform. Використання такого поєднання дає можливість написання єдиного коду логіки та інтерфейсу застосунку для декількох платформ одночасно, що допомагає економити час і уникати значної кількості помилок. Описано архітектурний патерн MVI, який найкраще підходить під декларативний стиль мультиплатформного фреймворку Compose Multiplatform. Розглянуто шаблон проєктування Dependency Injection, а також інші засоби проєктування мультиплатформних застосунків, таких як: бібліотека Kotlin Coroutines для підтримки асинхронності і паралельних обчислень у Kotlin, система збірки проєктів Gradle Kotlin DSL, бібліотека Decompose та фреймворк MVIKotlin. Запропоновано методику розробки архітектури компонентів Android-додатку. Модульна структура архітектури проєкту поділена на дві частини: на common модуль, який містить у собі основну логіку додатку, а також платформні реалізації компонентів, та платформні модулі, що виконують ініціалізацію та запуск застосунку на певній платформі. Для налагодження доступу до репозиторіїв з компонентів бізнес-логіки застосунку, використовується впровадження залежностей. Логіка впровадження залежностей описується у файлах-модулях Koin. Запропоновано методику, що узагальнює методологію розробки мультиплатформних застосунків на мові програмування Kotlin для розробки інтерфейсів користувача під декілька платформ.