ch
Feedback
Mobile Developer

Mobile Developer

前往频道在 Telegram
9 169
订阅者
无数据24 小时
+247
+10630
吸引订阅者
六月 '26
六月 '26
+172
在2个频道中
五月 '26
+107
在2个频道中
Get PRO
四月 '26
+140
在3个频道中
Get PRO
三月 '26
+172
在3个频道中
Get PRO
二月 '26
+96
在1个频道中
Get PRO
一月 '26
+239
在3个频道中
Get PRO
十二月 '25
+90
在3个频道中
Get PRO
十一月 '25
+99
在2个频道中
Get PRO
十月 '25
+234
在4个频道中
Get PRO
九月 '25
+186
在10个频道中
Get PRO
八月 '25
+134
在2个频道中
Get PRO
七月 '25
+191
在3个频道中
Get PRO
六月 '25
+96
在3个频道中
Get PRO
五月 '25
+182
在5个频道中
Get PRO
四月 '25
+123
在3个频道中
Get PRO
三月 '25
+234
在4个频道中
Get PRO
二月 '25
+132
在0个频道中
Get PRO
一月 '25
+159
在2个频道中
Get PRO
十二月 '24
+226
在6个频道中
Get PRO
十一月 '24
+236
在4个频道中
Get PRO
十月 '24
+314
在7个频道中
Get PRO
九月 '24
+256
在6个频道中
Get PRO
八月 '24
+331
在2个频道中
Get PRO
七月 '24
+294
在5个频道中
Get PRO
六月 '24
+301
在8个频道中
Get PRO
五月 '24
+408
在9个频道中
Get PRO
四月 '24
+265
在5个频道中
Get PRO
三月 '24
+266
在3个频道中
Get PRO
二月 '24
+289
在4个频道中
Get PRO
一月 '24
+423
在14个频道中
Get PRO
十二月 '23
+335
在10个频道中
Get PRO
十一月 '23
+297
在9个频道中
Get PRO
十月 '23
+335
在11个频道中
Get PRO
九月 '23
+379
在0个频道中
Get PRO
八月 '23
+245
在0个频道中
Get PRO
七月 '23
+239
在0个频道中
Get PRO
六月 '23
+245
在0个频道中
Get PRO
五月 '23
+894
在0个频道中
Get PRO
四月 '23
+248
在0个频道中
Get PRO
三月 '23
+226
在0个频道中
Get PRO
二月 '23
+335
在0个频道中
Get PRO
一月 '23
+334
在0个频道中
Get PRO
十二月 '22
+680
在0个频道中
Get PRO
十一月 '22
+220
在0个频道中
Get PRO
十月 '22
+212
在0个频道中
Get PRO
九月 '22
+161
在0个频道中
Get PRO
八月 '22
+266
在0个频道中
Get PRO
七月 '22
+231
在0个频道中
Get PRO
六月 '22
+92
在0个频道中
Get PRO
五月 '22
+148
在0个频道中
Get PRO
四月 '22
+264
在0个频道中
Get PRO
三月 '22
+277
在0个频道中
Get PRO
二月 '22
+159
在0个频道中
Get PRO
一月 '22
+141
在0个频道中
Get PRO
十二月 '21
+103
在0个频道中
Get PRO
十一月 '21
+93
在0个频道中
Get PRO
十月 '21
+155
在0个频道中
Get PRO
九月 '21
+99
在0个频道中
Get PRO
八月 '21
+80
在0个频道中
Get PRO
七月 '21
+76
在0个频道中
Get PRO
六月 '21
+47
在0个频道中
Get PRO
五月 '21
+33
在0个频道中
Get PRO
四月 '21
+425
在0个频道中
日期
订阅者增长
提及
频道
24 六月+2
23 六月+3
22 六月+4
21 六月+9
20 六月+2
19 六月+7
18 六月+12
17 六月+5
16 六月+5
15 六月+8
14 六月+5
13 六月+7
12 六月0
11 六月+1
10 六月+9
09 六月+14
08 六月+12
07 六月+24
06 六月+4
05 六月+10
04 六月+6
03 六月+10
02 六月+9
01 六月+4
频道帖子
🧰 let vs run в Kotlin - когда какой использовать https://freedium-mirror.cfd/https://medium.com/@sivavishnu0705/mastering-ko
🧰 let vs run в Kotlin - когда какой использовать https://freedium-mirror.cfd/https://medium.com/@sivavishnu0705/mastering-kotlin-scopes-let-vs-run-when-should-each-be-used-592c3fac84b0 Короткий разбор двух самых путаемых scope-функций. На поверхности почти одинаковы, но выбор влияет на читаемость.
📄 let передаёт объект как it (можно переименовать) - для null-safety и трансформаций. run передаёт как this - для конфигурации объекта + финального вычисления. Производительность одинаковая, оба inline.
В статье - рабочие сценарии для обоих, главная ловушка run («пирамида неоднозначности» при вложенности), эвристика когда переходить с run на let. —————— 💭 Базовая, но полезная тема - особенно если в команде джуны. Telegram | Селеба | Max | YouTube

