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
View Model не обязательно наследоваться от ViewModel

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

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

В статье рассматриваются возможные варианты утечек во фрагменте и как их можно избежать.

Ну и напомню про существование библиотеки LeakCanary от Square, с помощью которой можно отследить утечки.
👏1
Гайд по использованию Material Transitions

Когда в приложении есть анимации, работа с приложением для пользователей кажется более приятной и плавной, хоть и анимация по сути никак не влияет на функциональность. Меня прикалывают всевозможные анимации, особенно, когда на это не нужно тратить много времени 😁

Вот неплохая статья, в которой автор показывает, как добавить анимации переходов в свое приложение. Всё относительно просто 😉
Ну что, вот и зарелизили Compose. Для кого-то, это крутая новость, для кого-то не очень. Моё мнение на этот счет – вообще пофиг 😁. На данный момент к Compose отношусь скептически.

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

Полезные материалы про Compose на канале будут, вдруг в будущем понадобится 😉

А вы готовы юзать или уже юзаете Compose в проде?
Полезные Kotlin расширения для Android

В статье собрано несколько полезных Kotlin расширений, с помощью которых можно более эффективно работать с API в Android.
Несколько бесплатных ресурсов для изучения Android разработки на Kotlin. Полезно будет начинающим.
В Room версии 2.4.0-alpha04 добавили поддержку
Map
для возвращаемых типов, что очень удобно для использования запросов с Join.

На хабре есть пример использования от нашего коллеги.
Mailru Group открывает набор на бесплатные курсы по мобильной разработке

Mail•ru Group запускает два бесплатных курса по Android- и iOS-разработке для студентов вузов Москвы и Санкт-Петербурга. За один семестр вы освоите базовые навыки мобильной разработки, научитесь работать в команде и сможете с нуля создать собственное приложение.

Лучшие выпускники получат возможность присоединиться к командам Юлы, AliExpress России, Одноклассников и другим проектам экосистемы VK.

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

На дворе 2021 год, но до сих пор встречаются такие подходы как: проброс каких-нибудь интерфейсов, взаимодействие через host activity, статичные поля 😳 и т.д. Глядя на это все возникает вопрос – зачем? То ли разработчики не следят за развитием системы, то ли лень разбираться, либо я хз как это объяснить. В эпоху Jetpack, выглядит это мягко говоря не очень.

Существует несколько нативных, нормальных подходов к коммуникации между фрагментами, один из которых – расшарить ViewModel, второй – использовать Fragment Result Listener.

Вот статейка на хабре про использование Fragment Result Listener. Официальная дока к построению коммуникации между фрагментами тут.
Template на примере формирования списков в Android

Полезная статья, в которой показано, как с помощью паттерна Шаблонный метод сделать более читабельный и лаконичный код, без кучи блоков if else. Но нужно понимать, что паттерн имеет как плюсы, так и минусы. Поэтому использовать нужно с умом и по ситуации, впрочем, как и большинство паттернов 😉
Kaspresso tutorials. Часть 1. Запуск первого теста

Авторы Kaspresso запускают большую серию статей-туториалов о Kaspresso в частности и UI-тестах под Android в общем. Если кто не знает, Kaspresso – это фреймворк для автотестирования c удобным синтаксисом и дополнительными плюшками, разработанный крутыми чуваками android сообщества.

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

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