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
Гайд по тестированию рекламы для мобильных приложений

Оставлю тут статейку про тестирование рекламы в мобильных приложениях. Вдруг кому-то понадобится.
Фоновая работа в Android: обзор возможностей WorkManager

Каждый разработчик периодически сталкивается с задачами, которые нужно выполнить в фоне, кейсов может быть множество от загрузки/отгрузки больших данных до синка локальной БД с удаленной. И вот тут начинается делема, как же это сделать. Одним из актуальных решений были Services, но потом появился WorkManager.

Если вы его еще не юзали, на хабре есть отличная статейка, в которой демонстрируются его возможности (периодичность выполнения, цепочки, критерии запуска и т.д.). Кстати, WorkManager совместим с Rx и Корутинами, что очень радует.
👍1
Как работа с тикетом «Тормозит скролл в RecyclerView» растянулась на три недели

Крутой доклад о том, как искать узкие места, какими инструментами пользоваться и как оптимизировать скролл.

Достаточно старый, но тем не менее, актуальный доклад и на сегодняшний день.
2021 Best Open Source Android Apps written in Kotlin

Возможно вы уже видели эту подборку, но все же оставлю на канале. Все проекты не смотрел конечно, но вот понравилась организация и структура кода проекта MoneyFlow. Проект написан на Kotlin Multiplatform, Jetpack Compose и Swift UI.

P.S. Собираю материалы по Compose, скоро сделаю крутую подборку с полезными статейками и инструментами 🔥
Получаем результат правильно. Activity Result API.

Как все мы уже знаем, onActivityResult() объявлен deprecated, а на его замену пришел Activity Result API.

Если вы еще не в теме или не успели заюзать, на хабре есть серия статей "Получаем результат правильно". Вот тут первая часть, а вот тут вторая.
Бесплатный курс Kotlin Basics от JetBrains

На платформе JetBrains Academy добавлен бесплатный курс Kotlin Basic, который включает в себя 10 проектов разного уровня сложности, более 120 образовательных тем и более 300 задач по программированию.
Hilt. Подборка полезных материалов.

Если кто-то еще не знает, Hilt – DI библиотека, которая работает поверх Dagger и якобы упрощает жизнь, за счет готовых компонентов и генерируемого bolierplate кода.

Сам я Hilt еще не юзал, поэтому решил закинуть на канал подборку. Возможно кому-то тоже будет полезно.

1. Официальная дока (En)
2. Hilt+Retrofit+Coroutine (Ru). В статье описаны базовые штуки.
3. Hilt еще один DI (Ru). Еще одна статья, в которой описаны основные моменты.
4. Пример проекта (En) с исользованием Hilt, MVVM, Coroutines, Flow.
5. Кратчайшее руководство (Ru) по Hilt
Safe delay in Android Views: goodbye Handlers, Hello Coroutines!

Уверен, все вы использовали Handler для выполнения операций с задержкой (postDelay) и наверняка сталкивались с проблемами/крешами, из-за чего приходилось городить дополнительные проверки – классика. А все потому, что Handler имеет один жирный минус – не имеет привязки к жизненному циклу Activity/Fragment/View.

Для таких кейсов, есть элегантное решение – Kotlin + Coroutine + Lifecycle, для использования, достаточно подрубить несколько зависимостей и использовать экстеншн метод View.delayOnLifecycle(...). В статье можно посмотреть, как все это дело подрубить.
👍3
Что посмотреть на выходных? Подборка полезностей 👇

👉 Performance - MAD Skills. Плейлист MADSkills по производительности приложений.
👉 Android Custom View. Крутые видосы про создание кастомных вьюшек.
👉 Jetpack DataStore. Основы DataStore с примерами кода.
👍1
Android in-app purchases

Один из способов монетизации приложений – встроенные покупки/подписки внутри приложения. На хабре есть целая серия статей от крутых ребят, с подробным руководством по использованию.

Если хотите подрубить в свое приложение или просто разобраться в in-app purchase, закидывайте пост в закладки 😎

