Как стать автором
Поиск
Написать публикацию
Обновить
3.08

Jetpack Compose *

декларативный UI Framework для Android

Сначала показывать
Порог рейтинга
Уровень сложности

PinLockSreen на основе KeyStore. Kotlin. Jetpack Compose

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров2.9K

В данной любительской статье разберемся, что такое KeyStore в контексте мобильной разработки, для чего нужен и применим его в крайне легком варианте. Также погрузимся в разработку экрана входа в ваше приложение. Статья будет разделена на 3 так называемых раздела — KeyStore, UI и ViewModel.

Читать далее

Как заглянуть под капот Composable функции

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров6.5K

Возникал ли у тебя когда-нибудь вопрос о том, как посмотреть, во что Compose Runtime превращает наши Composable-функции, например, когда ты сделал оптимизацию и хочешь понять, что она работает так, как ты ожидаешь? Если да, то ты по адресу. Привет! Меня зовут Абакар, работаю главным техлидом в Альфа-Банке. В статье попробую разобраться, как Composable-функции меняются при компиляции и как работает аннотация @Composable.

Читать далее

Видео с прозрачностью на Jetpack Compose – запросто

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров3.1K

Статья рассчитана на читателя продвинутого уровня, уже знакомого с Jetpack Compose и Android‑разработкой в целом.

Привет! Меня зовут Владимир, и я мобильный разработчик в компании Финам. В своей практике мы активно используем Android Jetpack Compose, который зарекомендовал себя с лучшей стороны.

В статье я хочу показать простой способ решения известной в Android‑разработке проблемы — проигрывания видео‑файла с полноценной прозрачностью. В Compose для этого пока нет готовых компонентов, поэтому разработчику приходится придумывать разные хитрости.

Какая может быть польза от этого решения? Ответ очевиден — любая сложная анимация в приложении с минимальным размером. Например, мультик на картинке для привлечения внимания занимает всего 370 КБ памяти при размере кадра 480×270.

Узнать как

Как мы в Яндекс Путешествиях на Compose стёкла морозили

Время на прочтение5 мин
Количество просмотров1.5K

Всем привет! Меня зовут Антон Урывский, я Android-разработчик в Яндекс Вертикалях. Мы создаём знакомые всем сервисы: Яндекс Путешествия, Недвижимость и Аренда, Авто.ру. 

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

Моё большое путешествие началось со специфического ТЗ: заблюрить всё под View. «Приятным бонусом» стали поддержка на API 28–35. Для тех, кто не в курсе, BlurRenderEffect из коробки доступен только с API 31 с реализацией средствами Compose. А для нас очень важно, чтобы даже пользователи более старых смартфонов могли пользоваться всеми функциями приложения и видеть их так, как задумывала команда.

Вот и все вводные. Можем поплакать и начать.

Читать далее

Архитектура кроссплатформенного многомодульного приложения

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров9.8K

Хочу поделиться своим опытом создания кроссплатформенного приложения на базе kotlin-multiplatform (KMP), организации его архитектуры, настройки для работы с различными библиотеками и особенностями его работы. Статья подойдет в первую очередь разработчикам, которые уже имеют опыт с многомодульными проектами в android и начинают изучать KMP. В конце я опишу свою реализацию архитектурного паттерна MVI и его применение в проекте.

Читать далее

Shared Element Transition в Jetpack Compose

Время на прочтение6 мин
Количество просмотров1.5K

Привет, Хабр! Меня зовут Артем и я занимаюсь разработкой приложений под Android, а еще с недавнего времени я стал рассказывать об этом.

Это текстовый вариант видео на моем YouTube канале Android Insights

В этой статье я хочу рассказать о том, как можно оживить ваше приложение, используя Shared Element Transition в Jetpack Compose

Читать далее

Как мы реализовали кнопку со свайпом на Jetpack Compose

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров7.6K

Привет, Хабр! Меня зовут Женя Мельцайкин, я работаю в команде мобильной разработки Контура.

Мы разрабатываем экосистему для бизнеса, которая оптимизирует рутинные задачи: работу с маркировкой, проверку контрагентов, товароучет, документооборот, отчетность. И в одном из продуктов работаем с подписанием электронных документов. Электронная подпись — это юридически значимая операция, поэтому важно не допустить ошибки пользователя.

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

Читать далее

Рекомпозиция в Compose: что не видно разработчику невооруженным глазом

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров7.6K

Всем привет! Меня зовут Данила, я Android-разработчик в команде, которая занимается созданием супераппа WorksPad и почтового клиента RuPost Desktop.

Все новые фичи в проекте пишутся на Compose. Нужно было разобраться в нюансах использования, поэтому встал вопрос о повышении собственной квалификации.

Когда я изучил множество тонких моментов реализации, мне захотелось поделиться новыми знаниями с командой — инициатива вылилась во внутренний митап, посвященный работе в Compose. Встреча прошла насыщенно, я получил очень много вопросов от коллег. В итоге мы пришли к тому, что по материалам митапа нужно сделать некий резюмирующий текстовый гайд, с которым разработчик не задумывался бы, как применять Compose.

