Android Live 🤖
5.25K subscribers
52 photos
2 videos
805 links
Самые свежие новости, новинки и тренды Android от практикующего разработчика.


Автор: @al_gorshkov,
Чат: @android_live_chat
Личный блог: @al_gorshkov_blog

Рекламу не размещаю
Download Telegram
​​Jetpack Compose vs SwiftUI
#compose #kmm

Неплохая статья, где автор делится своими наблюдениями о различиях в Jetpack Compose и SwiftUI.
Кроме того, он поделился двумя версиями одного и того же приложения: под Android и iOS.

Статья будет полезна в случаях, если вы работаете над приложениями под KMM и хотите больше понять особенности работы двух платформ, а также если вы просто хотите разобраться, как работает противоположная платформа и где какие вещи сделать проще и удобнее.
​​Релиз Compose Multiplatform
#compose

Отличная новость от ребят из JetBrains — Compose Multiplatform, который позволяет писать UI на десктоп и web, готов к production коду! Или же просто зарелизился.

Хорошая новость заключается в том, что по большей части он совместим с Jetpack Compose, поэтому можно делать свой код сразу на три платформы.
Подробнее можно почитать тут.
​​Slot API паттерн в Compose UI
#compose

Интересная статья от Chris Banes, где рассказывается о том, что такое паттерн Slot API и как его использовать внутри Compose.

Штука весьма полезная, особенно если вы хотите писать свои собственные composable-функции и корректно с ними взаимодействать. Так что пример, который описывается в статье будет весьма кстати.
​​Jetpack Glance Alpha для виджетов
#jetpack #compose

Наверняка вы знаете о том, что в Android 12 обновили виджеты, сделав их более используемыми и красивыми.
По статистике Google, 84% пользователей используют хотя бы один виджет. ☝🏼
Однако, на мой взгляд, если убрать из этой выборки часы и погоду, то останется совсем небольшой процент людей, которые устанавливают какие-то другие виджеты.

Но ребята из Google пытаются улучшить эту статистику и анонсировали новый способ создания виджетов — Jetpack Glance.
По сути, теперь мы можем писать виджеты в декларативном стиле с использованием Jetpack Compose. Пока что всё в aplpha, и обещают добавить ещё больше элементов для создания красивых виджетов. Чуть больше деталей тут.

Звучит интересно, посмотрим, получится ли воскресить виджеты на Android. Я как-то пока не сильно в это верю: мне кажется, что виджеты не добавляют в приложение именно потому что ими почти не пользуются. А что думаете вы?
👍2
​​Jetpack Compose в существующий проект
#jetpack #compose

Статья, где автор делится своим опытом внедрения Jetpack Compose в текущий проект.
Для начала этого пути, он выбрал смену одной из главных кнопок в проекте и заменил её на Composable-функцию.

Думаю, что статья будет полезна новичкам в Compose, которые только-только стоят на пути изучения этой крутой технологии и внедрения её в свои проекты.
👍3
​​Jetnews на каждом экране
#jetpack #compose

Интересная статья, которая будет полезна всем, кто работает с Compose и хочет адаптировать своё приложение под разные размеры экрана.

Автор делится несколькими пунктами, которые будут полезны. Например, есть функция для запоминания размера экрана, на основе которой можно строить будущий интерфейс приложения. Также интересно то, как лучше настроить навигацию в случае, если приложения разделяется на несколько колонок.

В целом, адаптация приложения под большие экраны — не выглядит чем-то сильно сложным и критичным. Но если у вас есть отличный опыт, то делитесь в комментариях.
👍1
​​Rich Text в Jetpack Compose
#jetpack #compose

Тут подписчик подкинул классную статью, где довольно исчерпывающе описываются возможности для применения стилей текста в Jetpack Compose.

Вообще, форматирование текста очень важная штука, ведь сейчас всё больше пользователей не читает контент, а сканирует его, пытаясь найти то, что им будет полезно.

Автор рассказывает про множество свойств текста, использование TextStyle, добавление стилей через AnnotatedString.
👍3
​​Play Time with Jetpack Compose
#jetpack #compose

Тут команда Google делится интересным опытом перехода от старого подхода на xml на Jetpack Compose.

Думаю, что далеко не каждое приложение может похвастаться таким сроком жизни и количеством пользователей. Кодовая база приложения составляет больше 10 лет работы, и за это время накопилось огромное количество технического долга, который необходимо было заплатить.

Ребята решили переписать UI на Jetpack Compose, и у них получилось значительно уменьшить кодовую базу, примерно на 50%. Также ощутимо выросла продуктивность при написании кода и производительность всего приложения, в том числе анимаций.

Что ж, ещё один позитивный кейс в копилку успешного перехода на Compose, и очень здорово, что он становится всё более распространённым.
👍8
​​Как измерить производительность Compose?
#compose

Compose стремительно вливается в повседневную Android-разработку, постепенно вытесняя традиционные View. До недавнего времени было сложно понять, насколько производительными являются функции, написанные на Compose. Но с выходом последней версии 1.2.0 ситуация улучшилась, ведь добавились метрики для расчёта производительности Compose.

Очень подробная статья об использовании этих метрик написана тут, а тут мы коснёмся только нескольких моментов.

Итоговый отчёт работает в релизном билде и состоит из нескольких файлов:
• общая статистика по приложению;
• детальная статистика по каждой из функциий;
• csv-версия этой же статистики;
• информация о стабильности каждой из написанных функций.

Каждый раз мы получаем информацию о нескольких параметрах: Restartable, Skippable, Immutability & stability. Дальше, смотря на эти параметры, мы можем понять, что можно улучшить: например, если функция restartable, но не skippable, то стоит посмотреть, какие параметры являются входящими в эту функцию и почему компилятор считает некоторые из них unstable.

Пока что статистика выглядит не самой простой для понимания, но первый шаг сделан. Так что ожидаем больше статистики и более удобный вид для анализа тех данных, что у нас есть.
👍4
​​Material You в Jetpack Compose
#design #compose

Не так давно в Android появилась фича, которая позволяет адаптировать темы приложения под цвета пользовательского интерфейса.
То есть теперь у пользователя, в теории, может быть не только светлая и тёмная темы, но и множество вариантов, в зависимости от преобладающего цвета в его обоях.

Попалась любопытная статья, где автор применяет библиотеку Material Design 3 к своему небольшому приложению, написанному на Compose.
Тут можно подсмотреть, как лучше хранить цвета и ресурсы для тем в Compose, как лучше сделать динамические темы, да и то, как начать переезд на эту фичу в своём приложении.

Выглядит здорово, надеюсь на поддержку этой фичи в основных приложениях.
6👍3👎1