Google випустив Jetpack Compose у бета-версії, декларативний механізм інтерфейсу користувача компанії, написаний мовою Kotlin, створений для спрощення розробки інтерфейсу користувача.
Ось ми знову. Я писав про Jetpack Compose, новий механізм інтерфейсу користувача Google, ще коли він з’явився альфа, і знову, коли JetBrains перенесли його на настільні платформи. Сьогодні доступна бета-версія Jetpack Compose.
Якщо ви не в курсі всіх існуючих нових технологій інтерфейсу користувача (я не звинувачую вас), і ви не хочете щоб прочитати ці інші статті (тепер я звинувачую вас), ось короткий опис того, про що йдеться. Jetpack Compose — це декларативний движок інтерфейсу користувача, написаний на Kotlin, який має на меті замінити (або принаймні стати життєздатною альтернативою) класичні движки імперативного інтерфейсу користувача, такі як макети XML Android. Я не буду вдаватися в різницю між декларативним і імперативним макетами, тож скажімо, що Jetpack Compose — це потужний механізм компонування лише коду, який може значно полегшити реалізацію інтерфейсу користувача.
Що саме означає бета-версія для Compose? Ну, подивимось.
API
Кожен хороший фреймворк потребує API (за визначенням). На попередніх і альфа-стадіях Google наполегливо працював над створенням API Compose, щоб він був максимально інтуїтивно зрозумілим і корисним. І як кожен хороший проект, він пройшов через багато переглядів. Використання Compose на цих етапах може бути складним, оскільки API можна видалити або перейменувати без особливого попередження.
Тепер, коли ми перебуваємо на стадії бета-тестування, Google впевнений, що API завершений і стабільний. Це означає, що більше немає (радикальних) видалень або змін, тож ви можете витратити більше часу на створення програми, ніж на те, щоб не відставати від змін API.
Звичайно, стабільний API не означає незмінний. Google все одно додаватиме функції та змінюватиме речі, але тепер буде належне повідомлення про припинення підтримки та цикли заміни.
Підтримка Coroutine
Пам'ятайте, коли Google застаріла AsyncTask в Android, і всі хвилювалися, а потім взагалі про це забули? Ймовірно, ви можете подякувати фреймворку співпрограм Kotlin за це. У своїй основній формі це заміна AsyncTask, але вона також набагато потужніша, набагато гнучкіша та набагато більш кросплатформна.
Тоді як Jetpack Compose має різновид підтримується використання співпрограм, це переважно як рівень взаємодії. Проте в бета-версії співпрограми вбудовані в Compose, тому ви знову можете належним чином використовувати асинхронні виклики.
анімації
Створення анімації в Android може дратувати, і деякий час вони також були в Compose. Однак у бета-версії Google обіцяє «простий у використанні» API анімації, щоб полегшити роботу. Вони також оновили Android Studio, включивши підтримку попереднього перегляду цих анімацій, тож вам не потрібно розгортати свою програму, щоб перевірити їх.
Макети
Android Studio має кілька гарних інструментів для роботи з макетами. Перший – це попередній перегляд макета, який дає змогу побачити, як приблизно виглядатиме ваш макет на пристрої, а також іншим є інспектор макета, який дозволяє вам точно бачити, що відбувається з макетом вашої програми, коли вона на пристрій.
Раніше попередній перегляд макета працював із макетами Compose, але вам доводилося перебудовувати програму щоразу, коли ви щось змінювали, щоб попередній перегляд оновився. Однак тепер, коли ми працюємо в бета-версії, Android Studio оновлено, щоб включити попередній перегляд вашого коду Compose.
Крім того, раніше інспектор макетів практично не працював із макетами Compose. Він показував би знімок екрана програми, але він не міг фактично витягти та показати каркас усіх компонентів макета. Подібно до попереднього перегляду макета, Android Studio оновлено новим інспектором макета, який підтримує макети Compose.
Відповісти
Тепер давайте поговоримо про доступність, неймовірно важливу функцію, про яку, на жаль, зазвичай забувають. На щастя, Google не забув, хоча це могло з’явитися й раніше: тепер підтримуються макети створення Відповісти, розширений невізуальний екран для Android, який одночасно читає вам вміст і дозволяє вам взаємодіяти з дисплеєм за допомогою простих жестів.
Хоча наразі це єдина основна функція доступності, Google пообіцяв, що в стабільному режимі будуть додані інші функції доступності. Думаю, краще пізно, ніж ніколи, і сподіваюся, що ці функції будуть тісніше інтегровані в Compose, ніж у XML.
І це майже все.
Якщо ви хочете розпочати роботу з Jetpack Compose, зараз дуже вдалий час. У вас є повнофункціональний API, з яким можна пограти та навчитися, а також багато навчальних посібників прямо від Google. Перевірити Веб-сайт розробника Google щоб дізнатися більше про оновлення та використання Compose.
І, звичайно, розкажіть нам, що ви думаєте про зміни в бета-версії або свою думку про Compose загалом.