zhub.link is one of the many independent Mastodon servers you can use to participate in the fediverse.

Administered by:

Server stats:

28
active users

#jetpack_compose

0 posts0 participants0 posts today

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

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

habr.com/ru/companies/ozontech

ХабрKelp — IDE-плагин для кастомных дизайн-систем на Jetpack ComposeПривет! Меня зовут Антон, я ведущий разработчик мобильных приложений в Ozon Tech. Наверное, почти у каждого происходит стечение обстоятельств, которые подталкивают нас что-то сделать своё. Иногда это...

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

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

habr.com/ru/articles/872728/

ХабрМорфинг геометрических фигур с SDF в фрагментных шейдерах GLSL и визуализацией на Jetpack ComposeСоздание динамичных визуальных эффектов для мобильных приложений требует от разработчиков не только творческого подхода, но и соблюдения требований к производительности. Одной...

Алло! Реализуем дисковый телефон с помощью Jetpack Compose

Привет, Хабр! Меня зовут Артем, я автор и ведущий YouTube и Telegram каналов Android Insights. Данная статья - идейный продолжатель моей предыдущей статьи Создание Custom Layout в Jetpack Compose Сегодня мы создадим настоящий дисковый телефон с помощью Jetpack Compose! Вы узнаете, как реализовать жесты, анимации и механику вращения диска, чтобы получить максимально аутентичный опыт взаимодействия со старым добрым телефоном в современном Android приложении.

habr.com/ru/articles/871956/

ХабрАлло! Реализуем дисковый телефон с помощью Jetpack ComposeПривет, Хабр! Меня зовут Артем и я автор и ведущий YouTube и Telegram каналов Android Insights. Данная статья - идейный продолжатель моей предыдущей статьи Создание Custom Layout в Jetpack...

Создание Custom Layout в Jetpack Compose

Привет, Хабр! Меня зовут Артем и я автор и ведущий YouTube канала Android Insights Сегодня я расскажу о том, как создавать Custom Layout в Jetpack Compose, а также мы решим одну связанную с данной темой практическую задачку. Создание Custom Layout может показаться чем-то сложным на первый взгляд, но я постараюсь все объяснить максимально понятно и подробно. Итак, приступим!

habr.com/ru/articles/867822/

ХабрСоздание Custom Layout в Jetpack ComposeПривет, Хабр! Меня зовут Артем и я автор и ведущий YouTube канала  Android Insights Сегодня я расскажу о том, как создавать Custom Layout в Jetpack Compose, а также мы решим одну связанную с...

Jetpack Compose как unbundled-библиотека. Скорость UI vs. Гибкость разработки

Jetpack Compose может работать медленнее системы View из-за своей архитектуры и дизайна. Но при этом он гораздо более гибкий. Дело в том, что Jetpack Compose — это unbundled-библиотека. В этой статье я расскажу о том, что это значит и почему оно влияет на производительность, на примере нашего переезда на Compose. Мы вместе ужаснёмся тормозам UI, вызванным переездом на Compose, и порадуемся возможности писать Compose-код, не оглядываясь на версию Андроида! Но это всё спойлеры. Давайте расскажу подробнее!

habr.com/ru/companies/dododev/

ХабрJetpack Compose как unbundled-библиотека. Скорость UI vs. Гибкость разработкиВведение Jetpack Compose может работать у вас медленнее, чем система View, из-за своей архитектуры и дизайна. Но точно имеет бóльшую гибкость. Дело в том, что Jetpack Compose — это...

[Перевод] О зацикливании рекомпозиции в Jetpack Compose

Фотограф: Laura Cleffmann: pexels.com/ru-ru/photo/2000199 Jetpack Compose — это мощный инструмент, который упрощает создание UI в Android, но его освоение может быть не таким уж простым. Многие разработчики сталкиваются с неожиданными результатами и ошибками, которые на первый взгляд кажутся неочевидными. Сегодня разберем один из таких примеров и посмотрим, как зациклить рекомпозицию в Compose — и самое главное, как этого избежать.

habr.com/ru/articles/859084/

Apex Architecture: Модульность и стабильность в Android-разработке

Архитектура, с которой мы работаем изо дня в день, оставляет желать лучшего. Иначе как объяснить тот хаос и стресс, который каждый из нас испытывает, приходя на новое место работы? В большинстве случаев самым сложным слоем является UI, и эта сложность зачастую обусловлена не разнообразием элементов интерфейса, а неправильным подходом к архитектуре этого слоя. Отсюда можно сделать вывод, что нельзя дробить приложение в привычной форме: на UI, domain и data. Необходимо добавить еще один дочерний слой — ui/viewModel, и на этом слое, одном из самых важных, я хочу акцентировать ваше внимание. Меня зовут Илья и мы начинаем!

habr.com/ru/articles/857332/

