Розробка мобільного Аandroid-додатку з застосуванням принципів Сlean Аrchitecture

Автор(и)

  • Г.О. Козуб Луганський національний університет імені Тараса Шевченка, м. Старобільськ, Україна
  • Ю.Г. Козуб Луганський національний університет імені Тараса Шевченка
  • Г.А. Могильний Луганський національний університет імені Тараса Шевченка, м. Старобільськ, Україна
  • А.В. Жуков Луганський національний університет імені Тараса Шевченка, м. Старобільськ, Україна

DOI:

https://doi.org/10.33216/1998-7927-2021-269-5-5-10

Ключові слова:

Android, Kotlin, CLean Architecture, Kotlin Coroutines, Android Jetpack, Dependency Rule, патерн, Dependency Injection

Анотація

В роботі розглянуто існуючі методи розробки мобільного Android-додатку із застосуванням принципів CLean Architectureз метою оптимізації архітектури програмних продуктів на старті їх створення. Досліджено концептуальні підходи та принципи Clean Architecture, розглянуто можливість побудови Android-додатків згідно пошарової схеми, згідно з якою шари зв’язуються правилом залежності Dependency Rule. Для розробки Android-додатку “Lucky Days - Lunar Calendar” використаносередовищеAndroid Studioна базі вихідного коду продукту IntelliJ IDEA Community Edition та мови програмування Kotlin, яка працює поверх JVM та компілюється в JavaScript. Показано коди додаткудля потоку вводу-виведення, який демонструє використання співпрограми.Крім можливостей, що існують в IntelliJ IDEA, в Android Studio реалізовано нову уніфіковану підсистему складання, тестування і розгортання застосунків, яка базується на інструментарії Gradle і підтримує використання засобів безперервної інтеграції. Наведено описання інтерфейсу програми, наведено фрагменти кодів, що відповідають за найбільш важливі функції. До складу також включені пристосовані під особливості платформи Android розширені інструменти рефакторингу, перевірки сумісності з минулими випусками, виявлення проблем з продуктивністю, моніторингу споживання пам'яті та оцінки зручності використання. У редактор також додано режим швидкого внесення правок.Для спрощення проектування додатку використано бібліотеку Android Navigation з набору Jetpack та створено граф зв’язків між вікнами додатку. Для роботи мобільного додатку сформовано та запаковано у архів бази даних SQLite, а для організації комунікації між не пов’язаними частинами додатку реалізовано EventBus з набором функцій. Наведено приклади кодів Event-класів та State-класів, які використовуються у розробленому додатку. Запропоновану методику, що відповідає принципам Clean Architecture, а саме відокремлення бізнес-логіки від відображення елементів списку впроваджено для розробки Android-додатку.

Посилання

1. Robert C. Martin. The Clean Architecture. URL: https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html (дата звернення: 20.06.2021);

2. Architecting Android...The clean way? URL: https://fernandocejas.com/2014/09/03/architecting-android-the-clean-way (дата звернення: 03.06.2021);

3. Мобільний додаток “Lucky Days - Lunar Calendar” : URL: https://play.google.com/store/apps/details?id= com.zhukovartemvl.luckydays (дата звернення: 01.06.2021);

4. Жуков А. В., Козуб Г.О. Розробка мобільного додатку за допомогою мови програмування Kotlin та сервісу Firebase. Тенденції та перспективи розвитку науки і освіти в умовах глобалізації : зб. наук.праць Міжнар. наук.-практ. інтернет-конф. Переяслав, 2019.Вип №52. С. 273 –275;

5. Kotlin Programming Language. URL: https://kotlinlang.org (дата звернення: 05.06.2021);

6. Coroutines Overview. URL: https://kotlinlang.org/docs/reference/coroutines-overview.html (дата звернення: 05.06.2021);

7. Android Jetpack. URL: https://developer.android.com/ jetpack (дата звернення: 06.06.2020);

8. Android Studio. URL: https://developer.android.com/studio?hl=ru (дата звернення: 14.06.2021);

9. Android Navigation. URL: https://developer.android. com/guide/navigation/ (дата звернення: 10.06.2021);

10. Iotable RecyclerView. URL: https://github.com/ AlexGladkov/iotable (дата звернення: 14.06.2021);

11. Dropbox. URL: https://www.dropbox.com (дата звернення: 15.06.2021);

##submission.downloads##

Опубліковано

2021-09-10