Пропустити навігацію EPAM

Огляд та головні тези вебінару про сучасні підходи до побудови Android-застосунків

Події
  • Android

Запис вебінару наприкінці статті

З ростом популярності смартфонів і планшетів, розробка мобільних застосунків стала невіддільною частиною сучасного цифрового світу. Особливо важливою є розробка Android-додатків, оскільки Android — одна з найбільш розповсюджених операційних систем для мобільних пристроїв. Сучасні підходи до побудови Android-додатків відображають різноманітність технологій, методів і інструментів, які використовуються розробниками для створення інноваційних і високопродуктивних додатків. Розгляньмо кілька ключових аспектів цього процесу.

Спікер вебінару Володимир Леськів є Software Engineering Team Leader в компанії EPAM. Має загалом понад двадцять років досвіду в IT-сфері та понад десять із них займається Android-розробкою. Є лідером спільноти Emerging Technologies, яка об’єднує розробників із таких напрямів як Mobile, Gо та Salesforce.

Під час вебінару говорили про архітектуру Android-додатків, Jetpack Compose, багатомодульність, тестування та інструменти для розробки.

На думку спікера, архітектура для Android-застосунків (тут варто зауважити, що мова йде про великі комерційні додатки) вкрай необхідна із таких причин:

  • підтримка (швидкість додавання та якість нових фіч, оновлення наявних, читабельність коду, легкість тестування);
  • масштабування (розширення команди, більше фіч, простий онбординг нових спеціалістів);
  • конкурентоспроможність (з іншими ринками та технологіями).


Далі обговорили підхід Clean Architecture, який став популярним завдяки чіткому розділенню бізнес-логіки та деталей реалізації. Він складається з трьох рівнів:

  • внутрішній рівень (Domain Model), який містить бізнес-логіку;
  • середній рівень (Repository, View Model), які абстрагують джерело та представлення даних;
  • зовнішній рівень (UI, Data sources), конкретна імплементація представлення та джерела даних.


Далі Володимир перейшов до Jetpack Compose. Це сучасна бібліотека для розробки користувацьких інтерфейсів Android-додатків. Вона базується на декларативному підході, де ви описуєте, як має виглядати ваш інтерфейс, а не як він має бути створений. Замість того, щоби працювати з XML-файлами, розробники можуть створювати інтерфейси, використовуючи Kotlin-код.

Серед переваг Jetpack Compose:

  • простота та ефективність: Jetpack Compose дає змогу створювати складні інтерфейси за допомогою простого та зрозумілого коду Kotlin, це спрощує розробку та підтримку коду;
  • реактивність: бібліотека використовує принципи реактивного програмування, що дозволяє автоматично оновлювати відображення, коли дані змінюються;
  • висока продуктивність: Jetpack Compose використовує асинхронний механізм оновлення інтерфейсу, що дає змогу створювати швидші та ресурсозаощаджувальні додатки;
  • налаштована відладка: завдяки Kotlin та розширеним можливостям IDE, відладка коду стає простішою та ефективнішою;
  • широкі можливості кастомізації: Jetpack Compose надає широкі можливості для кастомізації компонентів і створення власних елементів інтерфейсу.


Отже, Jetpack Compose — це революційний інструмент для розробки користувацьких інтерфейсів Android-застосунків. Він пропонує простий та ефективний спосіб створення інтерфейсів, що дає змогу розробникам швидше створювати додатки, зберігати час на розробці та підтримці коду, а також надавати більше можливостей для кастомізації та розвитку.

Переходячи до теми тестування варто зазначити, що це дуже важливий аспект, тому що це:

  • захист від регресій;
  • краща документація коду;
  • валідація нового функціоналу.


З того, що варто тестувати:

  • Use Case;
  • Мапери;
  • View Model;
  • Репозиторій.


Наприкінці події розглянули ще деякі інструменти для розробки. Насамперед Володимир рекомендує використовувати Trunk-Based Development (TBD). Це методологія розробки програмного забезпечення, у якій усі зміни коду вносяться безпосередньо до основної (trunk) гілки (головної гілки) репозиторію. У цій моделі немає використання довгострокових гілок (long-lived branches), а натомість розробники працюють над невеликими змінами, які відразу вливаються в основну гілку.

Також варто згадати про статичні аналізатори коду:


Що стосується кросплатформеної розробки Android-додатків, то це процес створення додатків, які можуть працювати як на платформі Android, так і на інших платформах, таких як iOS, Windows, macOS та інші. Це дає змогу розробникам максимізувати охоплення аудиторії та скоротити витрати часу та ресурсів на розробку для кожної платформи окремо. З ключових підходів до кросплатформної розробки Android-додатків спікер виділяє такі:

  • React Native — наразі є найбільш популярним і займає найбільшу частку ринку;
  • Flutter — займає друге місце на ринку;
  • Kotlin Multiplatform Mobile (KMM) — лише набирає обертів, але, можливо, через якийсь час посяде перше місце за популярністю.


Під час Q&A-сесії, Володимир поділився своїми думками щодо того, які технології для розробки зараз у тренді, у який напрям краще розвиватись Android-інженеру та відповів на інші актуальні питання учасників.

Не забувайте слідкувати за нашими новинами, в EPAM безліч цікавого і корисного. Робити це зручно на наших сторінках у Facebook, Twitter, Telegram або Youtube, а ще радимо заглядати у розклад наших подій на сайті у відповідному розділі — Календар подій.

І, як завжди, дякуємо, що ви з нами!

Підписатися на новини

Чудово! Ми вже готуємо добірку актуальних новин для вас :)

Вибачте, щось пішло не так. Будь ласка, спробуйте ще раз.

* Обов'язкові поля

*Будь ласка, заповніть обов’язкові поля

Вакансії EPAM Ukraine у Київ | Львів | Харків | Дніпро | Вінниця | Івано-Франківськ | Одеса | Чернівці | Хмельницький | Рівне | Ужгород | Тернопіль | Луцьк за напрямком Java | JavaScript | .NET | DevOps | Experience Design | Software Testing | Business Analysis | Python| Big Data | Mobile | Solution Architect | Ruby on Rails у містах за напрямком Java вакансії Київ | Java вакансії Харків | Java вакансії Львів | Java вакансії Вінниця | Java вакансії Одеса | Java вакансії Івано-Франківськ | Java вакансії Чернівці | Java вакансії Хмельницький | Java вакансії Рівне | Java вакансії Ужгород | Java вакансії Тернопіль | Java вакансії Луцьк | JavaScript вакансії Київ | JavaScript вакансії Харків | JavaScript вакансії Львів | JavaScript вакансії Вінниця | JavaScript вакансії Одеса | JavaScript вакансії Івано-Франківськ | JavaScript вакансії Чернівці | JavaScript вакансії Хмельницький | JavaScript вакансії Рівне | JavaScript вакансії Ужгород | JavaScript вакансії Тернопіль | JavaScript вакансії Луцьк | DevOps вакансії Київ | DevOps вакансії Харків | DevOps вакансії Львів | DevOps вакансії Вінниця | DevOps вакансії Одеса | DevOps вакансії Івано-Франківськ | DevOps вакансії Чернівці | DevOps вакансії Хмельницький | DevOps вакансії Рівне | DevOps вакансії Ужгород | DevOps вакансії Тернопіль | DevOps вакансії Луцьк