ХабрApex Architecture: Модульность и стабильность в Android-разработкеАрхитектура, с которой мы работаем изо дня в день, оставляет желать лучшего. Иначе как объяснить тот хаос и стресс, который каждый из нас испытывает, приходя на новое место работы? В большинстве...

Диалог — часть навигации или нет?

Как в вашей навигации устроена работа с диалогами? Мой ответ - никак! В статье я делаю обзор на то что такое Диалог, когда это компонент, когда это визуальный стиль и почему не надо помещать в навигацию то что хочется открыть чтобы потом с этим...

habr.com/ru/articles/854988/

ХабрДиалог — часть навигации или нет?Введение Не так давно я начал разработку собственной библиотеки для навигации в клиентских приложениях на Kotlin Multiplatform. Сделать такое решение подходящим под фанатзию каждого дизайнера и...

Как написать Android приложение, которое не будет стыдно положить в портфолио. Гайд для новичков в Android разработке

Гайд в котором мы напишем с вами Android-приложение с нуля, используя лучшие архитектурные подходы – Clean Architecture и MVVM с элементами MVI , они обеспечат поддерживаемость, тестируемость и масштабируемость приложения, что особенно важно для сложных и долгосрочных проектов.

habr.com/ru/articles/854450/

ХабрКак написать Android приложение, которое не будет стыдно положить в портфолио. Гайд для новичков в Android разработкеВведение В этом гайде мы напишем с вами Android-приложение с нуля, используя лучшие архитектурные подходы – Clean Architecture и MVVM с элементами MVI, они обеспечат поддерживаемость, тестируемость и...

Как зеленый Леруа Мерлен стал желтым Лемана ПРО

В последнее время ну очень популярна стала такая вещь, как ребрендинг. Одни меняют лого и название. Другие, вдобавок к этому, еще и кардинально меняют цвета. Популярность эта, однако, не сопровождается должным количеством технических статей, которые мне, как разработчику, наиболее интересны. Будем это исправлять. Всем привет! Меня зовут Слава. Я мобильный разработчик. И в этой статье я поделюсь своим уникальным опытом того, как Леруа Мерлен стал Лемана ПРО. Собственно, рассказывать буду про мобильную разработку 🤷🏽.

habr.com/ru/companies/leroy_me

ХабрКак зеленый Леруа Мерлен стал желтым Лемана ПРОВ последнее время ну очень популярна стала такая вещь, как ребрендинг. Одни меняют лого и название. Другие, вдобавок к этому, еще и кардинально меняют цвета. Популярность эта, однако, не...

Как грузить данные во ViewModel?

Привет, Хабр! Эта статья будет полезна для мобильных разработчиков, потому что в ней обсуждаются различные подходы к первоначальной загрузке данных во вьюмодели (Jetpack ViewModel) при ее использовании в проектах на Jetpack Compose (либо Compose Multiplatform). Тема эта настолько холиварная, что один из самых влиятельных ютуберов в сфере Android-разработки Philip Lackner даже недавно посвятил ей отдельный как всегда очень качественный обзор . Эта статья - во многом ответ и дополнение к нему. Итак, перейдем к сути.

habr.com/ru/articles/848824/

ХабрКак грузить данные во ViewModel?Привет, Хабр! Эта статья будет полезна для мобильных разработчиков, потому что в ней обсуждаются различные подходы к первоначальной загрузке данных во вьюмодели (Jetpack ViewModel) при ее...

Взаимодействие с клавиатурой в Compose: особенности и подводные камни

Привет, Хабр! На связи Глеб Гутник, мобильный разработчик из компании xStack. В этой статье мы рассмотрим, как можно эффективно кастомизировать взаимодействие с клавиатурой в Jetpack Compose и Compose Multiplatform для создания комфортного UX. Для того, чтобы пользователь мог полноценно взаимодействовать с интерфейсом, мы, мобильные разработчики, ежедневно решаем простую, казалось бы, задачу: поля ввода формы на экране всегда должны быть видны и находиться выше клавиатуры. На Android для этого предусмотрен флаг android:windowSoftInputMode="adjustResize" , но он сжимает окно приложения без учета анимации клавиатуры, поэтому пользователь видит пустое поле долю секунды, пока клавиатура открывается:

habr.com/ru/articles/845124/

ХабрВзаимодействие с клавиатурой в Compose: особенности и подводные камниПривет, Хабр! На связи Глеб Гутник, мобильный разработчик из компании xStack. В этой статье мы рассмотрим, как можно эффективно кастомизировать взаимодействие с клавиатурой в Jetpack Compose и Compose...

Основы Jetpack Compose: как обеспечить стабильность вашего кода

