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
Погружение в JNI: проблемы и решения при взаимодействии между JVM и нативным кодом

Разработчик из Яндекс Браузера рассказывает про взаимодействие с нативным С++ кодом из Android, подводные камни и проблемы, с которыми может столкнуться разработчик в процессе написания нативных библиотек, а также методы их обхода.

🟢Что такое JNI и для чего используется
🟢Пример реализации простой JNI‑библиотеки, способы сборки и интеграция в Android
🟢Кейс: интеграция библиотеки Алисы в мобильный Яндекс Браузер
🟢Подводные камни и проблемы
🟢Полезные инструменты для разработчика

Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥32
Загрузка данных во ViewModel: рекомендации и Flow-based архитектура

Перевод на Хабре вот этой статьи, про паттерны загрузки данных во ViewModel.

Читать (Ru)
🔥137👀6👍4👎3
Exploring 5 Lesser-Known Compose Components

В статье рассматривают 5 малоизвестных Jetpack Compose компонентов, с примерами кода когда и как их использовать.

➡️ TriStateCheckbox
➡️ SegmentedButton
➡️ RangeSlider
➡️ Badge
➡️ Tooltip

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🔥2
Погружаемся в недра Retrofit

Такое мы читаем 🔥

Абакар (главный техлид в Альфа-Банке) продебажил Retrofit и написал мощную статью, в которой рассказывает, что происходит с функциями в интерфейсе Retrofit сервиса, когда мы помечаем их ключевым словом suspend.

Читать (Ru)
🔥13👍75
The Art of Shadows in Jetpack Compose

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

Читать (En)
👍74🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Glitch Effect in Jetpack Compose

Статья с примером реализации вот такого "Глитч" эффекта в Jetpack Compose.

Читать (En)
6🔥5👍4
Почему моё Android-приложение крашится?

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

👉 Zygote и запуск приложений
👉 Как Android обрабатывает непойманные исключения?
👉 Кто сообщает о краше?
👉 Почему в итоге приложение закрывается?
👉 А можно ли сделать так, чтобы оно не закрывалось?

Читать (Ru)
👍7🔥52🥰1👀1
The Golden Rule of Coroutine Exceptions

Ещё одна большая статья с примерами про обработку ошибок в корутинах.

👉 The launch Builder
👉 The async Builder
👉 Parent-Child Relationships (coroutineScope)
👉 Isolating Failures (supervisorScope)
👉 The Global Catcher (CoroutineExceptionHandler)
👉 async Within a supervisorScope
👉 Cancellation is a Special Kind of Exception
👉 Unstoppable Cleanup with NonCancellable
👉 Nested Scopes & Propagation
👉 The Job Hierarchy in Detail
👉 supervisorScope vs CoroutineScope(SupervisorJob())
👉 Handling Timeouts
👉 Exceptions When Awaiting Multiple Jobs

Читать (En)
216👍5🔥4
Kotlin Mutex: Thread-Safe Concurrency for Coroutines

А вот достаточно крутая статья про то, как писать потокобезопасный код используя Kotlin Mutex с Корутинами. Там и кейсы, и ошибки, и лучшие практики, в общем всё как мы любим 🔥.

👉 What is Mutex?
👉 Core Use Cases for Mutex
👉 Best Practices
👉 Mutex vs. Other Synchronization Methods
👉 Common Pitfalls
👉 Performance Considerations
👉 Real-World Example: Thread-Safe Repository
👉 Testing Mutex-Protected Code
👉 Final Thoughts

Читать (En)
16👍134🔥3
К вопросу о шифровании данных на мобильных устройствах бизнес-пользователей

Название статьи кажется несовсем подходящее, т.к. про мобилки там совсем малая часть, но для общего понимания принципов и механики шифрования данных – почитать можно.

👉 Процесс шифрования данных
👉 Симметричные алгоритмы шифрования
👉 Асимметричные алгоритмы шифрования
👉 Шифрование на Android с помощью библиотек Cipher и SQLCipher
👉 Шифрование по ГОСТ: есть ли перспективы?

Читать (Ru)
👍10🔥42
This media is not supported in your browser
VIEW IN TELEGRAM
Pulse Indicator in Jetpack Compose

