#jetpack_compose

2025-07-03

Эффекты в Jetpack Compose, лежащие на поверхности

Всем привет! Меня зовут Владимир, и я мобильный разработчик в компании «Финам». В своих проектах мы активно используем Jetpack Compose, в котором, несмотря на растущую популярность, получение некоторых визуальных эффектов до сих пор не так очевидно, как хотелось бы. В этой статье рассмотрен один из способов «наложения» различных эффектов рендеринга на уже готовый контент.

habr.com/ru/companies/finam_br

#jetpack_compose #android

2025-06-15

Я обогнал Google?

Заголовок "Я обогнал Google?" — не просто кликбейт. Столкнувшись с неудобствами и большим количеством бойлерплейта в Jetpack Navigation на реальном проекте, я задался вопросом: а можно ли сделать лучше? В этой статье я шаг за шагом показываю свой путь: от ручных extension-функций до создания собственной библиотеки на KSP, которая генерирует типобезопасные классы для навигации, упрощает передачу аргументов и добавляет удобные фичи.

habr.com/ru/articles/918562/

#jetpack_compose #android #kotlin #ksp #навигация #кодогенерация #safe_args

:rss: CyberAgent Developers Bldevelopers@rss-mstdn.studiofreesia.com
2025-06-11
2025-05-31

Индикация клика на стероидах в Compose: пишем свою IndicationNodeFactory

При работе с Jetpack Compose разработчики часто не замечают, как элементы Material и Material 3 дизайн систем вплетаются в их код. Один из таких элементов - это индикация клика, реализованная в Material как круги на воде (англ. ripple effect). В этой статье мы разберем, в чем недостатки дефолтной реализации риппл-эффекта в Compose и как сделать свою.

habr.com/ru/articles/914506/

#compose #compose_multiplatform #jetpack_compose #material_design #design_system

2025-05-27

Создание кастомного тултипа Jetpack Compose

Привет, Хабр! Меня зовут Альберт, я Android-разработчик в команде интеграции рассрочки в приложении Wildberries. В этой статье мы напишем простенькую реализацию тултипов на Jetpack Compose своими руками.

habr.com/ru/companies/wildberr

#tooltip #тултип #jetpack_compose #android #android_development #tutorial #туториал #tooltips #тултипы #kotlin

2025-05-24

Развеиваем мифы о Stability в Compose: оптимизации Strong Skipping

За последнее время Jetpack Compose и его кроссплатформенный собрат Compose Multiplatform прошел большой путь от ранних альфа релизов и скептического отношения комьюнити до статуса главного UI-фреймфорка под Android и production-ready состояния на iOS. Тем не менее одна из важных тем, касающихся runtime-производительности фреймворка, все еще остается полной темных пятен, и это тема stability. Как ни странно, ведь на эту тему сделано множество статей и докладов. Проблема заключается в том, что стремительное развитие фреймворка очень быстро делает эти статьи, доклады и даже документацию устаревшими, а новые посты на эту тему вторят старым, дальше распространяя ложную информацию о том, как работает рекомпозиция, пропускаемость (skippability) и перезапускаемость (restartability). Использование LLM для получения актуальной информации не очень поможет. Простой пример - спросим у ChatGPT, будет ли перезапущена Composable функция, если она имеет нестабильные аргументы, и получим неправильный ответ:

habr.com/ru/articles/912490/

#kotlin_multiplatform #compose_multiplatform #jetpack_compose

2025-05-22

Google I/O 2025. Что нового в Android

Всем привет! С вами Анна Жаркова, руководитель практики по мобильному направлению из компании Usetech. Прошли 2 дня Google I/O и живых сессий и воркшопов, новинки уже представлены, не все туториалы и плейлисты еще не выложены, но у нас уже есть, что обсудить. Поговорим мы не с AI, хотя про него сегодня тоже будет, а об Android. Все аспекты мы затронуть не сможем, все-таки информации было очень много, а по каждой из новинке можно писать и отдельную статью, и даже доклад. Поэтому рассмотрим наиболее яркие моменты.

habr.com/ru/companies/usetech/

#google_io #google_io_2025 #android #jetpack_compose #compose #kotlin_multiplatform #gemini #ai

2025-05-14

Типобезопасная передача результатов между экранами в Compose с Jetpack Navigation

Приветствую Android-комьюнити! Меня зовут Арсений Шпилевой, я Core-разработчик в команде WB Partners . В этой небольшой статье я расскажу, как мы в проекте решили обеспечить типобезопасность при передаче возвращаемых результатов между родительским и дочерним экранами с применением библиотеки Compose Navigation . Мы рассмотрим механизм, который помогает избежать типичных ошибок и делает код более поддерживаемым.

