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 #1624 · Back to latest

Older Posts 20 shown
Post #1623 3.53K
LayoutNode: What Actually Happens When You Write @Composable

Полезная статья, в которой разбирается LayoutNode: что это такое, как строится дерево из LayoutNode, как это влияет на производительность и отрисовку.

👉 What is the LayoutNode?
👉 How Compose Actually Creates Nodes
👉 LayoutNode vs Modifier.Node
👉 Rendering Pipeline
👉 Custom Layouts
👉 The bottom line

Читать (En)
  • 🔥 8
  • 👍 6
  • ❤ 4
Post #1621 3.41K
The dark corners of inline, crossinline, and reified in Kotlin

Статья про возможные проблемы при неправильном использовании inline, crossinline и reified в Kotlin.

👉 The promise and peril of inline
👉 Why crossinline matters in suspending contexts
👉 Reified: type-safe builders and beyond
👉 Debugging and testing inline code
👉 Checklist for safe use

Читать (En)
  • 🔥 6
  • 👍 5
  • ❤ 3
Post #1620 3.1K
Swipe to Pay, или Как мы переписали слайдер оплаты на Compose

Полезная статья, в которой разработчик из Dodo Engineering подробно разбирает процесс создания достаточно сложного и прикольного компонента на Compose.

Читать (Ru)
  • 🔥 11
  • ❤ 5
  • 👍 5
Post #1619 4.51K
Exploring PausableComposition internals in Jetpack Compose

В Compose версии 1.9.X представили новый внутренний API – PausableComposition, который, как утверждается, решает проблемы с производительностью.

В статье подробный разбор: что это такое, как устроено под капотом и для чего может пригодиться.

Читать (En)
  • 👍 7
  • ❤ 3
  • 🔥 2
Post #1618 3.57K
Погружение в разработку плагинов для Android Studio

Вторая часть про разработку плагинов для Android Studio. В этой статье рассматривается пошаговая реализациия более продвинутого плагина – Запускатель UI-тестов.

Предыдущая часть тут.

Читать (Ru)
  • 🔥 6
  • 👍 5
  • ❤ 3
Post #1617 3.85K
Под капотом Android: как создаются, управляются и восстанавливаются процессы приложений в системе

Большая и полезная статья с разбором ключевых системных компонентов (Zygote, SystemServer, AMS, Binder) и процесса восстановления состояния через Bundle.

Читать (Ru)
  • ❤ 13
  • 👍 6
  • 🔥 3
  • 👎 2
Post #1614 3.36K
Creating an Engaging Progress Button in Jetpack Compose

Гайд по реализации вот такой кнопки с прогрессом на Jetpack Compose.

Исходный код → ProgressButton

Читать (En)
  • 👍 13
  • 🔥 5
  • ❤ 3
Post #1613 3.03K
Видим невидимое: контроль качества Android-библиотек через объектив AppTracer Lite SDK

Разработчик AppTracer Lite SDK(аналог Firebase Crashlytics) рассказывает про возможности инструмента и подводные камни, с которыми столкнулся при разработке.

Подход в статье универсален, может быть применим к любой библиотеке.

👉 Что такое AppTracer SDK
👉 Как трекать качество библиотеки
👉 Собираем краши
👉 Логируем аналитику
👉 Собираем метрики производительности
👉 Обфускация
👉 Crash-free интеграция Tracer
👉 Поддержка отключения Tracer в библиотеке
👉 Заключение

На данный момент AppTracer Lite SDK доступен только для внутреннего использования, но если вы хотите интегрировать его к себе – пишите в чат @tracer_feedback

Читать (Ru)
  • 🔥 6
  • ❤ 5
  • 👍 4
Post #1612 2.67K
Типобезопасная передача результатов между экранами в Compose с Jetpack Navigation

Разработчик core-команды Wildberries рассказывает как они в проекте решили обеспечить типобезопасность при передаче результатов между экранами с применением библиотеки Compose Navigation.

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

Читать (Ru)
  • 👍 4
  • ❤ 3
  • 👎 3
  • 🔥 2
Post #1611 3.72K
Развеиваем мифы о Stability в Compose: оптимизации Strong Skipping

Ещё про Compose. Интересная статья, в которой автор рассказывает, как лямбды и strong skipping режим влияют на работу компилятора и на рекомпозицию.

Выводы и рекомендации от автора