Часть 1: конфигурация и добавление в проект
Часть 2: инициализация и обработка покупок
Часть 3: получение активных покупок и смена подписки
Часть 4: коды ошибок от Billing Library и как не облажаться с тестированием
Производительность и скорость: как в Duolingo внедрили MVVM на Android

Статья, о том, как в Duolingo удалось повысить производительность и скорость работы приложения за счет рефакторинга и внедрения MVVM, Android Jetpack, Dagger и Hilt.

👉 количество ANR снизилось на 41%
👉 увеличили frame rate на 28%
👉 на 40% увеличилась скорость прокрутки уроков
Серия статей по работе с Gradle

Достаточно полезные статьи, в которых максимально подробно описаны базовые моменты, конфигурации, зависимости, сборки, таски, плагины и вот это вот всё.

👉 Готовьсь, цельсь, пли! Как не обжечься при сборке Gradle-приложения, и настолько ли всё серьезно?
👉 Gradle Plugin: Что, зачем и как?
👉 Дикая природа Gradle Task: руководство по выживанию
Android in-app purchases: серверная валидация покупок

Вышла 5-я часть цикла статей по реализации Android in-app purchases. В статье рассказывают про то, что такое серверная валидация и зачем валидировать покупки.
Что посмотреть на выходных? Подборка полезностей👇

👉 Mobile QA от создания ферм до тонкостей релиза
👉 Экспертное Android собеседование. Боиштян собеседует Розова
👉 Публичное собеседование по многопоточности в Android / Сергей Боиштян (Авито)

Из собесов я сделал несколько важных заметок, на которые стоит обратить внимание и хотя бы поверхностно знать. Подготовлю материалы и закину отдельным постом 🤟
👍1
Оптимизируем отображение 10 000 объектов на карте

Интересная статья, о том, как в приложении ЦИАН оптимизировали отображение большого количества объектов на карте.

Я бы конечно поспорил на счет приведенных аргументов не использовать кластеризацию, но да ладно 😉
👍1
Improving perceived load times of images using blurred thumbnails — with Glide and custom loaders

Существует такой подход (Progressive image loading), когда картинка загружается частями, нужно это для того, чтобы улучшить воспринимаемое время загрузки. В статье показан 1 из подходов через Glide, с помощью которого можно сделать такую загрузку.

Работает это так: вначале загружается размытая картинка (можно с более меньшими размерами) через
thumbnail
, и параллельно грузится картинка нужного размера.

О загрузке картинок из сети, с вашего бэка. Будет вообще красиво, если на бэке будет использоваться Thumbor – сервис, который поддерживает всевозможные трансформации картинок от ресайзов до различных кропов, фильтров и т.д.
👍1
10 лучших советов по повышению скорости сборки Android-проектов

В статье собраны 10 советов, которые могут ускорить сборку вашего проекта. Обратите внимание на 8 пункт: Использование динамических версий в Gradle зависимостях.

compile 'com.android.support:appcompat-v7:+'


Никогда так не делайте, можно напороться на отсутствие каких-то методов в новой версии или отличное поведение работы той или иной функции. Всегда управляйте версиями зависимостей самостоятельно – проверено 😉.
👍1
Как Telegram оптимизирует изображения перед отправкой на сервер

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

Кстати, если кто не знает – у телеги открытый код, посмотреть на его чудо архитектуру можно тут.
👍4
Как правильно идентифицировать Android-устройства

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

Официальная дока с best practices от гугла тут.
👍1
8 распространенных ошибок при разработке Android-приложений

В статье собраны распространенные ошибки при разработке Android-приложений.

Если коротко: юзайте библиотеки Jetpack, Kotlin, корутины, следите за структурой проекта (строки, цвета), используйте фрагменты и все возможности ConstraintLayout.

Обратите внимание на 7 пункт о возможностях Android Studio – shortcuts и live template реально позволяют ускорить разработку, если по каким-то причинам до сих пор не юзали – обязательно попробуйте.
👍1