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
Git.pdf
641.1 KB
Ловите шпаргалку по Git
🔥20👍7❤‍🔥22👏2
Обзор библиотек для скриншот-тестирования Android проектов

Первая часть с обзором библиотек для скриншот-тестирования.

👉 Facebook* Screenshot Testing Library
👉 Shot
👉 Paparazzi
👉 Dropshots

Читать (Ru)
🤔7👍6🔥2
Tools and tips I wish I knew when I started Android development

Несколько инструментов и советов для начинающих.

👉 JetBrains Toolbox
👉 Android codelabs
👉 ADB Idea
👉 Timber
👉 GitKraken
👉 Now In Android
👉 Material Symbols
👉 Android roadmap
👉 Android Developers on YouTube

Читать (En)
🔥105👍5💩4
Migrate to Jetpack Compose

Гугл видимо начал дополнять доку по Jetpack Compose и уже добавили/обновили несколько коротких гайдов по миграции на Jetpack Compose.

👉 Migrate RecyclerView to Lazy list
👉 Migrate CoordinatorLayout to Compose
👉 Migrate Jetpack Navigation to Navigation Compose
👉 Migrate from Material 2 to Material 3 in Compose
👉 Window insets in Compose
👉 Lists and grids
👉 Other considerations
🔥10👍42
Настраиваем CI/CD для тестовой инфраструктуры Android

Гайд по настройке CI/CD для тестовой инфраструктуры и интеграции между Kaspresso, Allure TestOps и Gitlab CI.

👉 Загрузка результатов тестов из Gitlab
👉 Аутентификация Gitlab сборки
👉 Настройка GitLab проекта для загрузки тестовых данных
👉 Создание скрипта сборки

Читать (Ru)
👍121🔥1🤔1
Eliminating coroutine races

Статья с примерами races condition в корутинах и вариантами решения.

Читать (En)
👍8🔥21
A flexible, modern Android app architecture: complete step-by-step

Продолжение к статье с примером реализации гибкой, современной архитектуры в Android, которая соответствует различным принциам(SOLID, Dependency Inversion, etc).

Принципиально ничего нового, всё те же слои, вьюмодели, юзкейсы и т.д., но всё же.

Предыдущая статья от автора – How to architect Android apps: a deep dive into principles, not rules

Читать (En)
👍13🔥32
Jetpack compose — How to implement Custom Pager Indicators

Еще одна статья с примером реализации кастомных Pager ииндикаторов на Jetpack Compose с различными эффектами анимации.

Читать (En)
👍93🔥1
Leveraging Kotlin Operator Overloading In Android Clean Architecture Use Case Classes

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

А если поиграться с неймингом, могут получиться весьма красивые вызовы. Что-нибудь типа 👇

val getUserProfile: GetUserProfileUseCase…

и затем вызываем – getUserProfile()

Читать (En)
5👍3👎1🔥1👏1
Kotlin 1.9.0 Released

Там это, Kotlin 1.9.0 зарелизился.

• New Kotlin K2 compiler updates
• Stable replacement of the enum class values
function
• Stable ..< operator for open-ended ranges
• New common function to get regex capture group
by name
• New path utility to create parent directories
• Preview of Gradle configuration cache in
Kotlin Multiplatform
• Changes for Android target support in
Kotlin Multiplatform
• Preview of custom memory allocator in
Kotlin/Native
• Library linkage in Kotlin/Native
• Size-related optimizations in Kotlin/Wasm

Читать (En)
👍93🔥3👏1🤔1🤮1
Kotlin Enums — Replace values() with entries

В Kotlin 1.9.0 на замену values() в Enum пришло property entries.

В чём отличия можно почитать в статье.

Читать (En)
👍14🔥4🤔2
Как я перестал волноваться и полюбил ошибки в Kotlin корутинах: Мифы обработки ошибок в корутинах

Объяснения и правила которые помогут проще разобраться как работает механизм обработки ошибок в корутинах.

Читать (Ru)
🔥17👍3👏1
Делаем эмулятор Android через Terminal

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

👉 Установка инструментов
👉 Создание шаблона
👉 Создание эмулятора
👉 Конфигурация
👉 Запуск

Читать (Ru)
👍13🔥2🤔1
10 Questions and Answers about ViewModels in Android

10 часто задаваемых вопросов на собесах про ViewModel.

👉 What is a ViewModel?
👉 How does a ViewModel differ from an Activity or Fragment?
👉 How do I create a ViewModel?
👉 What is the purpose of a ViewModelFactory?
👉 How do ViewModels communicate with Activities or Fragments?
👉 Can ViewModels hold references to the Context?
👉 How do ViewModels handle configuration changes?
👉 Can I share data between multiple Fragments using a ViewModel?
👉 Can I test ViewModels?
👉 Can ViewModels replace the need for saving data in onSaveInstanceState()?

Читать (En)
🔥10👍41
Храним краску с умом: как организовать ресурсы в многомодульном проекте

Разбор нескольких способов организации хранения ресурсов в многомодульных проектах.

Тулза для автоэкспорта ресурсов из Figma → FigmaExport
Пример кода → Brandbook-sample

Читать (Ru)
👍101👎1🔥1🤔1
От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin. Часть 1.

Разбор изменений реализации примитивов синхронизации из стандартной библиотеки Java и пакета java.util.concurrent для Kotlin Coroutines и для языка Kotlin в целом.

Какие реализации примитивов синхронизации потоков актуальны в контексте корутин, а какие надо использовать с осторожностью и готовность текущих решений к использованию в Kotlin Multiplatform.

В статье рассматриваются

👉 Критические секции
👉 Атомарные переменные
👉 Реактивные переменные
👉 Барьерная синхронизация

Читать (Ru)
👍21🔥9👎21🥴1
Как мы запускали демоприложения

Статья от ребят из Тинькофф, в которой рассказывается как они ускорили синхронизацию и сборку проекта, состоящего из ~1000 модулей, решили проблему лагающей Android Studio с помощью демоприложений, уменьшили простой и улучшили продуктивность разработчиков.

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

Читать (Ru)
👍14🤔32💩2❤‍🔥1👎1🔥1
Работа с асинхронными операциями с помощью Kotlin Coroutines

Еще один большой материал с примерами по корутинам 🔥

👉 Знакомство с Kotlin Coroutines
👉 Области видимости (CoroutineScope)
👉 Диспетчеры (Dispatchers)
👉 Корутин-билдеры (Coroutine Builders)
👉 Задачи (Jobs)
👉 Функции приостановки (Suspend)
👉 Continuation
👉 CoroutineExceptionHandler
👉 SupervisorJob
👉 Заключение

Читать (Ru)
👍17🔥51👎1👏1
Injection Points

Обзор нескольких полезных Android API фабрик, с помощью которых мы можем влиять на создание основных компонентов.

👉 AppComponentFactory
👉 LayoutInflater.Factory and Views
👉 FragmentFactory
👉 ViewModelProvider.Factory
👉 WorkManager and WorkerFactory

Читать (En)
👍103🤔2🔥1
5 Kotlin Tips for a Cleaner Codebase

Несколько советов для написания более понятного, поддерживаемого и читаемого Kotlin кода.

👉 Pay attention to the visibility of classes
👉 Keep the number of top-level declarations to a minimum
👉 Prefer readability over saving a few lines of code
👉 Prefer creating a dedicated data class to using a Pair or Triple
👉 Prefer exhaustive when statements

Читать (En)
👍7🔥21