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
Paint the Stars — Drawing with Compose and Canvas

Если вдруг вам нужно отрисовать вот такие звёздочки с планетами, на Canvas в Jetpack Compose, вот вам статья 😉

Читать (En)
🔥104👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Compose Animations Playground

Репозиторий с набором различных анимаций для Compose Multiplatform.

GitHub → ComposeAnimationsPlayground
👍8🔥4🤔2
Решение проблемы race condition в Kotlin корутинах

Статья с разбором и примерами различных способов решения проблемы race condition в корутинах.

👉 Mutex
👉 Атомарные операции
👉 Channels
👉 Actors
👉 Semaphore
👉 SharedFlow или StateFlow

Читать (Ru)
7🔥14👍43🤔1
Как в eXpress достигали мгновенного рендера отправки сообщения: оптимизация локальной базы данных

Разработчица из мессенджера eXpress рассказывает как они оптимизировали работу приложения, а именно ускоряли процесс отрисовки отправленного сообщения.

В этой статье речь пойдет только о работе с локальной базой данных. Оптимизация БД — лишь часть большой работы, мы расскажем про наши решения по оптимизации presentation слоя в других статьях.


Читать (Ru)
🔥9👍73👎1
Самые весёлые TODO из Android-фреймворка

В выходной день предлагаю почитать фановый материал от Абакара, с подборкой забавных тудух и комментов из AOSP.

Читать (Ru)
🔥13😁8👍5👎1👀1
iOS 18 для разработчиков: Ключевые изменения в UIKit

Большая статья с обзором нововведений и самых интересных обновлений UIKit в iOS 18 — новый TabBar, анимации, совместимость UIKit/SwiftUI и т.д..

🟢Сравнение кода в iOS 17 и iOS 18
🟢Новый TabBar в iPadOS 18
🟢Плавные переходы (fluid transitions)
🟢Animations
🟢Gesture recognizers
🟢Automatic trait tracking
🟢List environment trait
🟢UIUpdateLink
🟢Symbol animations
🟢Sensory feedback
🟢Text improvenments
🟢Writing Tools support

Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3🔥31
Mastering Android ViewModels: Essential Dos and Don’ts Part 5

Пятая часть из цикла Mastering Android ViewModels, по лучшим практикам работы с ViewModel.

В этой части рассматривается

👉 Избегание хардкода Coroutine Dispatchers
👉 Использование тестирования для ViewModels
👉 Избегание раскрытия suspend функций

Читать (En)
4👍8🔥73
Партнеры РСЯ смогут подключиться к мобильной аналитике AppMetrica в несколько кликов

AppMetrica упростила процесс получения доступа к расширенной аналитике, для этого достаточно:

👉 Зарегистрироваться в AppMetrica под логином в РСЯ или Adfox
👉 Заполнить профиль
👉 Связать с AppMetrica приложения, которые монетизируются с РСЯ
👉 Подтвердить согласие на передачу данных

После этого данные начнут подгружаться автоматически.

Если вы уже работаете с AppMetrica, вам нужно только добавить связь с приложением Yandex Mobile Ads SDK.

Читать (Ru)
🔥53👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Implementing Overslide interaction in Jetpack Compose

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

А в предыдущей статье автора, можно почитать про реализацию overscroll эффекта.

Читать (En)
8🔥11👍54👏1
How to implement Linear Gradient with any angle in Jetpack Compose

Стандартная реализация градиента в Jetpack Compose вполне подходит для примитивных кейсов, но если вы например захотите отрисовать градиент под кастомным углом – не получится, такой настройки нет.

Вот тут статья c примером реализации отрисовки градиента по формуле, а вот тут пример кода.

Пример кода на GitHub → Linear-Gradient-Any-Angle

Читать (En)
5👍73🔥2
Главный метод Android-приложения

Короткая статья про главный Java метод main: где и в какой момент он вызывается, в контексте Android-приложения и какое отношение к этому имеет ActivityThread и Zygote.

Читать (Ru)
👍17🔥65
Forwarded from Swift Tips
iOS Performance Optimization

Репозиторий с подборкой различных ресурсов/статей по оптимизации перфоманса iOS приложений.

🟢Reduce App Size
🟢Reduce Build time
🟢App Launch time
🟢App Runtime
🟢App Hang
🟢Memory usage
🟢CI

GitHub → iOS-Performance-Optimization
Please open Telegram to view this post
VIEW IN TELEGRAM
64👍4🔥2
Используем Yandex MapKit с Compose Multiplatform

Yandex MapKit KMP SDK - неофициальная библиотека для работы с Yandex Mapkit на Kotlin Multiplatform.

В статье автор рассказывает про применение этой библиотеки в проектах на Compose Multiplatform. Библиотеку можно рассматривать как расширенный интероп MapView с UI на Compose для Android таргета, а можно как добавление поддержки Yandex MapKit SDK в common код с модулем для интеграции в Compose UI для Android/iOS приложений.

В предыдущей части можно почитать про разработку библиотеки.

Библиотека на GitHub → Yandex MapKit KMP SDK

Читать (Ru)
👍10🔥21😁1
Тактильный отклик в мобильных приложениях: что это такое, когда использовать и зачем?

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

👉 Что такое тактильная обратная связь?
👉 Разница между тактильной обратной связью и виброоткликом
👉 Чем полезен тактильный отклик
👉 Когда использовать тактильный отклик
👉 Советы по внедрению тактильного отклика
👉 Примеры в приложениях
👉 Самое главное
👉 Заключение

Тактильная обратная связь (или haptic feedback) — использование сложных вибрационных паттернов и виброволн для передачи информации пользователю. Если говорить проще и понятнее:

Тактильный отклик — это способ, с помощью которого устройства могут «говорить» с нами с помощью вибраций.


Читать (Ru)
5🔥103👍2
Как написать Android приложение, которое не будет стыдно положить в портфолио

Большой гайд для новичков, в котором пошагово рассказывается и показывается, как с нуля разработать Android-приложение, используя лучшие архитектурные подходы – Clean Architecture и MVVM с элементами MVI, которые обеспечат поддерживаемость, тестируемость и масштабируемость, что особенно важно для сложных и долгосрочных проектов.

Код на GitLab → Just Notes

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

Читать (Ru)
11👍135🔥4👎3
Как устроен сборщик метрик Android-проекта

Android-разработчик из команды VK ID SDK рассказывает, как они писали плагин для сбора метрик и с какими проблемами столкнулись.

👉 Старт
👉 Выбор решения
👉 Архитектура решения
👉 Хранилище метрик
👉 Подсчёт диффа метрик
👉 Работа с репозиторием
👉 Внутреннее устройство метрики
👉 Метрика размера SDK
👉 Gradle-плагин
👉 Заключение

Исходный код на GitHub → Metrics

Читать (Ru)
🔥43👍3
Как я писал суперкастомизированное Android-приложение в 2024 году

Автор рассказывает, как писал Android-приложение для отображения анимации алгоритмов сортировки, практически полностью на своих, самописных решениях 😱.

Без этих ваших компоузов, вьюмоделей и прочей хрени, всё по-серьёзному 😎 – кастомные вьюшки, со своей навигацией и т.д.

Код на GitHub → AlgoSorts

Читать (Ru)
👍15👎15🔥1🤔1
The beauty of Kotlin Type System

Статья с подробным разбором и примерами системы типов в Kotlin(Any, Nothing, Optional).

Перевод от AppTractor → Красота системы типов Kotlin

Читать (En)
👍11🔥32
Расширенная шпаргалка по корутинам Kotlin

Перевод на Хабре вот этой статьи – большая шпаргалка-справочник по корутинам.

Читать (Ru)
14🔥13👍63👌1
Kotlin Under the Hood: Exploring Objects, Companion Objects, and Annotations: JvmStatic, JvmField, JvmOverloads

Сразу 2 статьи про Objects в Kotlin: как работают под капотом, во что компилируются и интероп с Java.

👉 Exploring Objects, Companion Objects, and Annotations
👉 Understanding Companion Objects in Kotlin
7🔥133👍2👌1
Modeling ViewModel State in Android: A Guide to Clean, Scalable Patterns

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

Читать (En)
🔥7👍32👌1