2
🔧 R8 Configuration Analyzer — хватит писать -keep «Just in Case» https://medium.com/@santimattius/stop-writing-keep-just-in-+1
🔧 R8 Configuration Analyzer — хватит писать -keep «Just in Case» https://medium.com/@santimattius/stop-writing-keep-just-in-case-a-guide-to-the-r8-configuration-analyzer-86268357a05b Автор разбирает новый инструмент в Android Studio, который показывает реальную цену слишком широких -keep правил - таких, которые сохраняют целый пакет или класс целиком, например -keep class com.myapp.** { *; }. Каждое такое правило блокирует R8 от tree-shaking'а, обфускации и оптимизаций. На выходе - медленный cold start, больший APK и иногда больше ANR при запуске. 👀 Analyzer даёт три метрики (Shrinking / Obfuscation / Optimization) в процентах кода, доступного для каждой трансформации. И главное - показывает, какие конкретно правила сколько классов заблокировали, включая правила из зависимостей. В статье показан рабочий процесс аудита: замерить базовые показатели → запустить analyzer → заменить широкие правила на точечные → прогнать smoke-тесты на minified-билде в CI. ➕ демо-репа с тремя git-тегами под каждый этап Требует R8 9.3.7-dev + AGP 9.3.0-alpha05+ для панели в IDE. —————— 💭 Особенно полезно для корщиков Telegram | Селеба | Max | YouTube
1 535
3
‼️ Maven Central вводит лимиты на публикацию С 16 июня появятся предупреждения про превышение бесплатных лимитов на месяц, с
‼️ Maven Central вводит лимиты на публикацию С 16 июня появятся предупреждения про превышение бесплатных лимитов на месяц, с 11 августа 2026 начнётся реальное ограничение бесплатных публикаций. Пороги у 90 перцентиля: 1 167 файлов в месяц, 78 МБ суммарно, 7 релизов. Большинство open source разработчиков не заметят. Кто публикует много и часто — проверьте Usage Center уже сейчас. Лично мне интересно, как это ляжет на KMP-проекты. Один multi-target релиз — это десятки файлов на каждую платформу: sources, javadoc, pom, подписи. Sonatype говорит, что работает с JetBrains над смягчением. Посмотрим. 💬 Не станет ли это движением в стороны децентрализации от Maven Central? 🔗 Официальная документация о лимитах #Maven
1 106
4
没有文字...
1 539
5
🗺 Compose Navigation Graph - визуализация всего флоу приложения в Android Studio https://doveletter.dev/articles/compose-nav+1
🗺 Compose Navigation Graph - визуализация всего флоу приложения в Android Studio https://doveletter.dev/articles/compose-nav-graph-plugin Автор выкатил инструмент, который рисует navigation любого Compose-приложения как интерактивную карту в IDE. Navigation 3 сделал маршруты типобезопасными, но невидимыми - увидеть весь флоу или поймать изменения навигации в ревью PR раньше было сложно. 🧑‍💻 Работает через KSP + Gradle/IDE плагины и четыре аннотации. Превью экранов рендерятся без эмулятора, с канваса прыгаешь в код, drag'ом добавляешь переходы. Подробнее с примерами - в статье) —————— 💭 Если в проекте больше десятка экранов - must try. Telegram | Селеба | Max | YouTube
1 706
6
Стартует набор на AI Advent Challenge #9 https://mobiledeveloper.tech/ai_advent_9 🔥 Важный момент: возможно это последний челлендж, будет зависеть от посещаемости. Так как челленджи в целом уже прошло свыше 1000 инженеров, то видимо некую базовую потребность инженеров я уже закрыл, поэтому теперь я буду весьма аккуратно подходить к новым потокам Но это в будущем, а пока это ваш шанс: 👉 Затащить ближайшее performance review (а если он еще у вас не прошел, то думаю скоро вы приятно удивитесь требованиям по AI) 👉 Разобраться досконально как устроен AI SDLC 👉 Начать пилить свои убыточные B2B-SaaS сервисы (ладно шутка, можно своих агентов делать и реально себе на этом экономить время и деньги) 👉 Хвастаться всем, что вы умеет в ИИ, а они нет Ну и, в общем и целом, обрести навык, который буквально в течение этого года станет абсолютно массовым и обязательным для всех (во многих компаниях уже так) Собеседования, кстати, тоже трансформируются и вы это скоро увидите, поэтому это входной билет и туда тоже Вас ждет 👉 35 дней, разбитых на 7 недель и 7 тем к каждой из которых прилагается видео и 5 увлекательных заданий 👉 Компанию единомышленников и safe space, где можно элегантно обосраться и не переживать за это 👉 Четкие и понятные инструкции что делать каждый день 👉 Моя поддержка в чате Но самое главное, что цена останется той же, а вылететь теперь вообще очень сложно, так как проверки ДЗ идут только по понедельникам Стоит все это счастье всего лишь 25к. Можете сравнить это с тем, что сегодня предлагают разные школы в плане цены, при учете того, что там вам дадут теорию, а здесь вы выйдете закаленными такими бойцами со шрамами от ИИ на всю клавиатуру Стартуем 31 августа! Не про.. не пропусти свой шанс в общем
1 360
7
👩‍💻 Server-Driven UI на Android - стек и трейдоффы https://freedium-mirror.cfd/https://medium.com/@androidlab/server-driven
👩‍💻 Server-Driven UI на Android - стек и трейдоффы https://freedium-mirror.cfd/https://medium.com/@androidlab/server-driven-ui-is-back-and-this-time-its-smarter-than-ever-d8e2c83ff454 Короткий разбор SDUI на современном Android-стеке. Сервер возвращает JSON с описанием компонентов (banner, product_grid, cta_button), клиент становится smart renderer с when по типу. UI меняется без релиза в Play Store. 📍Стек: Compose, Kotlin Serialization, GraphQL/gRPC, Ktor или Spring Boot на бэке. 📍 Зачем: мгновенные апдейты, A/B-тесты без ревью, layout принадлежит продакту, меньше bloat в APK. В проде у Airbnb, Lyft, фин-теха. 📍 Трейдоффы: баги могут быть серверными, нужно версионирование компонентов, кеш на оффлайн, дисциплина с accessibility. Совет - начинать с одного динамического экрана. —————— 💭 Хорошая базовая картина со стеком и подводными камнями. Telegram | Селеба | Max | YouTube
1 774
8
JetBrains: 现场体验了一把鸿蒙原生IntelliJ但是毛坯版 目前适配工作仍在进行,更多进展欢迎关注我们以及时获取!#IntelliJ[话题]# #IDE[话题]# #Java[话题]# #JetBrains[话题]#
JetBrains: 现场体验了一把鸿蒙原生IntelliJ但是毛坯版 目前适配工作仍在进行,更多进展欢迎关注我们以及时获取!#IntelliJ[话题]# #IDE[话题]# #Java[话题]# #JetBrains[话题]#
1 921
9
🔄 AndroidX Lifecycle 2.11.0 https://developer.android.com/jetpack/androidx/releases/lifecycle Релиз приносит долгожданную фи
🔄 AndroidX Lifecycle 2.11.0 https://developer.android.com/jetpack/androidx/releases/lifecycle Релиз приносит долгожданную фичу - scoped ViewModels для Compose. Теперь ViewModel можно привязать к произвольному UI-scope (например, к отдельной странице `Pager`), при этом она переживает configuration changes и автоматически очищается, когда Composable покидает иерархию. Плюс - полная поддержка Kotlin Multiplatform. 📌 Scoped ViewModels в Compose Новый API позволяет создавать ViewModelStore, привязанный к конкретной части UI, а не только к экрану/навигационному графу. Ключевые элементы: ViewModelStoreProvider, rememberViewModelStoreProvider() и rememberViewModelStoreOwner(). Пример: val provider = rememberViewModelStoreProvider() val pagerState = rememberPagerState(pageCount = { 5 }) HorizontalPager(state = pagerState) { page -> val storeOwner = rememberViewModelStoreOwner(provider, key = page) CompositionLocalProvider(LocalViewModelStoreOwner provides storeOwner) { val viewModel: PageViewModel = viewModel() } } 📌 Полная поддержка Kotlin Multiplatform ViewModel-Compose и ViewModel-Navigation3 теперь работают на всех KMP-таргетах - общий код для Android, iOS, Desktop и Web. 📌 Удобства API Reified-версия ViewModelProvider.get<VM>(key) и lambda-based Lifecycle.addObserver() убирают шаблонный код. 🛠️ Дополнительные улучшения: • ViewModelStoreNavEntryDecorator принимает ViewModelStoreOwner для проброса CreationExtras и фабрик во вложенные ViewModel • Новый overload rememberViewModelStoreNavEntryDecorator для поддержки нескольких back stacks • ViewModel.onCleared помечен @EmptySuper • removeViewModelStoreOnPop - deprecated в Navigation3 🟢 **Рекомендация**: Обновиться - релиз стабильный, breaking changes минимальны (только deprecation в Navigation3). —————— 💭 До сих пор привязать `ViewModel` к элементу списка или странице пейджера приходилось костылями - теперь это нативно. Так же поддержка KMP не может не радовать) Telegram | Селеба | Max | YouTube
1 899
10
📱 Android Developer Verification - даты и новые API https://android-developers.googleblog.com/2026/06/android-developer-veri
📱 Android Developer Verification - даты и новые API https://android-developers.googleblog.com/2026/06/android-developer-verification.html Google уточнил детали обязательной верификации разработчиков. Это значит, что любое приложение на Android-устройстве должно быть зарегистрировано в Developer Console под верифицированным разработчиком - иначе оно просто не установится. Касается и Google Play, и сторонних магазинов, и sideload. ❗️ Запуск в первой волне - 30 сентября 2026 в Бразилии, Индонезии, Сингапуре и Таиланде, через семь магазинов (Google Play, Galaxy Store, GetApps, HONOR, OPPO, vivo, Transsion). Глобально — в 2027. Новые API: Developer ID Status API для проверки регистрации package name и Developer Console API для регистрации прямо из CI/CD. Запуск в июле–августе. Limited distribution accounts - без госдокумента и без оплаты, до 20 устройств, для студентов и хобби-разработчиков. —————— 💭 Если распространяешь приложения в BR/ID/SG/TH - успевай до сентября. Посмотрим, как это отразиться на других магазинах... Telegram | Селеба | Max | YouTube
2 346
11
AI с нуля в 2026 За последний год вокруг искусственного интеллекта появилось огромное количество советов, курсов и дорожных карт. Проблема в том, что универсального роадмапа не существует. Путь разработчика, AI-инженера, создателя продуктов и исследователя моделей будет сильно отличаться В этом видео я упомянул какие фундаментальные темы нужно знать, чтобы двигаться в ИИ: токенизация, embeddings, attention-механизмы, параметры LLM, управление контекстом, memory management, промптинг, RAG, MCP и локальные модели. И почему понимание принципов работы нейросетей оказывается полезнее поиска очередного «магического промпта» Для доступа к видео нужна подписка Tier 2 или выше Telegram | Селеба
1
12
AI с нуля в 2026 Youtube Youtube Youtube Какие фундаментальные темы нужно знать, чтобы двигаться в ИИ, почему понимание принципов работы нейросетей оказывается полезнее поиска очередного «магического промпта» и какие 4 ветки родмапа в ИИ я вижу прямо сейчас - рассказываю в этом видео Приятного просмотра!
3 791
13
🛠 13 трюков Compose https://freedium-mirror.cfd/https://halilozel1903.medium.com/13-jetpack-compose-tricks-senior-android-de
🛠 13 трюков Compose https://freedium-mirror.cfd/https://halilozel1903.medium.com/13-jetpack-compose-tricks-senior-android-developers-use-every-day-f08cb5af0f2a Автор собрал чеклист трюков, которые отличают «рабочий» Compose от «сеньорского», по его мнению. Каждый пункт с примером кода. 🧑‍💻 Внутри - отложенное чтение state через лямбды, derivedStateOf для буферизации частых изменений, snapshotFlow как мост в корутины, graphicsLayer для анимаций без рекомпозиции, LocalInspectionMode для моков только в @Preview, movableContentOf для PiP без потери стейта, Modifier.Node вместо composed{}, @Immutable/@Stable, baseline profiles и hiltViewModel() для scoping в Nav-графе. —————— 💭 Полезно посмотреть несколько Compose-хуков) Telegram | Селеба | Max | YouTube
2 092
14
🤖 Android 17 (API level 37) https://android-developers.googleblog.com/2026/06/Android-17.html Вышел стабильный Android 17 -+5
🤖 Android 17 (API level 37) https://android-developers.googleblog.com/2026/06/Android-17.html Вышел стабильный Android 17 - релиз уже раскатывается на поддерживаемые Pixel. Это не просто очередная версия: Google делает adaptive-first стандартом, окончательно убирая лазейки для приложений, которые игнорировали большие экраны. Вместе с этим - новый подход к privacy (точечный доступ к контактам), quantum-safe криптография в secure hardware и заметный прирост производительности ART. ➡️ Mandatory large-screen adaptability (обязательная адаптивность) Для приложений, таргетящих API level 37, Android 17 убирает developer opt-out для ограничений ориентации и `resizable`-режима на устройствах с шириной экрана sw > 600dp (планшеты, складные устройства, ChromeOS, desktop-режимы). На практике это значит: android:screenOrientation и android:resizableActivity="false" больше не работает больших экранах. Приложение будет растягиваться и поворачиваться независимо от того, заложили вы это в дизайн или нет. Учтите это... Что делать: проверьте, что UI на Compose использует адаптивные layout (`WindowSizeClass`, `ListDetailPaneScaffold`), а не захардкоженные размеры и `portrait`-only активити. // Реакция на размер окна вместо фиксированной ориентации val windowSizeClass = calculateWindowSizeClass(activity) when (windowSizeClass.widthSizeClass) { WindowWidthSizeClass.Compact -> SinglePaneLayout() else -> ListDetailPaneScaffold(/* two-pane на больших экранах */) } ➡️ System-Level Contact Picker (точечный доступ к контактам) Новый системный пикер позволяет запрашивать временный доступ к отдельным полям контакта (например, только email или только телефон), которые пользователь выбирает сам. Это устраняет необходимость в широком и «страшном» для пользователя permission READ_CONTACTS. Меньше отказов на этапе запроса разрешений и выше доверие) ➡️ Cross-device Handoff, EyeDropper и App Bubbles Набор новых пользовательских и developer-API: • Cross-device Handoff - продолжение сценария на другом устройстве экосистемы • EyeDropper - системный выбор цвета с экрана • App Bubbles - плавающие пузыри для приложений (не только нотификаций) • Обновлённые camera APIs ➡️ Quantum-safe подписи (ML-DSA) Android 17 поддерживает ключи ML-DSA (Module-Lattice-Based Digital Signature Algorithm) в secure hardware для генерации квантово-устойчивых подписей. Это задел на пост-квантовую безопасность для приложений, работающих с чувствительными данными и аутентификацией. ➡️ Прирост производительности ART Обновлённый Android Runtime даёт прирост производительности «из коробки» - без изменений в коде приложения. Выигрывают холодный старт и общая отзывчивость. ⚠️ Breaking Changes • Large-screen resizability/orientation: при targetSdk = 37 система игнорирует ограничения ориентации и resizability на экранах sw > 600dp. • Migration: перейти на адаптивные layout (`WindowSizeClass`, canonical layouts), убрать жёсткие `portrait`-блокировки, протестировать на планшете/foldable. 🟡🟢 Рекомендация: Подождать стабилизации для prod-таргета, но начать тестировать адаптивность и поднимать targetSdk уже сейчас. —————— 💭 Это релиз про обязательную поддержку больших экранов. Google несколько версий мягко подталкивал к их поддержке, а теперь просто не оставил выбора. Для тех, кто давно на Compose с `WindowSizeClass`, миграция почти бесплатна. Для legacy-приложений с фиксированной ориентацией - надо будет поработать. Ставим 👍 если в вашем приложении уже есть поддержка больших экранов. Telegram | Селеба | Max | YouTube
2 802
15
🥽 Android XR — Developer Preview 4 и расширенный тулинг https://android-developers.googleblog.com/2026/06/what-is-new-androi+6
🥽 Android XR — Developer Preview 4 и расширенный тулинг https://android-developers.googleblog.com/2026/06/what-is-new-android-xr.html Google выкатил большой апдейт по Android XR на фоне AWE 2026. Samsung Galaxy XR уже доступен в продаже, теперь подоспели и инструменты для разработчиков. ❗️Developer Preview 4 - обновлённый SDK с библиотеками сразу под два сценария: полностью иммерсивные среды и augmented-опыт через очки. Весь код можно писать и тестировать прямо с ноута через XR Emulator в Android Studio. Для мобильных приложений: 🟡 Jetpack Projected - позволяет расширить существующее мобильное приложение на дисплейные очки без переписывания с нуля. Новый Device Availability API подключается к стандартному Android Lifecycle и сам подстраивает поведение приложения в зависимости от того, надеты очки или нет. 🟡 Display glasses skill для Android CLI - агент использует знания о Jetpack Compose Glimmer и сам строит UI по рекомендованным паттернам. 🟡 Jetpack Compose Glimmer обновили: улучшили читаемость текста на прозрачных дисплеях и добавили компоненты навигации, заточенные под тачпад на очках. Бонус: В пример приводят NAVER Papago - они уже переносят свой мобильный переводчик на дисплейные очки. Для иммерсивных XR: 🟥 Geospatial API в preview - связка ARCore for Jetpack XR и Google VPS позволяет привязывать цифровой контент к реальным геолокациям с высокой точностью 🟥 Официальная поддержка Unreal Engine и Godot в дополнение к существовавшему Unity 🟥 Android XR Engine Hub - десктопный инструмент под Windows для тестирования в реальном времени прямо в viewport движка —————— 💭 ИИ конечно бежит вперед, но Google не забывает и о дополненной реальности. ПО для будущих повседневных устройств - очки (не шлемы) разрабатывается прямо сейчас. Если интересно направление XR/AR/VR - рекомендую ознакомиться с новинками от гугл и попробовать) Telegram | Селеба | Max | YouTube
2 617
16
📸 Barcode-сканер в Compose Multiplatform через expect/actual Composable https://medium.com/@kmpbits/through-the-lens-barcode
📸 Barcode-сканер в Compose Multiplatform через expect/actual Composable https://medium.com/@kmpbits/through-the-lens-barcode-scanning-in-compose-multiplatform-kmp-bits-3d04a107fa97 Автор показывает паттерн, который раньше казался спорным: expect/actual прямо на уровне @Composable. @Composable это просто функция, значит её можно объявить через expect. Контракт в commonMain, реализации в androidMain (CameraX + MLKit через AndroidView) и iosMain (UIKitView с AVCaptureSession). @Composable expect fun BarcodeScanner( onBarcodeDetected: (String) -> Unit, modifier: Modifier = Modifier ) 🔥 Подводные камни: • Не закроешь imageProxy.close() на Android - CameraX блокирует следующий фрейм, сканер молча умирает после первого • metadataObjectTypes на iOS надо ставить после addOutput в сессию - иначе тихо игнорируется • Симулятор iOS не работает - нужен физический девайс 🧠 Сам паттерн универсальный: signature pad, map view, document picker - всё, что раньше заставляло сплитить экраны на Compose+SwiftUI, теперь можно держать в shared Composable. —————— 💭 Если в проекте до сих пор сплит UI из-за платформенных компонентов - статья даст рабочий шаблон. Telegram | Селеба | Max | YouTube
2 065
17
🔄 HarmonyOS 7: от смартфонов до микрочипов Huawei представила HarmonyOS 7 с упором на ИИ, «пространственный» дизайн и усилен
🔄 HarmonyOS 7: от смартфонов до микрочипов Huawei представила HarmonyOS 7 с упором на ИИ, «пространственный» дизайн и усиленную безопасность, заявляя прирост производительности до 15%. ☝️ Главное - система теперь масштабируется до устройств с 64 КБ памяти, что делает её пригодной для IoT и датчиков с автономностью до года. ⸻ YouTube | VkVideo | Telegram
1 818
18
🏁 Шесть способов избежать race condition в корутинах https://typealias.com/articles/prevent-race-conditions-in-coroutines Ав
🏁 Шесть способов избежать race condition в корутинах https://typealias.com/articles/prevent-race-conditions-in-coroutines Автор на примере пекарни показывает классическую гонку: total += cost это read → add → write, две корутины успевают прочитать одно значение и одна перетирает другую. Вместо $1,000,000 получаем меньше. 6️⃣ В статье представлены способы починить, с кодом и трейдоффами: Atomics, StateFlow, Mutex, limitedParallelism(1), Actors и вариант без shared state вообще. 🤔 Рекомендация автора: избегать shared state если можно. Для простых типов - atomics или StateFlow. Для сложных обновлений - mutex или limitedParallelism(1). Actors на любителя. —————— 💭 Простыми примерами показано как работают все основные подходы. Полезно тем, кто еще разбирается с многопоточностью в Kotlin. Telegram | Селеба | Max | YouTube
2 338
19
🤯 RuStore тайно ставит MAX без спроса и следит за вами через GPS? Я скачал свежий билд (версия 1.103.0.3) и вскрыл его сам ч
🤯 RuStore тайно ставит MAX без спроса и следит за вами через GPS? Я скачал свежий билд (версия 1.103.0.3) и вскрыл его сам через jadx, а не пересказал чужую панику. Если коротко: градус угрозы надо сильно сбавить. Главное, о чём автор смолчал - всё что он описал никогда не происходит в реально жизни из-за технических ограничений в самом Android. Тихая установка MAX и фоновая раскатка любого софта возможны только при системной привилегии установки, которую вендор должен выдать приложению отдельно. И тут важно не спутать: быть предустановленным и быть привилегированным - это разные вещи. RuStore действительно предустановлен на части устройств, но сама по себе предустановка такой привилегии не даёт, и фоновой установки на ней нет. Закон РФ об предустановки не требует привилегий, а только сам факт чтобы приложения были установлены сразу. А если вы поставили RuStore сами из APK или у вас есть Google Play, привилегии у него и вовсе не бывает: лицензия Google для производителей смартфонов не позволяет предустановить второй привилегированный стор. То есть на обычном телефоне принудительный сценарий мёртв ещё до старта. И показательно: ни автор, ни полторы сотни комментаторов не привели ни одного живого устройства, где хотя бы одно приложение установилось само, в коде самого приложения нигде не защита установка какого-либо приложения. Поставили RuStore сами? Сбор данных включается только вашими разрешениями: не выдали, отозвали, остановили, удалили. Всё под вашим контролем, а не разработчика приложения. 📄 Подробнее в разборе в лонгрид Если зашло, накидайте реакций и напишите, чей стор вскрываем следующим тем же способом. Как насчет AppGallery от Huawei? #RuStore #DeepDive
1 705
20
🚀 Remote Compose - server-driven UI без WebView https://medium.com/justeattakeaway-tech/remote-compose-looks-promising-7a87f
🚀 Remote Compose - server-driven UI без WebView https://medium.com/justeattakeaway-tech/remote-compose-looks-promising-7a87ffdb505f Автор тестит Remote Compose - новую Jetpack-библиотеку, которая сериализует UI в бинарник, отправляет по сети и рендерит нативно. Цель - заменить WebView'ы для offers card, баннеров, holiday-экранов, которые надо менять без релиза. 🤔 В статье - разбор alpha-версии: как настроить генерацию документов через Robolectric и GitHub Pages, как воспроизвести свою дизайн-систему, что работает (нативный перформанс, анимация через time-expressions, server-driven обновления), и что пока сломано. И главный блокер - пока только Android, мультиплатформы нет. —————— 💭 Материал дает реальную картину что работает, а что нет в текущей alpha Remote Compose. KMP - нет , значит пока придется подождать Telegram | Селеба | Max | YouTube
2 451