TGViewer
Channel Public Channel
Mobile Native ️️

Mobile Native ️️

@mobile_native

Полезные материалы по мобильной разработке. Статьи, подборки, нововведения, анонсы.

Пробустить канал → https://t.me/mobile_native?boost

Автор: @artemiygreg
iOS / Swift: @swift_tips
Библиотеки и инструменты: @mobile_dev_tools
Митапы: @meetup_today
Subscribers
5.39K
Photos
1.2K
Videos
18
Links
1.3K

Showing posts older than #1572 · Back to latest

Older Posts 20 shown
Post #1571 2.71K
Как мы сделали дизайн-систему для мобильных устройств и TV

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

Читать (Ru)
  • 👍 5
  • ❤ 4
  • 🔥 3
Post #1570 3.05K
Разбираем чистую архитектуру в Android: от а до я

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

Читать (Ru)
  • 🥱 23
  • 🔥 5
  • 👍 4
  • ❤ 2
Post #1569 3.19K
Finding unnecessary Component Dependencies with Dagger SPI

Полезная статья про механизм Dagger SPI: как он работает и как с помощью него искать неиспользуемые зависимости в Dagger/Hilt графе.

Пример кода из статьи → DaggerUnusedValidator

Читать (En)
  • 👍 6
  • ❤ 3
  • 🔥 3
Post #1568 3.93K
Как мы ускоряли Android-сборку «селлера»

Разработчик из Ozon рассказывает как они ускоряли время сборки приложения Ozon Seller.

👉 Gradle Caches
👉 Ретроспектива api-модулей
👉 Переход с kapt на KSP
👉 Удаление неиспользуемых зависимостей
👉 Использование Non-Transitive R Classes
👉 Набор общих рекомендаций от команды Android
👉 Включение Gradle параметров в gradle.properties

Читать (Ru)
  • 🔥 13
  • 👍 5
  • ❤ 3
Post #1565 3.14K
Google массово блокирует устройства

Пользователи Pixel сообщают о блокировке девайсов. По некоторым источникам, за ночь было заблокированно около 3 500 000 Pixel-девайсов, без возможности восстановления.

Читать (En)
  • 🤣 50
  • 😐 9
  • 🤯 7
  • 😱 3
  • 🥴 2
  • ✍ 1
  • 🤷‍♂ 1
  • 👌 1
Post #1564 3K
Автоматизация версионирования в Kotlin Multiplatform: Решение для Android и iOS

Автор статьи рассказывает и делится примером реализации, как автоматизировать версию приложения в Kotlin Multiplatformдля Android и iOS.

Пример кода на GitHub → VersionExample

Читать (Ru)
  • 👍 8
  • ❤ 4
  • 🔥 4
Post #1563 3.32K
Dagger 2 и жизненный цикл

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

Требования к реализации

👉 Простое создание DI‑компонентов
👉 Создание DI‑компонентов по мере необходимости
👉 Хранение DI‑компонента ровно до тех пор, пока в нём есть необходимость
👉 Доступность DI‑зависимостей в любом модуле проекта
👉 Связь между «родителями» и дочерними компонентами
👉 Исключить циклические зависимости
👉 Автоматизированный жизненный цикл DI‑компонентов

Исходный код проекта с примером на GitHub → SolarSystem

Читать (Ru)
  • 👍 14
  • ❤ 3
  • 🔥 3
  • 🥴 1
Post #1562 3.82K
Как работать с Custom Layout в Jetpack Compose

Довольно крутая и большая статья от разработчика из Авито, про кастомные Layout в Jetpack Compose.

В этой статье вспоминаем, как вообще работают лейауты в Compose, обсуждаем изменение лейаута отдельного компонента, смотрим, как создавать кастомные Layout и LazyLayout и учимся откладывать композицию. И всё это на примерах, в том числе из дизайн-системы Авито.


🟢Контекст. Зачем нам кастомные Layout
🟢Как не стоит изменять Layout в Compose
🟢Layout в Jetpack Compose. Фазы фрейма
🟢Изменение layout отдельного компонента 
🟢Кастомный Layout
🟢Кастомный Layout. MultiMeasureLayout
🟢Кастомный Layout. Intrinsic Measurements 
🟢Отложенная композиция
🟢Отложенная композиция в SubcomposeLayout
🟢Кастомный LazyLayout
🟢Кастомный LazyLayout. MeasurePolicy
🟢Что стоит запомнить

Читать (Ru)
  • ❤ 12
  • 👍 6
  • 🔥 3
Post #1561 3.09K
Как мы следим за качеством unit-тестов

Статья от разработчика из СБЕРа про unit-тесты, в которой он рассказывает про лучшие практики, применяемые командой для написания тестов и рассматривает подходы для повышения их эффективности.

