Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions radar/2026-08-12/appsflyer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: AppsFlyer
ring: trial
quadrant: utilities
tags: [analytics]

---

[Docs](https://dev.appsflyer.com/hc/docs/android-sdk-reference) | [Sources](https://github.com/AppsFlyerSDK/appsflyer-android-sdk)

Платформа продуктовой аналитики: SDK один раз собирает in-app события, а сервис считает по ним воронки, удержание, когорты и сегменты пользователей. Ценность целиком упирается в качество разметки — без согласованной с продуктом схемы событий отчёты вырождаются в «сколько было установок». Взяли в Trial: как продуктовая аналитика сервис закрывает потребности, но выбор платформы почти всегда за заказчиком, поэтому дефолтом для всех проектов её не делаем.

## Полезные ссылки

- [In-app events](https://dev.appsflyer.com/hc/docs/android-send-in-app-events)
- [OneLink deep linking](https://dev.appsflyer.com/hc/docs/android-deep-linking)
- [Data collection and privacy](https://dev.appsflyer.com/hc/docs/android-data-collection)
8 changes: 8 additions & 0 deletions radar/2026-08-12/camerax.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: CameraX
ring: adopt
quadrant: libraries

---

Переводим в Adopt: библиотека прошла проверку на реальных задачах — от сканирования документов и QR до съёмки медиа, совместимость с устройствами разных вендоров держит Google, привязка к `Lifecycle` снимает ручное управление состояниями камеры, а `ImageAnalysis` напрямую стыкуется с [ML Kit](/libraries/ml_kit/).
9 changes: 9 additions & 0 deletions radar/2026-08-12/compose_material_2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: Compose Material 2
ring: hold
quadrant: libraries
tags: [UI]

---

На новых проектах используем [Compose Material 3](/libraries/compose_material_3/)
9 changes: 9 additions & 0 deletions radar/2026-08-12/compose_material_3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: Compose Material 3
ring: adopt
quadrant: libraries
tags: [UI]

---

Переводим в Adopt: это актуальный подход к построению UI на [Compose](/languages-and-frameworks/compose/) — используем по умолчанию на всех новых проектах.
16 changes: 16 additions & 0 deletions radar/2026-08-12/ml_kit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: ML Kit
ring: trial
quadrant: libraries

---

[Docs](https://developers.google.com/ml-kit) | [Sources](https://github.com/googlesamples/mlkit)

Набор готовых on-device моделей от Google: распознавание текста, сканирование штрихкодов и QR, детекция лиц, сегментация, перевод. Закрывает типовые «умные» фичи без своей модели, работает на устройстве — без сети и без отправки изображений на сервер, и напрямую стыкуется с [CameraX](/libraries/camerax/) через `ImageAnalysis`.

## Полезные ссылки

- [Text recognition v2](https://developers.google.com/ml-kit/vision/text-recognition/v2/android)
- [Google Code Scanner](https://developers.google.com/ml-kit/vision/barcode-scanning/code-scanner) — готовый UI сканера без своих permissions на камеру
- [CameraX+ML Kit для распознавания номера карты в действии](https://habr.com/ru/company/redmadrobot/blog/544318/)
16 changes: 16 additions & 0 deletions radar/2026-08-12/navigation_3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: Navigation 3
ring: trial
quadrant: libraries
tags: [navigation]

---

[Docs](https://developer.android.com/guide/navigation/navigation-3) | [Sources](https://github.com/androidx/androidx/tree/androidx-main/navigation3)

Навигационная библиотека Jetpack, спроектированная под Compose: бэкстеком владеет приложение — это обычный наблюдаемый список типизированных ключей, который рендерит `NavDisplay`. В отличие от [Jetpack Navigation](/libraries/google_navigation/), где стек спрятан за `NavController`, переход становится операцией над списком, поэтому нестандартные сценарии (deeplink в середину стека, замена стека после авторизации, несколько панелей на планшете) выражаются напрямую и проверяются юнит-тестами. Взяли в Trial: библиотека еще недостаточно опробована на рабочих проектах.

## Полезные ссылки

- [Navigation 3 recipes](https://github.com/android/nav3-recipes)
- [Migrating to Navigation 3](https://developer.android.com/guide/navigation/navigation-3/migration)
9 changes: 9 additions & 0 deletions radar/2026-08-12/renovate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: Mend Renovate
ring: adopt
quadrant: utilities
tags: [quality control, CI]

---

Переводим в Adopt: подход себя оправдал — обновления приезжают небольшими порциями в виде готовых MR'ов, за поиск новых версий отвечает робот, а не человек, поэтому задача «обновить зависимости» перестала копиться до состояния болезненного рефакторинга.
16 changes: 16 additions & 0 deletions radar/2026-08-12/rive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: Rive
ring: trial
quadrant: libraries
tags: [UI]

---

[Docs](https://rive.app/docs/runtimes/android/android) | [Sources](https://github.com/rive-app/rive-android)

Редактор и рантайм интерактивной векторной анимации: `.riv`-файл содержит стейт-машину с состояниями и переходами, которую собирает дизайнер, а приложение только передаёт входные значения. За счёт этого сложные интерактивные анимации не приходится склеивать кодом из нескольких файлов, как в Lottie, а правка сводится к новому файлу без изменений в коде. Взяли в Trial: результат заметно дешевле в поддержке, но рантайм тянет нативные библиотеки и растит APK, а дизайнер должен работать именно в Rive — экспорта «как есть» из Figma нет.

## Полезные ссылки

- [Rive State Machine](https://rive.app/docs/editor/state-machine/state-machine)
- [Rive Android Compose usage](https://rive.app/docs/runtimes/android/compose)
9 changes: 9 additions & 0 deletions radar/2026-08-12/rmr_konfeature.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: RMR Konfeature
ring: adopt
quadrant: libraries
tags: [RMR libs]

---

Переводим в Adopt: библиотека закрыла свою задачу на проектах — все фича-тогглы объявлены в одном месте с типом, значением по умолчанию и описанием вместо строковых ключей, разбросанных по коду, источник значений подменяется ([Firebase Remote Config](/utilities/firebase_remote_config/), локальный сторедж, заглушка в тестах), а интеграция с [RMR Debug Panel](/libraries/rmr_debug_panel/) позволяет тестировщику переключать фичи на устройстве без пересборки.
8 changes: 8 additions & 0 deletions radar/2026-08-12/sentry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Sentry
ring: adopt
quadrant: utilities

---

Переводим в Adopt: на проектах, где Google-сервисы недоступны или заказчик требует хранить данные в своём контуре, Sentry стал основным вариантом вместо [Firebase Crashlytics](/utilities/firebase_crashlytics/) — есть self-hosted, работает без GMS, кроме крашей собирает обработанные исключения, ANR и performance-трейсы, а Gradle-плагин сам загружает mapping-файлы.
15 changes: 15 additions & 0 deletions radar/2026-08-12/turbine.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: Turbine
ring: trial
quadrant: libraries
tags: [unit testing]

---

[Docs](https://cashapp.github.io/turbine/docs/1.x/) | [Sources](https://github.com/cashapp/turbine)

Небольшая библиотека для тестирования `Flow` из [kotlinx.coroutines](/libraries/kotlinx.coroutines/): вместо ручного `launch`/`cancel` и сбора эмиссий в список тест пишется последовательно через `awaitItem()`, `awaitComplete()`, `awaitError()`, а неразобранные события роняют тест, а не проходят молча. Хорошо ложится на проверку состояния `ViewModel` и не конфликтует с [Kotest assertions](/libraries/kotest-assertion/). Взяли в Trial: тесты на `Flow` становятся заметно чище, но опыта пока не на всех проектах.

## Полезные ссылки

- [Testing Kotlin flows on Android](https://developer.android.com/kotlin/flow/test)