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
Осознанная оптимизация Compose

Советы и наработки по написанию оптимизированного Compose-кода от команды Ozon Seller.

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

👉 Composable-функции
👉 Стабильные типы
👉 Оптимизация пропусков
👉 Долгие вычисления при рекомпозиции
👉 Layout
👉 Прочие советы
👉 Отладка и мониторинг производительности

Читать (Ru)
🔥16👍62🤔1
Forwarded from Swift Tips
Многопоточность в iOS-разработке

Разбор с примерами, различных инструментов для мнопоточки в iOS(основы, особенности, проблемы, что в каких случаях использовать и т.д.).

• Основы многопоточности
• Многопоточность в Swift
• Использование pthread и NSThread
• Grand Central Dispatch в Swift: углубленный
обзор с примерами
• NSLock в Swift: управление доступом к общим
ресурсам
• Await и async в Swift: новые горизонты
многопоточности

Читать (Ru)
🔥6👍3🙏1
Как катить фичи без релизов. Про низкоуровневый Server Driven UI

Тут вышла 2-ая часть из цикла статей «Как катить фичи без релизов», в которой чуть больше деталей как это всё гибко настраивается, конфигурируется и превращается в верстку с учётом дизайн-системы.

Читать (Ru)
🔥12👍5🤔2
Какого цвета Ripple?

Конкретного ответа в статье нет, зато есть достаточно любопытное исследование. Как вычисляется цвет ripple, как всё устроено под капотом, связь Ripple, MD2, MD3 и т.д.

👉 Что есть Ripple
👉 Ripple & Material Design 2
👉 Ripple & Material Design 3
👉 Ripple & XML
👉 Ripple & Jetpack Compose под капотом

Если самим лень копаться и разбираться как это работает – статья для вас 😉

Читать (Ru)
👍14🔥3👏1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Crafting a Clock in Jetpack Compose with Canvas

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

Код на GitHub → Watchface
И еще одна реализация → Clock of Clocks

Читать (En)
🔥164👍3🤯3
В AppMetrica добавили решение Workspaces для быстрой настройки визуализации данных о показателях работы мобильного приложения.

Теперь можно создавать автономные дашборды с наглядным представлением различных метрик приложения.

• Работайте со всеми доступными отчётами и дашбордами в удобном интерфейсе AppMetrica

• Собирайте дашборды с KPI, чтобы команда могла в любой момент ознакомиться с текущим состоянием дел

• Отслеживайте только нужные показатели на дашборде и не отвлекайтесь на несущественные детали

Читать (Ru)
👍3🔥2💩21🤔1🤮1🤡1
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