Jetpack Compose, новий інструментарій інтерфейсу Google для Android, зараз знаходиться в альфа-версії

click fraud protection

Jetpack Compose, набір інструментів інтерфейсу Google для розробки додатків Android, зараз знаходиться в альфа-версії. Він повністю сумісний зі стандартними Views Android.

Коли мова йде про розробку програми, існує багато способів це зробити. Ви можете вибрати платформу (платформи) для розробки, яку мову (мови) програмування використовувати та багато іншого.

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

Що таке Jetpack Compose?

Створюючи програму для Android, ви зазвичай маєте справу з двома основними компонентами: кодом для речей, заснованих на логіці; і XML для макетів. За замовчуванням Android використовує Java для коду та власний набір XML-тегів для макетів.

Для багатьох Java і XML підходять просто добре, особливо для простіших програм. Але обидві системи мають свої обмеження та недоліки. З появою Kotlin як

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

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

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

Jetpack Compose також є досить радикальним відходом від стандартного імперативного дизайну XML-макетів. Натомість він більше схожий на React або Flutter, з декларативними макетами, які оновлюються самостійно, коли дані змінюються, замість того, щоб покладатися на розробника для впровадження цієї логіки.

Що підтримується

Тож Jetpack Compose зараз у альфа-версії. Що це означає? Ну багато всього.

Взаємодія з Views

Подібно до того, як Kotlin повністю сумісний із Java, Jetpack Compose повністю сумісний із стандартними Views Android. Це означає досить багато речей.

По-перше, буде набагато простіше перейти на Jetpack Compose, якщо ви цього захочете. Замість того, щоб перетворювати всі ваші власні представлення та макети на Composables, ви зможете просто створювати нові макети та компоненти в Compose. У вас є бібліотека, яка використовує "застарілі" Views, але ваша програма розроблена з Compose? Без проблем. Ви можете додати View прямо у вашу функцію Composable. Ви ще не перейшли до Compose, але хочете використовувати бібліотеку, яка покладається на Composables? Знову ж таки, без проблем. Просто розмістіть Composable прямо у своєму макеті.

Що стосується тематики, то це не так просто підключай і працюй, як сумісність макета. однак, Google створив бібліотеку щоб адаптувати ваші стандартні теми XML у теми, сумісні з Compose, допомагаючи централізувати речі та уникнути дублювання.

анімації

Тут нема чого сказати, за винятком того, що Jetpack Compose підтримує анімацію, так само, як фреймворк Android View. Ви можете переміщувати, змінювати розмір і обертати як завгодно.

Ледачі списки

Ледачий список — це, по суті, версія RecyclerView від Compose. Він лише розміщує елементи за потреби, заощаджуючи оперативну пам’ять і підвищуючи продуктивність. Звичайно, будучи Compose, списки значно простіше реалізувати.

ConstraintLayout

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

Матеріальні компоненти інтерфейсу користувача

Іншим набором потужних Views є бібліотека Material Components від Google. Більшість із того, що тут міститься, — це стандартні представлення та макети, які можна знайти у власній структурі представлення. Але вони налаштовані або упаковані, щоб забезпечити додаткові функції та полегшити створення тем, і вони також зробили свій шлях до Compose.

Тестування

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

Спеціальні можливості

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

Android Studio

Однак не всі функції Jetpack Compose є в самому Jetpack Compose. Android Studio та Kotlin також мають плагіни та розширення для полегшення створення.

Плагін компілятора Kotlin

Як і у випадку з JVM Kotlin, в Android Studio є плагін компілятора, щоб належним чином перетворити ваші функції Compose у код, який Android може зрозуміти та слідувати.

Інтерактивний попередній перегляд

Подібно до стандартних макетів XML, Android Studio має попередній перегляд макета для Jetpack Compose. Хоча в деяких аспектах це зараз не так зручно, як попередній перегляд XML, вам потрібно створити свій проект для оновити попередній перегляд і створити спеціальну функцію попереднього перегляду — він має одну помітну перевагу: інтерактивність попередній перегляд.

Інтерактивний попередній перегляд — це звичайний попередній перегляд, але інтерактивний. Божевільний, я знаю. Однак це означає, що ви можете вводити текст у текстові поля, натискати кнопки та, ну, взаємодіяти зі своїми Composables, навіть не розгортаючи їх.

Розгортання з єдиним компонуванням

Якщо ви дійсно хочете розгорнути (тобто встановити) свій макет, щоб побачити, як він працює на реальному пристрої, ця функція може вам допомогти. У звичайних макетах XML, щоб побачити, як макет працює в реальному світі, вам потрібно створити та встановити всю програму. Якщо макета, який ви хочете перевірити, немає на основному екрані, можливо, ви багато натискаєте, щоб перейти до нього.

І саме тут вступає в дію можливість розгорнути лише один Composable. Замість того, щоб створювати та встановлювати свою програму, а потім переходити до макета, який ви тестуєте, ви можете просто розгорнути макет. Android Studio створить і відкриє обгортку Activity, яка лише відображає Composable, який ви розгорнули. Це може значно пришвидшити тестування та проектування та навіть допомогти виділити проблеми, пов’язані із взаємодією елементів.

Доповнення коду

Якщо ваша IDE не має автозаповнення коду, чи це взагалі IDE? Ні, ні, це не так. Тому, звичайно, Android Studio підтримує повне завершення коду для Jetpack Compose.


Хоча це ще не все, що пропонує Jetpack Compose, наведені вище функції та поведінка демонструють, наскільки потужним Google хоче бачити цей фреймворк. І хоча він все ще знаходиться в альфа-версії, це на крок попереду його попереднього статусу «розробка». Якщо ви зволікали з використанням Jetpack Compose (як я), можливо, настав час спробувати ще раз.