habr.com/ru/companies/wildberr

#android #jetpack_compose #jetpack_navigation #навигация #мобильная_разработка #wildberries

2025-05-13

Мастерство фокусов на Compose 2: как работает запрос фокуса

Привет! Меня зовут Костя, я Android-разработчик в онлайн-кинотеатре PREMIER. В процессе работы над проектом PREMIER для AndroidTV я столкнулся с тем, что в Jetpack Compose механизм фокусов — достаточно сложная и неочевидная тема. А информации в интернете об этом очень мало, особенно о специфичных сценариев вроде ТВ-приложений или устройств без сенсорного ввода. Поэтому я решил разобрать тему фокусов в Compose максимально подробно, чтобы помочь разработчикам лучше понять этот механизм и избежать типичных ошибок. В первой статье на эту тему мы уже разобрали базовую структуру фокусировки в Compose. Теперь пришло время углубиться в технические детали: что именно происходит, когда вызывается requestFocus() , как Compose выбирает элемент для фокусировки и какие изменения были внесены в Compose 1.8, чтобы улучшить этот процесс. Если вы работаете с приложениями под Android TV, кастомными компонентами или просто хотите лучше понимать, как работает система фокусов, эта статья для вас.

habr.com/ru/companies/habr_rut

#android_tv #androidtv #compose #jetpack_compose #focus #android_development #android

2025-05-12

ML KIT — Современное решение для сканирования в Android приложениях

ML Kit - это мощный инструмент для работы с камерой в андроид приложениях. Библиотека от компании Google ML Kit предлагает набор встроенных API, которые могут работать как на самом девайсе, так и в облаке. ML Kit - это мощный инструмент для работы с камерой в Android и IOS приложениях.

habr.com/ru/articles/908772/

#Android #MLKIT #kotlin #jetpack_compose #android_studio

2025-04-29

Мастерство фокусов на Compose

Привет! Меня зовут Костя, я Android-разработчик в онлайн-кинотеатре PREMIER. Среди прочего у нас есть приложение для Android TV. Работая над ним, я столкнулся с тем, что система фокусов в Jetpack Compose устроена сложнее, чем кажется на первый взгляд. Поскольку для ТВ-приложений и устройств без сенсорного управления работа с фокусом играет ключевую роль в навигации, мне понадобилось детально разобраться в теме. Результатами делюсь в статье.

habr.com/ru/companies/habr_rut

#android_tv #androidtv #compose #jetpack_compose #focus #android_development #android

2025-04-28

Jetpack Compose для Android TV: как происходит перемещение фокуса

Привет, Хабр! Меня зовут Сергей Захаров, я разработчик в онлайн-кинотеатре KION. Jetpack Compose постепенно становится стандартом разработки UI для Android, и Android TV не остался в стороне. Вместо устаревшего и громоздкого Leanback теперь есть гибкий и мощный фреймворк, который обещает упростить разработку. Однако на Android TV ключевую роль играет управление фокусом — без него невозможна навигация. Как же Compose справляется с этой задачей? Достаточно ли он удобен для больших TV-проектов, или лучше ограничиться им в мобильных приложениях? В этом и следующих материалах я отвечу на эти вопросы на примере конкретных кейсов. Это первый пост моего цикла про работу с фокусом в Jetpack Compose. В нем я расскажу, как в Jetpack Compose перемещается фокус, рассмотрю используемые при этом компоненты, покажу их плюсы и минусы, а также дам рекомендации по их применению в приложениях для Android TV.

habr.com/ru/companies/ru_mts/a

#androidtv #Jetpack_Compose #декларативное_программирование #FocusManager #FocusRequester #findFocusTarget #мобильные_приложения #разработка_под_android #Фокус_в_мобильных_приложениях #дизайн_мобильных_приложений

2025-04-24

Сколько я заработал в RuStore и как Роскомнадзор продвигал мое приложение

В этой статье я поделюсь своей историей: как я в одиночку пробивался в отечественном магазине приложений, сколько заработал и как странным образом Роскомнадзор оказался моим союзником в продвижении стартапа. Читай дальше — сейчас всё расскажу!

habr.com/ru/articles/904226/

#rustore #kotlin #стартап #android #jetpack_compose #яндекс #реклама #монетизация_приложений #разработка_мобильных_приложений

2025-04-18

Часть 2: XML или Compose — что выбрать, и что нужно знать перед выбором

Автор: Android-разработчик с 7+ годами опыта, знающий толк в FrameLayout, merge, include, RecyclerView, а теперь и Modifier.padding.

