Надіслати статтю
вул. Інститутська 11, м. Хмельницький, 29016

ОСОБЛИВОСТІ РОЗРОБКИ МУЛЬТИПЛАТФОРМНИХ ЗАСТОСУНКІВ НА KOTLIN

FEATURES OF MULTIPLATFORM APPLICATION DEVELOPMENT ON KOTLIN

Сторінки: 224-229. Номер: №1, 2023 (317) 
Автори:
КОЗУБ Юрій
Луганський національний університет імені Тараса Шевченка
https://orcid.org/0000-0002-3366-6031
e-mail: kosub.yg@gmail.com
КОЗУБ Галина
Луганський національний університет імені Тараса Шевченка
https://orcid.org/0000-0001-5387-050X
e-mail: kozubg@luguniv.edu.ua
KOZUB Yurii, KOZUB Halyna
Luhansk Taras Shevchenko National University
DOI: https://doi.org/10.31891/2307-5732-2023-317-1-224-229

Анотація мовою оригіналу

Проведено дослідження методології розробки мультиплатформних застосунків на мові програмування 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 для розробки інтерфейсів користувача під декілька платформ.
Ключові слова: Kotlin, Gradle, Common, Jetpack Compose, Dependency Injection,  Kotlin Multiplatform, Compose Multiplatform, Koin.

Розширена анотація англійською  мовою

A study of the methodology of developing multi-platform applications using the Kotlin programming language was conducted. The method of developing a multi-platform application for Windows, Android, macOS and Linux operating systems is presented, which allows you to create musical melodies in a new format. The principles of declarative programming and frameworks for multi-platform development are studied. For the software implementation of individual native applications, native solutions have been chosen. This solution is facilitated by the use of Kotlin Multiplatform and Compose Multiplatform frameworks. Kotlin Multiplatform allows you to create a universal logic code of a multiplatform application, in combination with the Compose Multiplatform UI framework. Using such a combination makes it possible to write a single logic code and application interface for several platforms at the same time, which helps to save time and avoid a significant number of errors. The MVI architectural pattern is described, which best fits the declarative style of the Compose Multiplatform framework. The Dependency Injection design pattern is considered, as well as other tools for designing multiplatform applications, such as: the Kotlin Coroutines library to support asynchrony and parallel computing in Kotlin, the Gradle Kotlin DSL project assembly system, the Decompose library, and the MVIKotlin framework. A methodology for developing the architecture of Android application components is proposed. The modular structure of the project architecture is divided into two parts: the common module, which contains the main logic of the application, as well as platform implementations of components, and platform modules that perform initialization and launch of the application on a certain platform. Dependency implementation is used to establish access to repositories from application business logic components. The logic of implementing dependencies is described in Koin module files. A methodology is proposed that summarizes the methodology of developing multi-platform applications in the Kotlin programming language for developing user interfaces for several platforms.
Key words: Kotlin, Gradle, Common, Jetpack Compose, Dependency Injection, Kotlin Multiplatform, Compose Multiplatform, Koin.

Post Author: Горященко Сергій

Translate