Пример реализации вот такого пульсирующего индикатора на Jetapck Compose.

Читать (En)
👍12🔥43
The LeakCanary Method

Новый материал про детект утечек памяти с помощью LeakCanary.

В статье рассказывается про процесс исследования, автоматизацию поиска утечек и как использовать YourKit поверх LeakCanary для поиска первопричин серьёзных утечек памяти.

Читать (En)
🔥75👍4👎1
Inside Kotlin Coroutines: State Machines, Continuations, and Structured Concurrency

Большая, свежая статья про внутрянку Корутин.

👉 Introduction
👉 A Primer on Finite State Machines (FSM)
👉 Suspending Functions and the suspend Keyword
👉 Deconstructing the State Machine: How Kotlin Compiles Coroutines
👉 Understanding State Machine Execution
👉 Pointer Movement: Resuming Execution After Suspension
👉 Exception Handling in Coroutines
👉 Cancellation Mechanics
👉 Structured Concurrency: The Complete Picture
👉 Performance and Advantages

Читать (En)
👍10🔥53
Актуальные практики работы в фоне Android-приложений

В статье рассматриваюся актуальные инструменты для работы в фоне, которые работают на последних версиях ОС и как их правильно использовать.

👉 WorkManager
👉 JobScheduler
👉 Foreground Service
👉 Специализированные API (AlarmManager, DownloadManager, Geofencing)

Читать (Ru)
🤝10👍6🔥4
How to simplify State and Entity mappings with Kotlin interfaces, delegation and covariant generics

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

👉 Understanding the Foundation: Data Classes in Android
👉 The Challenge: Adding Multi-Selection
👉 Internal ViewModel State
👉 Single State Class with Private Properties
👉 The Power of Interfaces

Читать (En)
👍104🔥4🤔3👎2
The Real Difference Between withContext and launch

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

Читать (En)
👍12🔥85👎3
Live Updates на Android: где макеты врут, a SDK ставит границы

Разработчик из Dodo Engineering рассказывает как они завозили Live Updates и с какими проблемами столкнулись.

Если коротко – не всё так радужно, как может показаться. Начиная от документации и заканчивая ограничениями в кастомизации и тестировании на эмулях.

Если планировали внедрять Live Updates, обязательно почитайте статью, вероятно сэкономите какое-то время.

Читать (Ru)
👍7🔥43
Основы AGSL для Android-разработчика

Отличная базовая статья по шейдерам, с несколькими примерами.

👉 Зачем появился AGSL
👉 Где AGSL хорош, а где он не про это
👉 А если устройство с API < 33?
👉 Как AGSL вплетается в Android и Compose
👉 Пример 1: Анимированный градиент
👉 Пример 2: Ripple - интерактивная волна от тапа на экран
👉 Пример 3: Летящая звезда - AGSL как мини-рендер сценки
👉 Заключение

Исходный код на GitHub → AGSL-Basics

AGSL (Android Graphics Shading Language) – это язык фрагментных шейдеров, встроенный в сам графический стек Android, так что эффекты применяются прямо на уровне отрисовки интерфейса.

Читать (Ru)
🔥9👍43
🎓Систематизируйте знания о мобильном тестировании с бесплатным курсом

Практикующие эксперты из Selectel, Ozon, Спортс” и других компаний подготовили бесплатный курс по мобильному тестированию. Он будет полезен для изучения основ и для прокачки карьеры в мобильной разработке.

На курсе вы узнаете или освежите в памяти, как:
▫️ проверять мобильные приложения с учетом специфики разных платформ;
▫️ работать с API, логами и трафиком на эмуляторах и реальных устройствах;
▫️ автоматизировать тестирование через Jenkins или GitHub Actions.
👉Смотрите полную программу и начинайте обучение: https://slc.tl/c1qcv

Реклама. АО "Селектел". erid:2W5zFJD259S
🔥4👍32
Управление потоком в Kotlin Flow

Полезная статья, в которой рассказывается как управлять потоком в Kotlin Flow и какие операторы использовать для решения проблемы быстрого пользовательского ввода(наиболее популярный кейс когда пользователь быстро печатает, например при поиске).

Читать (Ru)
🔥6👍4👎32👌1