🟢Compose стал более агрессивно оптимизировать пропуск Composable функций, когда параметры не изменились.

🟢Акцент в отдладке Compose сдвигается от метрик и отчетов к отладке на основе LayoutInspector и других инструментов, потому что метрики и отчеты говорят слишком мало о реальной производительности компонентов.

🟢Чтобы обновить UI, используя нестабильные аргументы, нужно создать новый инстанс такого аргумента в памяти, и метод copy дата-классов для этого отлично подходит.

🟢При работе с коллекциями для оптимизации рекомпозиций больше не нужно использовать Immutable Collections, однако придется обновлять их с созданием нового инстанса. Альтернатива использовать - SnapshotStateList.

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

Код экспериментов из статьи → ComposeStability

Читать (Ru)
  • 🔥 13
  • ❤ 6
  • 👍 4
  • 👌 1
Post #1610 3.12K
Создание кастомного тултипа Jetpack Compose

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

Читать (Ru)
  • 👍 12
  • 🔥 7
  • ❤ 5
Post #1609 3.38K
Хочешь стать техлидом? Возможно, что не стоит

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

👉 Точно ли тебе это нужно ?
👉 Техническая подкованность
👉 Отстаивание своей позиции
👉 Стратегическое мышление
👉 Фокусировка внимания
👉 Конфликты
👉 Борьба за ресурсы
👉 Стрессы
👉 Увольнения
👉 Ты — пример

Если целитесь на такую позицию – обязательно почитайте.

Читать (Ru)
  • 👍 10
  • ❤ 4
  • 🔥 4
Post #1608 3.33K
Flow Marbles: Interactive diagram of Kotlin Flow

И ещё дополнение к постам выше 😎

В соседнем чате поделились крутым ресурсом – Flow Marbles: интерактивные диаграммы Kotlin Flow.

Читать (En)
  • 🔥 9
  • 👍 4
  • ❤ 3
  • 👨‍💻 1
Post #1607 3.25K
The Kotlin Flow Operator Cheat Sheet

В догонку ещё один материал про Kotlin Flow – свежая шпаргалка по операторам, с примерами кода.

🟢map, filter, take(n)
🟢reduce, fold, runningReduce/scan,
🟢transform
🟢FlatMapConcat, FlatMapMerge, FlatMapLatest
🟢flowOn, buffer, conflate, collectLatest
🟢zip, combine, merge
🟢catch, onCompletion, retryWhen
🟢onEach, debounce(timeoutMillis), distinctUntilChanged

Читать (En)
  • 👍 9
  • ❤ 4
  • 🔥 4
Post #1606 3.05K
Ныряем в холодные потоки Kotlin Flow

Базовая статья по основам Kotlin Flow для начинающих.

👉 Термины
👉 Холодные и горячие потоки
👉 Холодные потоки, горячие каналы
👉 Создание Flow
👉 Структура Flow
👉 Пример использования

Читать (Ru)
  • 👍 15
  • ❤ 7
  • 🤔 4
  • 🔥 3
Post #1604 2.85K
Эффекты в Jetpack Compose, лежащие на поверхности

Полезная статья про то, как реализовать универсальное решение, которое умеет накладывать различные эффекты(blur, magnifier) поверх готового контента в Jetpack Compose.

Читать (Ru)
  • 👍 10
  • ❤ 5
  • 🔥 4
  • 👏 1
Post #1603 3.06K
Post #1602 2.72K
Хроника изменений API фоновой работы в Android

Начнём пожалуй со свежого.

Довольно подробная статья про то, как менялись инструменты для фоновой работы в Android: Service, AlarmManager, Doze Mode, JobScheduler и т.д.

Читать (Ru)
  • 👍 7
  • ❤ 5
  • 🔥 3
Post #1601 2.4K
Всем привет! С первого раза как-то не особо получилось вернуться к публикациям, поэтому пробую ещё раз 😎.

За 1,5 месяца отсутствия активности на канале, в избранном что-то да накопилось. Сейчас разбираю отложенные материалы, поэтому до середины/конца следующей недели вероятно слегка поспамлю, но это не точно 😉
  • ❤ 12
  • 👏 4
  • 🔥 3
Post #1600 4.35K
Stale Data & Leaks were killing my Kotlin apps for 5 years. Here’s the fix.

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

Читать (En)
  • 👍 9
  • ❤ 4
  • 🔥 3
  • 👎 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 →