Большинство поддержало меня в том, чтобы я переложил нашу встречу в формат статьи. Все что вы увидите ниже — и есть тот самый гайд. В нем я постарался простыми словами объяснить, как устроен процесс построения UI на Compose.

Читать далее

Обзор архитектуры Compose с использованием паттерна «координатор»

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров8.4K

В этой статье рассмотрим, пример реализации архитектуры UI-слоя на Compose, которая основывается на Uni-directional data flow и state hoisting с использованием паттерна «координатор» для навигации. Вдохновением для меня послужила эта публикация, но я решил подробнее развернуть поднятую в ней тему архитектуры Compose и навигации.

Читать далее

Telegram Desktop и Compose Multiplatform

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров6.7K

Всем привет! В своей прошлой статье я рассказывал как можно запустить Telegram клиент в качестве backend‑сервиса. В описываемой там библиотеке с тех пор были внесены некоторые оптимизации, и в целом, я остался доволен возможностями, которые получил. После чего возникло желание добавить визуальную часть к имеющемуся бэкенду и заодно изучить что‑то новое для себя. Выбор пал на фреймворк Compose Multiplatform. Давайте сделаем десктопную версию Telegram!

Читать далее

Drag and Drop в Jetpack Compose

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4K

В январе 2024, крупное обновление Jetpack Compose добавило два новых модификатора: dragAndDropSource и dragAndDropTarget. В этой статье я расскажу как реализовать эффект Drag and Drop в Jetpack Compose.

Читать далее

Android-приложение на Compose с нуля: Часть 2 (UI)

Уровень сложностиПростой
Время на прочтение20 мин
Количество просмотров8.1K

Здравствуй, дорогой читатель!

В статье рассматривается поэтапная разработка дизайн-системы и UI для Android-приложения "Калькулятор", используя библиотеку Jetpack Compose. Начнём с создания проекта и закончим запуском приложения на эмуляторе.

Ссылка на репозиторий

Читать далее

Внедрение библиотеки навигации Modo в многомодульный Compose проект

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.3K

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

Читать далее

Ближайшие события

Как увеличить шрифт так, чтобы контейнер не поехал? Адаптация UI/UX для людей с проблемами зрения в XML и Compose

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров2.9K

Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я продолжу рассказывать о современных подходах разработки адаптивного UI /UX для людей с ограниченными возможностями, разных национальностей и особенностями развития. В этой статьей я расскажу про разработку интерфейсов в XML и Compose для варьирующего размера шрифта. А также покажу почему атрибут contentDescription так важен.

Читать далее

Осознанная оптимизация Compose 2: В борьбе с композицией

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров15K

Jetpack Compose постоянно развивается, открывая перед разработчиками новые горизонты для оптимизации. С момента нашего последнего обзора, мы добились значительного прогресса, сократив задержки при скролле с 5-7% до нуля. В этом материале мы поделимся свежими находками и передовыми практиками в оптимизации Compose. Чтобы максимально углубиться в тему, рекомендуем ознакомиться с первой частью.

Читать далее

Делаю навигацию в приложении на Compose

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.2K

В статье затрагивается тема межмодульной навигации в приложении написанном с применением Jetpack Compose, Compose Navigation и самописного модуля навигации. Задачи, которые преследуются — это сделать максимально независимые между собой модули фичей, которые могут смело переиспользоваться на разных проектах без постоянных доработок по навигации внутри фичей.

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

Читать далее

Двигай рукой справа налево: адаптация интерфейса в Android приложении под RTL в XML и Jetpack Compose

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.9K

В общении важно уважать привычки и культурный контекст людей. Это относится и к мобильным приложениям. В статье рассказываю о культурном аспекте — чтении.

Рассмотрим как адаптировать интерфейс под RTL в XML и Jetpack Compose.

Читать далее

Как реализовать App shortcuts в Android

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.6K

Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я расскажу о том как добавить поддержку App shortcuts в Jetpack Compose. Я поделюсь опытом создания шорткатов на примере мобильного приложения — мессенджера.

Читать далее

Как я приложение на Compose писал

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров8.7K

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

В статье будет рассказана небольшая история создания приложения под Android полностью на Compose и о том, на сколько сильно применение Compose на продуктиве упрощает и ускоряет разработку. Личный опыт автора, которым он (то бишь я) хочет с вами поделиться.

Читать далее

Заводим Яндекс Карты в Compose Multiplatform

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров5.9K

Привет! Это мой первый пост на Хабре, буду рад услышать профессиональное и не очень мнение по поводу этой статьи.

Реализуем Яндекс Карты в KMP проекте с использованием Compose Multiplatform. Нестандартное решение с интерфейсом на Swift и передачей кода через DI.

Читать далее