Привет, меня зовут Вера, я Android‑разработчик в Яндекс Диске. Мы в Диске сейчас активно работаем над переездом на Compose с использованием дизайн‑системы. Про стабильность в Compose есть немало статей, однако ошибки продолжают cовершаться, поэтому решила поделиться своим опытом в формате ликбез‑статьи. По моему опыту, многие кто начинают писать на Compose, делают это интуитивно. Почему? Чтобы привыкнуть, понять, осознать подход к декларативному UI — нужно много времени, и поэтому к пониманию стабильности приходят, как правило, сильно позже. Однако это важно, ведь правильно организованная стабильность уменьшает количество рекомпозиций, что улучшает производительность и плавность работы приложения.

habr.com/ru/companies/yandex/a

ХабрОсновы Jetpack Compose: как обеспечить стабильность вашего кодаПривет, меня зовут Вера, я Android‑разработчик в Яндекс Диске. Сейчас мы активно работаем над переездом на Compose с использованием дизайн‑системы. Про стабильность в Compose...

Что стоит знать о Jetpack Compose: руководство для начинающих

Салют, Хабр! На связи Вадим, Android Developer из Clevertec . Когда я начинал разбираться с Jetpack Compose, он показался простым. Но первое впечатление обманчиво. Поэтому написал этот туториал для начинающих, который сэкономит время на погружение.

habr.com/ru/companies/cleverte

ХабрЧто стоит знать о Jetpack Compose: руководство для начинающихСалют, Хабр! На связи Вадим, Android Developer из Clevertec . Когда начинал разбираться с Compose, он показался простым. Но первое впечатление обманчиво. Поэтому написал этот туториал для начинающих,...

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

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

habr.com/ru/articles/831914/

ХабрPinLockSreen на основе KeyStore. Kotlin. Jetpack ComposeНачало В данной любительской статье разберемся, что такое KeyStore в контексте мобильной разработки, для чего нужен и применим его в крайне легком варианте. Также погрузимся в разработку экрана входа...

Разбираемся с новой уязвимостью в Android-библиотеке Jetpack Compose: как открыть любой фрагмент из вашего приложения?

Всем привет! На связи эксперты из Стингрей Технолоджиз – Юрий Шабалин, Веселина Зацепина и Игорь Кривонос. Недавно специалисты из компании Positive Technologies нашли серьезную проблему безопасности в популярной библиотеке для навигации в приложениях Android – Jetpack Compose Navigation . Эта уязвимость позволяет открывать любые фрагменты внутри приложения. К большому сожалению, несмотря на усилия сообщества, об этой уязвимости мало кто знает. Поэтому сегодня мы хотим еще раз подсветить данную проблему с углублением в детали. В статье мы разберем, что из себя представляет библиотека Jetpack Compose и ее основные элементы, в чем заключается уязвимость и насколько она опасна, а также приведем немного статистики по уязвимым приложениям. Интересно? Тогда давайте начинать!

habr.com/ru/companies/swordfis

ХабрРазбираемся с новой уязвимостью в Android-библиотеке Jetpack Compose: как открыть любой фрагмент из вашего приложения?Всем привет! На связи эксперты из Стингрей Технолоджиз – Юрий Шабалин, Веселина Зацепина и Игорь Кривонос. Недавно специалисты из компании Positive Technologies нашли серьезную проблему безопасности в...

Android: Проблема отрисовки в jetpack compose

Привет всем! Хочу поделится одной интересной проблемой (и ее решением), с которой пришлось столкнуться при использовании jetpack compose. Я пишу с нуля программу аренды велосипедов. Соответственно могу использовать современные frameworks и стараться сделать все по феншую :) Для UI я выбрал jetpack compose и использую MVI для взаимодействия между UI и ViewModel. Во ViewModel, отвечающую за взаимодействие с Yandex Map, приходят разные события: если клиент двигает карту, с сервера запрашивается информация о находящихся в этом месте велосипедах, 2-х видах парковок и медленных зонах. Кроме того периодически с сервера запрашивается информация об активной аренде клиентом велосипеда. Все эти данные асинхронно передаются на UI.

habr.com/ru/articles/821433/

ХабрAndroid: Проблема отрисовки в jetpack composeПривет всем! Хочу поделится одной интересной проблемой (и ее решением), с которой пришлось столкнуться при использовании jetpack compose. Я пишу с нуля программу аренды велосипедов. Соответственно...

Shared Element Transition в Jetpack Compose

Привет, Хабр! Меня зовут Артем и я занимаюсь разработкой приложений под Android, а еще с недавнего времени я стал рассказывать об этом. Это текстовый вариант видео на моем YouTube канале Android Insights В этой статье я хочу рассказать о том, как можно оживить ваше приложение, используя Shared Element Transition в Jetpack Compose

habr.com/ru/articles/818957/

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

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

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

habr.com/ru/companies/skbkontu

ХабрКак мы реализовали кнопку со свайпом на Jetpack ComposeВсем привет! Я Женя Мельцайкин, андроид-разработчик в Контуре. В одном из наших продуктов мы тесно работаем с подписанием электронных документов. Электронная подпись документа — это юридически...