👉 Выбор библиотек и технологий
👉 Типичные проблемы
👉 Эффективная организация тестов
👉 Документация тестов
👉 Грамотное использование доступных инструментов
👉 Регулярный анализ производительности

Читать (Ru)
  • 👍 8
  • 🔥 4
  • ❤ 3
Post #1559 2.35K

Forwarded from Swift Tips

Enhance Your Code Architecture With SOLID Principles

Ещё одна полезная статья про SOLID, с разбором распространенных ошибок, которые нарушает эти принципы. Каждый принцип рассматривается на простом для понимания примере, на Swift`е.

Читать (En)
  • 👍 5
  • 🔥 3
  • ❤ 2
Post #1558 2.68K
Сценарии использования ServerSocket

Вторая часть про ServerSocket, в которой рассматривается организация общения между двумя приложениями на одном устройстве, ограничения на формат общения и ограничения по времени работы, из‑за политики OC управления фоновыми процессами.

Читать (Ru)
  • 👍 5
  • 🔥 5
  • ❤ 3
Post #1557 2.66K
Создаём многомодульную библиотеку на Android: как же собрать fat-aar?

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

Читать (Ru)
  • 👍 8
  • 🔥 4
  • ❤ 3
Post #1555 3.16K

Forwarded from Swift Tips

Using Proxyman to Intercept and Simulate iPhone App Network Requests

Гайд по настройке и использованию Proxyman для перехвата трафика, тестирования API с помощью мок-данных и т.д.

🟢Background and Requirements
🟢Installing and Configuring Proxyman and Certificates
🟢Capturing Network Requests
🟢Data Simulation (Mock Data)
🟢Summary and Reflections

Читать (En)
  • 👍 8
  • ❤ 3
  • 🔥 3
Post #1554 3.2K
Kotlin 2.1.20 Released

Зарелизился Kotlin 2.1.20, направленный на улучшение производительности и исправление некоторых ошибок Kotlin 2.1.0.

Некоторые основные доработки👇

🟢K2 compiler updates: New default kapt compiler plugin

🟢Kotlin Multiplatform: A new DSL to replace Gradle’s Application plugin in multiplatform projects

🟢Kotlin/Native: Inlining optimization to improve runtime performance

🟢Kotlin/Wasm: Custom formatters are now enabled by default in development builds

🟢Gradle support: Support for adding custom publication variants in multiplatform and JVM projects

🟢Standard library: Introduction of common atomic types, improved UUID support, and a new time-tracking functionality

🟢Compose compiler: Now includes source information by default across all platforms

Читать (En)
  • 👍 5
  • 🔥 4
  • ❤ 3
Post #1553 4.21K
Fastlane in Kotlin Multiplatform projects

Гайд от Touchlab по настройке Fastlane для KMP проектов.

Читать (En)
  • 👍 7
  • 🔥 4
  • ❤ 3
  • 🤨 1
Post #1552 3.03K
A new way of handling one-off events in your Android application (and even more)

Автор рассказывает про свою библиотеку на основе Hilt плагина, которая упрощает работу с одноразовыми событиями.

Библиотека на GitHub → Effects

Читать (En)
  • 👍 11
  • 🔥 5
  • ❤ 4
  • 🥱 3
Post #1549 3.08K
12 tips to mastering Kotlin Coroutines

Статья с советами по использованию корутин.

👉 Always Use Structured Concurrency
👉 Prefer withContext Over async for Single Operations
👉 Use async Only for Parallel Tasks
👉 Never Use GlobalScope
👉 Switch Dispatchers Wisely
👉 Handle Exceptions Gracefully
👉 Cancel Coroutines Properly
👉 Use SupervisorJob for Independent Child Coroutines
👉 Test Coroutines with runTest
👉 Debounce User Input with Flows
👉 Avoid Blocking Calls
👉 Use coroutineScope for Scoped Parallelism

P.S. Полезно будет начинающим

Читать (En)
  • 👍 9
  • ❤ 4
  • 🔥 4
  • 🥱 4
Post #1548 2.9K
Man-in-the-Middle (MITM) Attacks in Android Development: How to Secure Your App

Полезная статья про одну из наиболее популярных атак – Man-in-the-Middle (MITM): что из себя представляет, как происходит и какие есть способы защиты.

👉 Enforce HTTPS with TLS (SSL/TLS Security)
👉 Certificate Pinning (M3: Insecure Communication)
👉 Use Strong Network Security Configurations (OWASP M3 & M9)
👉 Validate SSL/TLS Certificates Properly (M3: Insecure Communication)
👉 Disable Insecure Cipher Suites and Protocols

Читать (En)
  • 🔥 10
  • 👍 6
  • ❤ 5
  • 🤔 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →