M
Mobile Native ️️
19.04.2026 23:56 · 👁 3K
Kotlin Coroutine bridges: converting any callback-based Android API to suspend functions
Полезная статья, в которой показывается, как можно преобразовывать любые коллбэк-ориентированные Android API в suspend-функции используя suspendCoroutine.
👉 The fundamental problem: Callbacks do not compose
👉 The core bridge: suspendCoroutine
👉 Success and error callbacks: The two-path bridge
👉 The callback factory: Abstracting interface boilerplate
👉 Multi-value callbacks: Wrapper classes
👉 Exception hierarchies: Preserving error semantics
👉 The Result<T> variant: Exceptions are not always what you want
👉 The lambda convenience layer: Bridging before the bridge
👉 Real-world application: Bridging Google Play Billing directly
👉 suspendCoroutine versus suspendCancellableCoroutine
👉 Applying the pattern beyond billing
👉 Common mistakes to avoid
Читать (En)
M
Mobile Native ️️
19.04.2026 13:49 · 👁 2.3K
Маяк в пустыне: Kotlin DSL для Android-шейдеров
В статье автор рассказывает про сложности и неудобства работы с шейдерами в Android, из-за чего он заморочился и написал библиотеку, которая оборачивает всё это добро в типизированный Kotlin DSL.
👉 почему голый AGSL в Android-коде быстро начинает утомлять
👉 как выглядит тот же шейдер в RedByteFX
👉 четыре учебных примера - от простого к сложным эффектам
👉 как устроен DSL: координаты, uniform-ы, let(...), fn(...), sample(), sampleUv(), стандартная библиотека и интеграция с Compose;
👉 где библиотека реально выигрывает, а где у неё есть честные ограничения.
Библиотека не подменяет исполнение, нативный AGSL по-прежнему исполняется на устройстве и работает по принципу Kotlin DSL → сгенерированный AGSL → RuntimeShader / RenderEffect.
Библиотека на GitHub → RedByteFX
Читать (Ru)
M
Mobile Native ️️
08.04.2026 13:08 · 👁 2.6K
Разбираем Remote Compose: как Google предлагает строить BDUI
Обзорная статья от ребят из Альфа-Банк про недавно анонсированный Remote Compose от Гугла.
👉 Что делает Remote Compose особенным
👉 Как устроен Remote Compose
👉 Практическое использование
👉 Плюсы / Минусы
Читать (Ru)
M
Mobile Native ️️
05.04.2026 23:59 · 👁 2.7K
Как я пытался чинить анимацию в Jetpack Compose LazyColumn
Интересная статья от разработчика из ТБанка про то, как они решали проблему рассинхронизации анимаций айтемов в LazyColumn – когда один из айтемов меняет свои размеры, анимация второго айтема происходит с временным лагом.
В статье разбирается, почему возникает рассинхрон, как устроен механизм анимаций внутри LazyColumn, почему кастомный animateItem обречен с самого начала и к какому решению в итоге пришли.
Читать (Ru)
M
Mobile Native ️️
03.04.2026 05:45 · 👁 2.3K
How Compose Preview Works Under the Hood
Интересная статья, в которой подробно разбирается процесс отрисовки Compose Preview в Android Studio.
👉 The fundamental problem: Rendering the uncallable
👉 The @Preview annotation: Metadata, not behavior
👉 From annotation to XML: How Studio discovers previews
👉 ComposeViewAdapter: The orchestrator
👉 ComposableInvoker: Calling the uncallable
👉 Inspectable: Enabling the tooling bridge
👉 From composition to ViewInfo: Mapping pixels to source code
👉 Running previews on device: PreviewActivity
Читать (En)
M
Mobile Native ️️
02.04.2026 21:27 · 👁 2.3K
Как безопасно хранить и открывать пользовательские файлы локально в Android
Статья про безопасное хранение и открытие пользовательских файлов локально в Android.
👉 Получаем файл от пользователя
👉 Сохранение в зашифрованном формате
👉 Как стороннее приложение может безопасно прочитать ваш зашифрованный файл
👉 Создание ParcelFileDescriptor
👉 Создание корректного URI для FileDecryptionContentProvider
👉 Рефлексия шифрования
Читать (Ru)
M
Mobile Native ️️
25.03.2026 23:01 · 👁 2.5K
Как заставить Android Studio ругаться на код по вашим правилам: создаем пользовательские Lint и Detekt
Объемная и полезная статья про статические анализаторы кода Android Lint и Detekt. Как с их помощью упростить себе жизнь, заставив Android Studio ругаться на код по вашим правилам.
В качестве примера показывается как создать практические правила для обоих инструментов и как их внедрить в проект. На примере Lint рассматривается контроль архитектуры пакетов и обязательную документацию с QuickFix, а на примере Detekt – проверка неизменяемого состояния представления без Android-зависимостей и миграцию с RxJava на Coroutines.
P.S. Шёл 2026 год – RxJava 😳
Читать (Ru)
M
Mobile Native ️️
23.03.2026 19:19 · 👁 2.2K
WWDC26 A week of technology, creativity, and community
В этом году WWDC26 пройдёт с 8 по 12 июня. Посмотреть видео можно будет:
На Youtube: AppleDeveloper
На сайте: developer.apple.com
В приложении для разработчиков: AppleDeveloper
M
Mobile Native ️️
26.02.2026 06:15 · 👁 3.6K
Безопасный обмен данными между приложениями на Android: intents, URI schemes, shared preferences
А вот небольшая, но полезная статья про межпроцессное взаимодействия в Android, в которой рассматриваются различные способы обмена данными между приложениями и как это делать безопасно.
👉 Intents: стандартный способ что-то сломать
👉 URI schemes: когда браузер становится посредником
👉 Shared Preferences: когда приватное становится публичным
👉 Content Providers для межпроцессного обмена
Читать (Ru)
M
Mobile Native ️️
25.02.2026 22:53 · 👁 3.4K
Ахиллесова пята SharedPreferences и стоит ли внедрять Datastore как альтернативу
Всем привет! Ну что, как вы? Телегу обещают в скором времени заблочить, поэтому считаю это лучшим временем вернуться к публикациям 😃
На канале 2 месяца не было постов, пошёл я значится разгребать отложенные материалы, смотреть новые и знаете что я увидел? Правильно, ничего принципиально интересного 😃
Поэтому вот вам из свежего – полезная и интересная статья с исследованием производительности SharedPreferences и Datastore, графиками и сравнением обоих подходов.
P.S. Странно, что такая, казалось бы технологичная компания и до сих пор не внедрила Datastore 🤔
Читать (Ru)