Mobile Native ️️ – Telegram
Mobile Native ️️
5.61K subscribers
1.13K photos
20 videos
3 files
1.28K links
Полезные материалы по мобильной разработке. Статьи, подборки, нововведения, анонсы.

Пробустить канал → https://news.1rj.ru/str/mobile_native?boost

Автор: @artemiygreg
iOS / Swift: @swift_tips
Библиотеки и инструменты: @mobile_dev_tools
Митапы: @meetup_today
Download Telegram
Мечтают ли андроиды о Robolectric? Разбираем фреймворк по косточкам

Давненько на канале не было постов, решил немного отдохнуть и перезагрузиться. Чутка отдохнул, а вот перезагрузиться не получилось 😂. Поэтому, разбираю избранное и плавно возвращаюсь в публикациям.

Довольно подробная статья про Robolectric: что это такое, как устроен под капотом, как работает с Android‑компонентами без эмулятора, проблемы и т.д.

Читать (Ru)
👍63🔥3👏1
16 things to know for Android developers at Google I/O 2025

Краткий обзор некоторых анонсов с Google I/O 2025.

🟢Building intelligent apps with Generative AI
🟢One app, every screen: think adaptive and unlock 500 million screens
🟢Material 3 Expressive: design for intuition and emotion
🟢Smarter widgets, engaging live updates
🟢Enhanced Camera & Media: low light boost and battery savings
🟢Build next-gen app experiences for Cars
🟢Build for Android XR's expanding ecosystem with Developer Preview 2 of the SDK
🟢Express yourself on Wear OS: meet Material Expressive on Wear OS 6
🟢Engage users on Google TV with excellent TV apps
🟢Build beautiful apps faster with Jetpack Compose
🟢Kotlin Multiplatform: new Shared Template lets you build across platforms, easily
🟢Gemini in Android Studio: AI Agents to help you work
🟢Android Studio: smarter with Gemini
🟢What’s new in Google Play
🟢Start migrating to Play Games Services v2 today
🟢And of course, Android 16

Плейлист 📹Android at Google I/O 2025

Читать (En) | Смотреть (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍43
Stale Data & Leaks were killing my Kotlin apps for 5 years. Here’s the fix.

Большая и полезная статья про то, как правильно инициировать загрузку и получение данных для отображения в UI, чтоб всё это работало ожидаемо и без утечек памяти.

Читать (En)
👍94🔥3👎1
Всем привет! С первого раза как-то не особо получилось вернуться к публикациям, поэтому пробую ещё раз 😎.

За 1,5 месяца отсутствия активности на канале, в избранном что-то да накопилось. Сейчас разбираю отложенные материалы, поэтому до середины/конца следующей недели вероятно слегка поспамлю, но это не точно 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
12👏3🔥2
Хроника изменений API фоновой работы в Android

Начнём пожалуй со свежого.

Довольно подробная статья про то, как менялись инструменты для фоновой работы в Android: Service, AlarmManager, Doze Mode, JobScheduler и т.д.

Читать (Ru)
👍64🔥3
Эффекты в Jetpack Compose, лежащие на поверхности

Полезная статья про то, как реализовать универсальное решение, которое умеет накладывать различные эффекты(blur, magnifier) поверх готового контента в Jetpack Compose.

Читать (Ru)
👍104🔥3👏1
Ныряем в холодные потоки Kotlin Flow

Базовая статья по основам Kotlin Flow для начинающих.

👉 Термины
👉 Холодные и горячие потоки
👉 Холодные потоки, горячие каналы
👉 Создание Flow
👉 Структура Flow
👉 Пример использования

Читать (Ru)
👍156🤔4🔥2
The Kotlin Flow Operator Cheat Sheet

В догонку ещё один материал про Kotlin Flow – свежая шпаргалка по операторам, с примерами кода.

🟢map, filter, take(n)
🟢reduce, fold, runningReduce/scan,
🟢transform
🟢FlatMapConcat, FlatMapMerge, FlatMapLatest
🟢flowOn, buffer, conflate, collectLatest
🟢zip, combine, merge
🟢catch, onCompletion, retryWhen
🟢onEach, debounce(timeoutMillis), distinctUntilChanged

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥3
Flow Marbles: Interactive diagram of Kotlin Flow

И ещё дополнение к постам выше 😎

В соседнем чате поделились крутым ресурсом – Flow Marbles: интерактивные диаграммы Kotlin Flow.

Читать (En)
🔥9👍32👨‍💻1
Хочешь стать техлидом? Возможно, что не стоит

А вот полезная статья от Абакара, в которой он рассказывает о специфике позиции техлида, ключевых сложностях и подводных камнях.

👉 Точно ли тебе это нужно ?
👉 Техническая подкованность
👉 Отстаивание своей позиции
👉 Стратегическое мышление
👉 Фокусировка внимания
👉 Конфликты
👉 Борьба за ресурсы
👉 Стрессы
👉 Увольнения
👉 Ты — пример

Если целитесь на такую позицию – обязательно почитайте.

Читать (Ru)
👍9🔥43
Создание кастомного тултипа Jetpack Compose

Пошаговый гайд по созданию гибкой и удобной системы тултипов в Jetpack Compose, с помощью модифайеров и специального оборачивающего блока.

Читать (Ru)
👍11🔥74
Развеиваем мифы о Stability в Compose: оптимизации Strong Skipping

Ещё про Compose. Интересная статья, в которой автор рассказывает, как лямбды и strong skipping режим влияют на работу компилятора и на рекомпозицию.

Выводы и рекомендации от автора

🟢Compose стал более агрессивно оптимизировать пропуск Composable функций, когда параметры не изменились.

🟢Акцент в отдладке Compose сдвигается от метрик и отчетов к отладке на основе LayoutInspector и других инструментов, потому что метрики и отчеты говорят слишком мало о реальной производительности компонентов.

🟢Чтобы обновить UI, используя нестабильные аргументы, нужно создать новый инстанс такого аргумента в памяти, и метод copy дата-классов для этого отлично подходит.

🟢При работе с коллекциями для оптимизации рекомпозиций больше не нужно использовать Immutable Collections, однако придется обновлять их с созданием нового инстанса. Альтернатива использовать - SnapshotStateList.

🟢При работе с лямбдами для максимальной производительности нужно захватывать только те объекты, которые действительно нужны: если нужно только одно поле класса, лучше прочитать поле в отдельную переменную и сослаться на нее.

Код экспериментов из статьи → ComposeStability

Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥135👍3👌1
Типобезопасная передача результатов между экранами в Compose с Jetpack Navigation

Разработчик core-команды Wildberries рассказывает как они в проекте решили обеспечить типобезопасность при передаче результатов между экранами с применением библиотеки Compose Navigation.

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

Читать (Ru)
👍4👎32🔥1
Видим невидимое: контроль качества Android-библиотек через объектив AppTracer Lite SDK

Разработчик AppTracer Lite SDK(аналог Firebase Crashlytics) рассказывает про возможности инструмента и подводные камни, с которыми столкнулся при разработке.

Подход в статье универсален, может быть применим к любой библиотеке.

👉 Что такое AppTracer SDK
👉 Как трекать качество библиотеки
👉 Собираем краши
👉 Логируем аналитику
👉 Собираем метрики производительности
👉 Обфускация
👉 Crash-free интеграция Tracer
👉 Поддержка отключения Tracer в библиотеке
👉 Заключение

На данный момент AppTracer Lite SDK доступен только для внутреннего использования, но если вы хотите интегрировать его к себе пишите в чат @tracer_feedback

Читать (Ru)
🔥64👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Creating an Engaging Progress Button in Jetpack Compose

Гайд по реализации вот такой кнопки с прогрессом на Jetpack Compose.

Исходный код → ProgressButton

Читать (En)
👍12🔥52
Под капотом Android: как создаются, управляются и восстанавливаются процессы приложений в системе

Большая и полезная статья с разбором ключевых системных компонентов (Zygote, SystemServer, AMS, Binder) и процесса восстановления состояния через Bundle.

Читать (Ru)
613👍5👎2🔥2
Погружение в разработку плагинов для Android Studio

Вторая часть про разработку плагинов для Android Studio. В этой статье рассматривается пошаговая реализациия более продвинутого плагина – Запускатель UI-тестов.

Предыдущая часть тут.

Читать (Ru)
🔥6👍42
Exploring PausableComposition internals in Jetpack Compose

В Compose версии 1.9.X представили новый внутренний API – PausableComposition, который, как утверждается, решает проблемы с производительностью.

В статье подробный разбор: что это такое, как устроено под капотом и для чего может пригодиться.

Читать (En)
👍62🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Swipe to Pay, или Как мы переписали слайдер оплаты на Compose

Полезная статья, в которой разработчик из Dodo Engineering подробно разбирает процесс создания достаточно сложного и прикольного компонента на Compose.

Читать (Ru)
🔥114👍4
The dark corners of inline, crossinline, and reified in Kotlin

Статья про возможные проблемы при неправильном использовании inline, crossinline и reified в Kotlin.

👉 The promise and peril of inline
👉 Why crossinline matters in suspending contexts
👉 Reified: type-safe builders and beyond
👉 Debugging and testing inline code
👉 Checklist for safe use

Читать (En)
🔥5👍43