habr.com/ru/articles/902252/

#android #kotlin #ui #jetpack_compose #xml #view

2025-04-17

Сканирование баркодов c помощью камеры и внешних устройств в Compose

В этой статье рассмотрим, как сканировать баркоды в Android - приложениях, а также как в Compose работать с камерой (предпросмотр и логика сканирования), а также и как поддерживать внешние сканеры.

habr.com/ru/companies/sberbank

#Android #Camerax #jetpack_compose

2025-04-15

XML vs Compose, не можете решить?

Jetpack Compose — не просто “альтернатива XML”. Это совершенно другой парадигмальный сдвиг в том, как Android отрисовывает и управляет UI. Но чтобы по-настоящему понять, чем Compose отличается от привычного XML, давайте посмотрим, что происходит под капотом в каждом случае.

habr.com/ru/articles/901096/

#android #xml #jetpack_compose #software_development

2025-04-10

У нас в проекте был Compose Multiplatform, но снова я бы так не делал

Мобильная разработка продолжает развиваться, но, если честно, никаких революционных прорывов в последнее время не произошло. Громкие темы, вроде Kotlin Multiplatform (KMP), Flutter, Jetpack Compose, SwiftUI, уже давно закрепились в индустрии, а новинки больше эволюционируют, чем меняют правила игры. Компании экспериментируют с кроссплатформенными решениями, и это выглядит логично. Писать общий код для iOS и Android 一 это экономия ресурсов и времени. Вроде бы верно, но на практике всё не так гладко. Привет, меня зовут Максим Плахута и с недавнего времени я руковожу Android разработкой «Кинопоиска». До этого руководил мобильной разработкой Почты Яндекс. А ещё я участник ПК новой конференции по мобильной разработке Apps Conf . Расскажу, какие шишки набили в реализации кроссплатформенного проекта и чего лучше не делать в современной мобильной разработке.

habr.com/ru/companies/oleg-bun

#kotlin_multiplatform #flutter #jetpack_compose #swiftui #потоковая_передача_данных #api #android #ios #ui_ux #кроссплатформенность

2025-03-26

Как работать с Custom Layout в Jetpack Compose

Всем привет! Я Александр Власюк, старший Android-инженер в Авито , разрабатываю Авито Кошелек и веду телеграм-канал «​​Записки инженера» . В этой статье вспоминаем, как лейауты работают в Compose, обсуждаем изменение лейаута отдельного компонента, смотрим, как создавать кастомные Layout и LazyLayout и учимся откладывать композицию. И всё это на примерах, в том числе из дизайн-системы Авито.

habr.com/ru/companies/avito/ar

#android #jetpack_compose #compose #layout #android_sdk

2025-03-07

Kelp — IDE-плагин для кастомных дизайн-систем на Jetpack Compose

Kelp — мощный плагин для Android Studio, разработанный для улучшения поддержки кастомных дизайн-систем на Jetpack Compose в Android Studio. Основные фичи: 🔧 Настраиваемые иконки для компонентных функций 🎨 Иконки дизайн-системы 🌈 Предпросмотр цветов 📱 Интеграция демоприложения (автоматическое скачивание и установка APK-файла и deeplinking на страницу компонента) 🖼️ Рендеринг изображений в KDoc ⌨️ Шаблоны кода (Live Templates) И 🐘 Gradle Plugin, скачивающий демоприложение и проверяющий наличие IDE-плагина.

habr.com/ru/companies/ozontech

#android_studio #ide #jetpack_compose #дизайн_система #дизайнсистема #designsystem #intellij_idea_plugin #android #showcase

2025-01-10

Морфинг геометрических фигур с SDF в фрагментных шейдерах GLSL и визуализацией на Jetpack Compose

Создание динамичных визуальных эффектов для мобильных приложений требует от разработчиков не только творческого подхода, но и соблюдения требований к производительности. Одной из наиболее эффективных техник для реализации плавных переходов и трансформаций объектов является использование шейдеров, которые позволяют выполнять сложные параллельные вычисления на GPU. Это не только обеспечивает плавность анимаций, но также может снизить нагрузку на CPU, делегируя ресурсоемкие задачи графическому процессору в определенных сценариях, что особенно важно для мобильных устройств с ограниченными ресурсами. В данной статье будет рассмотрен пример реализации плавной анимации морфинга геометрических фигур с использованием SDF (Signed Distance Functions) и GLSL для графического рендеринга.

habr.com/ru/articles/872728/

#glsl #shaders #opengl #opengl_es_20 #shader #signed_distance_fields #andorid #android_development #jetpack_compose

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst