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
Неочевидное про Fragment API. Часть 1. Транзакции

Статья от команды Тинькофф, про некоторые интересные моменты из Fragment API, о которых вы могли не знать (add, replace, show/hide, reorderingAllowed, ограниченный lifecycle).

Читать (Ru)
👍13
OkHttp: How to Refresh Access Token Efficiently

Некоторое время назад был пост про рефреш токена через OkHttp Interceptors. И был коммент о том, что мол это никому не нужно, т.к. токен нужно обновлять в Authenticator.

Я тут подумал, что было бы логично закинуть пример обновление токена и через Authenticator.

Вот собственно и сам пример 😉. В статье как раз сравнивются 2 подхода через Interceptors и через Authenticator, ну и описаны принципы их работы.

Читать (En)
👍215
Готовим Window Inset под соусом Jetpack Compose и щепоткой View

Крайне полезная статья с подробным разбором про Window Inset.

👉 Этапы настройки edge-to-edge
👉 WindowInsets vs fitSystemWindow
👉 Примеры обработки insets (System Window Insets, Ime Insets, Stable Insets, etc)

Наиболее распространенные кейсы, это когда Status Bar или Navigation Bar перекрывает вашу разметку. Уверен, многие сталкивались с таким поведением. В статье как раз и рассказывается как с этим работать.

Читать (Ru)
👍14🔥1🤩1
Measuring and drawing in Jetpack Compose

Статья про то, как происходит отрисовка в Jetpack Compose, как работает Measuring и Drawing.

Читать (En)
👍9🔥1
Яндекс запустил единое решение для монетизации мобильных приложений, которое поможет увеличить доходы до двух раз.

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

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

Читать (Ru)
👍15💩5🤡4🔥2🤮2
Актуально ли размещение тематических IT-материалов, после порции утренних новостей?
Anonymous Poll
74%
Да
26%
Нет
🕊13😁8
Почему исключения в Kotlin Coroutines это сложно и как с этим жить?

Статья про обработку исключений в корутинах: особенности обработки исключений, try-catch, CoroutineExceptionHandler, launch, async, coroutineScope, supervisorScope.

Читать (Ru)
👍18🔥4
Design of Kotlin Coroutines

Еще одна, большая статейка с детальным разбором корутин. Как создаются корутины, как работают под капотом, suspend функции, сoroutine state machine.

👉 launch()
👉 start()
👉 invoke()
👉 startCoroutineCancellable()
👉 resumeWithCancellable()
👉 resumeWith()
👉 invokeSuspend()
👉 Summary of coroutine construction

Читать (En)
👍17🔥4🙏1
The Android Platform: The 2022 Android Developer Roadmap

Большая серия статей на основе Android Developer Roadmap, в которых разбираются как базовые штуки типа платформы Android, так и основные компоненты, архитектура, популярные библиотеки, подхоходы к разработке и вот это вот всё.

👉 Part 1: The Android Platform
👉 Part 2: App Components
👉 Part 3: App Navigation and Jetpack
👉 Part 4: Design Patterns and Architecture

Саму карту в виде схемы можно посмотреть в репозитории → Android Developer Roadmap 2022

В избранное
🔥13👍6😐3👏1
Caching with OkHttp Interceptor and Retrofit

Простой гайд как подрубить кеширование запросов в OkHttp.

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

Насколько я помню OkHttp из коробки может обрабатывать кешированные запросы по коду 304 NOT MODIFIED, но для этого нужно, чтоб ваш бэк работал должным образом и при инициализации OkHttp нужно подрубить сам кеш вот так:

OkHttpClient.Builder()
.cache(Cache(context.cacheDir, CACHE_SIZE))
.build()

Читать (En)
👍16🔥3🤔3
Неочевидное про Fragment API. Часть 2. (Не) создаем инстанс

У Тинькофф вышла вторая часть из цикла статей "Неочевидное про Fragment API" про то, как под капотом FragmentContainerView создаются фрагменты, как использовать свою кастомную фабрику для создания фрагментов, транзакции и т.д.

Читать (Ru)
👍13🔥1
How To Replace The Standard Crash Dialog With A Custom Error Screen?

Полезная статья о том, как сделать свой кастомный экран при возникновении креша. Для тех, кто не сталкивался, делается такое через кастомный глобальный ExceptionHandler → Thread.setDefaultUncaughtExceptionHandler(…).

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

Читать (En)
👍21🔥5😁1
Deadlocks in Swift explained: detecting and solving

Неплохая статья, про взаимные блокировки(deadlocks) в Swift. Что такое deadlock, причины возникновения, способы обнаружения и возможные варианты решения.

Читать (En)
🔥3👍2🙏1
New Logcat in Android Studio Dolphin.

Несколько статей про новые фичи Logcat в новой версии Android Studio Dolphin.

👉 NEW Logcat in Android Studio Dolphin is Amazing!
👉 New Android Logcat: Top 5 features
👍9🔥3
Логи в iOS, эпизод 1: os_log

И снова про логи, только на этот раз про логгирование в iOS.

Ребята из Dodo Mobile делятся опытом работы с логами с помощью Console.app.

👉 фильтры
👉 уровни логов
👉 источник лога
👉 os_log

Читать (Ru)
👍6🔥4🍓31
Forwarded from Записки разработчицы (Anna Zharkova)
Итак, этот момент настал 🔥 Релизнулся Kotlin 1.7.20, а вместе с ним и новая модель управления памятью:
https://blog.jetbrains.com/kotlin/2022/09/kotlin-1-7-20-released/

Эпоха статей и докладов про воркараунды и новые костыли закончилась. Время использовать KMM на бою 🔥 если вы еще сомневались и ждали подходящего момента 😉

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

Что еще принесла нам новая версия:
- стабилизация K2 плагина компилятора (JVM-only пока)
- новый оператор ..< (экспериментальная фича)
when (value) {
in 0.0..<0.25 -> // first quarter
in 0.25..<0.5 -> // second quarter
in 0.5..<0.75 -> // third quarter
in 0.75..1.0 -> // last quarter <- note closed range here
}

- Generic inline classes
- Оптимизация кейсов для делегированных свойств (крутой механизм, если еще не пробовали)
- Поддержка JVM IR бэкенда для kapt заглушек

Также появляется возможность кастомизации Info.plist файлов в Kotlin Native
🔥21👍8🎉31
Что посмотреть на выходных. Подборка полезностей👇

Давно не публиковал видосы. На этой недели опубликовали множество докладов с различных конференций, которые решил собрать в один пост. Ну и попутно докинул несколько тематических видосов 😉

👉 Mobius 2022 Spring
👉 Droidcon New York 2022
👉 TechTrain 2022 Spring
👉 The NEW Kotlin 1.7.20: Unboxing and Review
👉 Powerful: Compose toolkit - MAD Skills
👉 Now in Android #69
🔥8👍2👏1
Неочевидное про Fragment API. Часть 3. Навигация

Третья часть от Тинькофф из цикла "Неочевидное про Fragment API", в которой рассматривается на мой взгляд довольно важная тема – Навигация, а именно некоторые подкапотные штуки multi-backstack, который не так давно появился и OnBackPressedDispatcher.

Читать (Ru)
🔥6👍4👏1
Jetpack Compose Clean Navigation

Пример реализации чистой навигации в Jetpack Compose.

Читать (En)
👍132🔥1🤔1💩1
Jetpack compose: Cool Button Click Effects

Статейка про то, как в Jetpack Compose реализовать различные эффекты нажатия кнопки.

👉 Pulsate effect
👉 Press Effect
👉 Shake Effect
👉 Animate the shape

Читать (En)
👍15❤‍🔥2🔥2