- BrainTools - https://www.braintools.ru -

Мобильная разработка за неделю #587 (17 — 25 мая)

На этой неделе прошла I/O 2025 и главное на ней было посвящено ИИ, но и для Android-разработчиков есть много обновлений — новая навигация Jetpack Navigation 3, новые функции в Android Studio, обновления Google Play и т.д. Кроме этого новые релизы Flutter и Dart, плагин KMP для IntelliJ IDEA и Android Studio, большое обновление DivKit, тестирование без инцидентов в проде и многое другое. Заходите!

Мобильная разработка за неделю #587 (17 — 25 мая) - 1

Подписывайтесь на мой Telegram-канал Mobile Insights [1], где еще больше материалов для мобильных разработчиков.

Мобильная разработка за неделю #587 (17 — 25 мая) - 2 iOS

Когда отладчик Swift лжет: скрытая стоимость компиляторных оптимизаций [2]
Работа в Aviasales, уход в сторону от iOS, поиск информации [3]
TOP 10 горячих клавиш для Xcode [4]
Swift Plugins: ускоряем сборку проекта [5]
Объединяем Combine и Swift Concurrency [6]
Мобильная разработка за неделю #587 (17 — 25 мая) - 3 SQLite Databases in App Group Containers: Just Don’t [7]
Мобильная разработка за неделю #587 (17 — 25 мая) - 4 Using Model Context Protocol in iOS apps [8]
Мобильная разработка за неделю #587 (17 — 25 мая) - 5 Let’s Build: PrettyPrint, a Better CLI Output [9]
Мобильная разработка за неделю #587 (17 — 25 мая) - 6 Institutional Purchases: Understanding and Detecting [10]
Мобильная разработка за неделю #587 (17 — 25 мая) - 7 Mesh gradients in SwiftUI [11]
Мобильная разработка за неделю #587 (17 — 25 мая) - 8 When the Swift Debugger Lies: The Hidden Cost of Compiler Optimizations [12]
Мобильная разработка за неделю #587 (17 — 25 мая) - 9 SwiftUI: Drawing with PencilKit. Basic To (A Little) Advance [13]
Мобильная разработка за неделю #587 (17 — 25 мая) - 10 What the Diff? Understanding SwiftUI’s Diffing Engine [14]
Мобильная разработка за неделю #587 (17 — 25 мая) - 11 Combining gestures and animations with SwiftUI [15]
Мобильная разработка за неделю #587 (17 — 25 мая) - 12 Exploring concurrency changes in Swift 6.2 [16]
Мобильная разработка за неделю #587 (17 — 25 мая) - 13 Simplifying Dynamic Layouts with ViewThatFits in SwiftUI [17]
Мобильная разработка за неделю #587 (17 — 25 мая) - 14 Experience the Charm of Swift: One-Click DataFrame Export [18]
Мобильная разработка за неделю #587 (17 — 25 мая) - 15 Stop using Timer.publish in your SwiftUI views [19]
Мобильная разработка за неделю #587 (17 — 25 мая) - 16 Mastering Swift Concurrency [20]
Мобильная разработка за неделю #587 (17 — 25 мая) - 17 Unifying form validation using TCA [21]
Мобильная разработка за неделю #587 (17 — 25 мая) - 18 Graph-Based State Management in iOS Application [22]
Мобильная разработка за неделю #587 (17 — 25 мая) - 19 System Design: Design PullToRefresh for Large DataSets [23]
Мобильная разработка за неделю #587 (17 — 25 мая) - 20 The evolution of native engineering at Tripadvisor: Part 1 [24]
Мобильная разработка за неделю #587 (17 — 25 мая) - 21 Colibri: The Fully Declarative And Turing-Complete Language Lurking Inside Swift’s Type System [25]
Мобильная разработка за неделю #587 (17 — 25 мая) - 22 10 Hidden Xcode Features That Will Boost Your Productivity [26]
Мобильная разработка за неделю #587 (17 — 25 мая) - 23 App Launch Time Optimization Techniques — iOS Development [27]
Мобильная разработка за неделю #587 (17 — 25 мая) - 24 Building Scrollable Tab View Using SwiftUI [28]
Мобильная разработка за неделю #587 (17 — 25 мая) - 25 How to Cancel a Task at anytime in Swift Concurrency [29]
Мобильная разработка за неделю #587 (17 — 25 мая) - 26 Мобильная разработка за неделю #587 (17 — 25 мая) - 27 Mastering Custom Container Views in SwiftUI [30]
SwiftUI — Task Management App UI [31]
Мобильная разработка за неделю #587 (17 — 25 мая) - 28 Rosalind — анализ артефактов Xcode [32]
Мобильная разработка за неделю #587 (17 — 25 мая) - 29 Xtool — кроссплатформенная замена Xcode [33]
Мобильная разработка за неделю #587 (17 — 25 мая) - 30 ErrorKit — сообщения об ошибках Swift, удобные для человека [34]

Мобильная разработка за неделю #587 (17 — 25 мая) - 31 Android

• Видим невидимое: контроль качества Android-библиотек через объектив AppTracer Lite SDK [35]
10 трюков Jetpack Compose, о которых вы, вероятно, не знаете [36]
• Мечтают ли андроиды о Robolectric? Разбираем фреймворк по косточкам [37]
• Открываем Konfeature, нашу open-source библиотеку для удобной работы с Feature Flags [38]
• Контракты в Kotlin или как заключить сделку с совестью [39]
• Google I/O 2025. Что нового в Android [40]
Что нового в Jetpack Compose [41]
Что нового в Google Play [42]
Android Studio получает больше ИИ-функций [43]
Android XR получил модных партнеров и Android XR SDK Developer Preview 2 [44]
Google анонсирует Jetpack Navigation 3 [45]
• Развеиваем мифы о Stability в Compose: оптимизации Strong Skipping [46]
Память в Android, утечки и OOM [47]
Взлом и защита Android-приложений [48]
Моментальный запуск: как VK Клипы работают с плейбэком видео на Android [49]
Мобильная разработка за неделю #587 (17 — 25 мая) - 32 Merge Your Computations [50]
Мобильная разработка за неделю #587 (17 — 25 мая) - 33 UI layer architecture for persistent UI elements [51]
Мобильная разработка за неделю #587 (17 — 25 мая) - 34 Implementing Passkeys in Android — A Full-Stack Guide [52]
Мобильная разработка за неделю #587 (17 — 25 мая) - 35 Eliminating Array Bounds Checks [53]
Мобильная разработка за неделю #587 (17 — 25 мая) - 36 Exploring Jetpack Compose for Widgets with Glance [54]
Мобильная разработка за неделю #587 (17 — 25 мая) - 37 Deep dive into annotations in Jetpack Compose [55]
Мобильная разработка за неделю #587 (17 — 25 мая) - 38 I Got an Offer from PayPal as an Android Developer — Here’s How I Cracked the Interview [56]
Мобильная разработка за неделю #587 (17 — 25 мая) - 39 How to Create a Custom Corner Badge in Jetpack Compose [57]
Мобильная разработка за неделю #587 (17 — 25 мая) - 40 Google Play personal account wasted 42 days of my life [58]
Мобильная разработка за неделю #587 (17 — 25 мая) - 41 Mastering ProGuard in Android Multi-Module Projects [59]
Мобильная разработка за неделю #587 (17 — 25 мая) - 42 Handling Backpressure in Kotlin Flows — buffer, conflate, collectLatest, debounce, sample and throttleFirst [60]
Мобильная разработка за неделю #587 (17 — 25 мая) - 43 Retrofit 3.0.0 is Here: Less Boilerplate, More Buzz [61]
Мобильная разработка за неделю #587 (17 — 25 мая) - 44 Material 3 Expressive Design: A New Era [62]
Мобильная разработка за неделю #587 (17 — 25 мая) - 45 Most Android Apps Break This One Clean Code Rule! [63]
Мобильная разработка за неделю #587 (17 — 25 мая) - 46 Build Sawa Community application using Android Studio, Kotlin, MVVM [64]
Мобильная разработка за неделю #587 (17 — 25 мая) - 47 KotlinConf 2025 Unpacked: Upcoming Language Features, AI-Powered Development, and Kotlin Multiplatform Upgrades [65]
Мобильная разработка за неделю #587 (17 — 25 мая) - 48 Building a Clean Domain-Driven Architecture in Android [66]
Мобильная разработка за неделю #587 (17 — 25 мая) - 49 Jetbrains releases an official LSP for Kotlin [67]
Мобильная разработка за неделю #587 (17 — 25 мая) - 50 What’s new in Android [68]
Мобильная разработка за неделю #587 (17 — 25 мая) - 51 What’s new in Google Play [69]
Мобильная разработка за неделю #587 (17 — 25 мая) - 52 What’s new in Android development tools [70]
Мобильная разработка за неделю #587 (17 — 25 мая) - 53 Adaptive Android development makes your app shine across devices [71]
Мобильная разработка за неделю #587 (17 — 25 мая) - 54 Seamless video capture, editing and playback with CameraX and Media3 [72]
Мобильная разработка за неделю #587 (17 — 25 мая) - 55 Building differentiated apps for Android XR with 3D content [73]
Мобильная разработка за неделю #587 (17 — 25 мая) - 56 Unlock user productivity with desktop windowing and stylus support [74]
Мобильная разработка за неделю #587 (17 — 25 мая) - 57 Finding the perfect Gemini fit on Android [75]
Мобильная разработка за неделю #587 (17 — 25 мая) - 58 Best practices for using web in your Android apps [76]
Мобильная разработка за неделю #587 (17 — 25 мая) - 59 New in-car app experiences [77]
Мобильная разработка за неделю #587 (17 — 25 мая) - 60 Mastering text input in Compose [78]
Мобильная разработка за неделю #587 (17 — 25 мая) - 61 Build next-level UX with Material 3 Expressive [79]
Мобильная разработка за неделю #587 (17 — 25 мая) - 62 Android notifications and Live Updates [80]
Мобильная разработка за неделю #587 (17 — 25 мая) - 63 Google Home APIs, tools, and Gemini capabilities for your apps [81]
Мобильная разработка за неделю #587 (17 — 25 мая) - 64 How You Get Your Compose UI From Hundreds of Recompositions to Almost Zero [82]
Мобильная разработка за неделю #587 (17 — 25 мая) - 65 KotlinConf’25 – Day 1 Livestream (Feat. Keynote) [83]
Мобильная разработка за неделю #587 (17 — 25 мая) - 66 Gradle Configuration Cache: 2x faster, 4x smaller, and ready for Gradle 9.0 [84]
Мобильная разработка за неделю #587 (17 — 25 мая) - 67 Jetpack Compose Design Patterns — лучшие паттерны проектирования [85]
Мобильная разработка за неделю #587 (17 — 25 мая) - 68 Androidify — конструктор ботов Android с новейшими технологиями [86]
Мобильная разработка за неделю #587 (17 — 25 мая) - 69 ZenTone — звуковой сигнал нужной частоты и громкости в Android [87]
Мобильная разработка за неделю #587 (17 — 25 мая) - 70 WikWok — Википедия в стиле TikTok [88]

Мобильная разработка за неделю #587 (17 — 25 мая) - 71 Кроссплатформа

Новый плагин KMP для IntelliJ IDEA и Android Studio [89]
• Нативная мощь: Flutter SDK на C++ ядре. Часть 1 [90]
• Как я пытался спасти аккаунт разработчика в Google Play и в итоге сделал крипто-приложение [91]
• Flutter 3.32 — Что нового во Flutter? [92]
Dart 3.8 — что нового в Dart? [93]
• KStorage — единый подход к key-value хранилищам на Kotlin Multiplatform [94]
• Аналитика во Flutter-приложениях: Какие события отслеживать, примеры архитектур и настройка Firebase [95]
• Generics в Dart [96]
Настраиваем навигацию во Flutter-приложении через AutoRoute [97]
Мобильная разработка за неделю #587 (17 — 25 мая) - 72 Inspect Flutter API Calls in Chrome DevTools [98]
Мобильная разработка за неделю #587 (17 — 25 мая) - 73 6 weeks into React Native dev. App works. I don’t. [99]
Мобильная разработка за неделю #587 (17 — 25 мая) - 74 Flutter Push Notifications: A Complete Guide (Android + iOS) [100]
Мобильная разработка за неделю #587 (17 — 25 мая) - 75 Dart & Flutter momentum at Google I/O 2025 [101]
Мобильная разработка за неделю #587 (17 — 25 мая) - 76 A Pragmatic Guide to Migrating from Native to React Native (or choosing not to) [102]
Мобильная разработка за неделю #587 (17 — 25 мая) - 77 Flutter on ARMv6 [103]
Мобильная разработка за неделю #587 (17 — 25 мая) - 78 Demystify KMP builds and structure [104]

Мобильная разработка за неделю #587 (17 — 25 мая) - 79 Разработка

Нам не нужно больше приложений — нам нужны лучшие приложения [105]
• Большое обновление DivKit: визуальный редактор, поддержка форм, аниматоры [106]
Stitch — новый ИИ-генератор дизайна от Google [107]
• Это не шутка: чем «Аврора» уже круче Android [108]
Google I/O 2025 Keynote: ожидания vs реальность. И первые впечатления, конечно [109]
• Тестирование без инцидентов в проде. Утопия или реальность? [110]
Стажировок мало, а джуны должны уметь всё: как становятся ИТ-специалистом в 2025 году [111]
Как тимлиду принимать сложные решения [112]
Язык программирования будущего – английский: визионерство, LLM, новая парадигма [113]
Как собеседовать мобильных инженеров? Системный дизайн спешит на помощь! [114] (все собеседования [115])
Проводим и проходим Mobile System Design-интервью [116]
Что такое Language Server Protocol и зачем он нужен [117]
Мобильная разработка за неделю #587 (17 — 25 мая) - 80 The Dumbest Move in Tech Right Now: Laying Off Developers Because of AI [118]
Мобильная разработка за неделю #587 (17 — 25 мая) - 81 Coding Without a Laptop — Two Weeks with AR Glasses and Linux on Android [119]

Мобильная разработка за неделю #587 (17 — 25 мая) - 82 Аналитика, маркетинг и монетизация

Fortnite вернулся в App Store [120]
Spotify заявляет, что поддержка внешних платежей на iOS уже увеличила количество подписок [121]
Маркетологи в мобайле: Елена Зайцева (СМО Достависта) [122]
Мобильная разработка за неделю #587 (17 — 25 мая) - 83 Duolingo’s small UI switch that changes everything [123]

Мобильная разработка за неделю #587 (17 — 25 мая) - 84 AI, Устройства, IoT

• На входе аудио, на выходе — саммари. Собираем локальный транскрибатор из бесплатного софта [124]
• Знакомьтесь, FRIDA. Открытая эмбеддинг-модель для русского языка [125]
• Как я взломал миллионы умных весов через уязвимости в API и железе [126]
• Умный дом без боли: интеграция нейросетей в Node-RED шаг за шагом [127]
• E-paper Arduino термометр на ESP-IDF [128]
• Умная квартира с видом на Енисей: есть ли смысл в XIOT? [129]
• Хочу умный дом, умнее меня: история одного концепта [130]
• OpenAI покупает компанию Джони Айва [131]
• Vertex AI превращается в Firebase AI Logic [132]
• Google выпустил приложение NotebookLM [133]
• GitHub запустил нового ИИ-агента в Copilot [134]
• OpenAI запускает Codex, агента по разработке, в ChatGPT [135]
• MagicMirror — умное зеркало своими руками [136]
Мобильная разработка за неделю #587 (17 — 25 мая) - 85 How Google is accelerating code migrations with AI [137]
Мобильная разработка за неделю #587 (17 — 25 мая) - 86 How Pinterest Accelerates ML Feature Iterations via Effective Backfill [138]

Предыдущий дайджест [139]. Если у вас есть другие интересные материалы или вы нашли ошибку [140] — пришлите, пожалуйста, в почту [141].

Автор: RoboForm

Источник [142]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/15554

URLs in this post:

[1] Mobile Insights: https://t.me/apptractor

[2] Когда отладчик Swift лжет: скрытая стоимость компиляторных оптимизаций: https://apptractor.ru/info/articles/kogda-otladchik-swift-lzhet.html

[3] Работа в Aviasales, уход в сторону от iOS, поиск информации: https://apptractor.ru/info/media/rabota-v-aviasales-uhod-v-storonu-ot-ios-poisk-informatsii.html

[4] TOP 10 горячих клавиш для Xcode: https://apptractor.ru/info/media/top-10-goryachih-klavish-dlya-xcodu.html

[5] Swift Plugins: ускоряем сборку проекта: https://apptractor.ru/info/media/swift-plugins-uskoryaem-sborku-proekta.html

[6] Объединяем Combine и Swift Concurrency: https://apptractor.ru/info/media/obedinyaem-combine-i-swift-concurrency-2.html

[7] SQLite Databases in App Group Containers: Just Don’t: https://ryanashcraft.com/sqlite-databases-in-app-group-containers/

[8] Using Model Context Protocol in iOS apps: https://www.artemnovichkov.com/blog/using-model-context-protocol-in-ios-apps

[9] Let’s Build: PrettyPrint, a Better CLI Output: https://swifttoolkit.dev/posts/LB-pretty-print

[10] Institutional Purchases: Understanding and Detecting: https://www.avanderlee.com/optimization/institutional-purchases-volume-purchase-program/

[11] Mesh gradients in SwiftUI: https://nilcoalescing.com/blog/MeshGradientsInSwiftUI/

[12] When the Swift Debugger Lies: The Hidden Cost of Compiler Optimizations: https://www.debuglife.blog/post/when-the-swift-debugger-lies-1

[13] SwiftUI: Drawing with PencilKit. Basic To (A Little) Advance: https://levelup.gitconnected.com/swiftui-drawing-with-pencilkit-basic-to-a-little-advance-8bc991279593

[14] What the Diff? Understanding SwiftUI’s Diffing Engine: https://medium.com/@wesleymatlock/what-the-diff-understanding-swiftuis-diffing-engine-2d18d645e474

[15] Combining gestures and animations with SwiftUI: https://www.createwithswift.com/combining-gestures-and-animations-with-swiftui/

[16] Exploring concurrency changes in Swift 6.2: https://www.donnywals.com/exploring-concurrency-changes-in-swift-6-2/

[17] Simplifying Dynamic Layouts with ViewThatFits in SwiftUI: https://medium.com/gitconnected/simplifying-dynamic-layouts-with-viewthatfits-in-swiftui-61b286d527d5

[18] Experience the Charm of Swift: One-Click DataFrame Export: https://fatbobman.com/en/posts/experience-the-charm-of-swift-one-click-export-dataframe/

[19] Stop using Timer.publish in your SwiftUI views: https://medium.com/parable-engineering/stop-using-timer-publish-in-your-swiftui-views-498ff270860f

[20] Mastering Swift Concurrency: https://medium.com/@tapos-datta/mastering-swift-concurrency-part-1-3-71ece658d0c0

[21] Unifying form validation using TCA: https://medium.com/aviv-product-tech-blog/unifying-form-validation-using-tca-e582b919cc02

[22] Graph-Based State Management in iOS Application: https://medium.com/@muukii/graph-based-state-management-in-ios-application-8dd4d0cc62f0

[23] System Design: Design PullToRefresh for Large DataSets: https://medium.com/@therahulgoel/system-design-002-design-pulltorefresh-for-large-dataset-f0e132737ea0

[24] The evolution of native engineering at Tripadvisor: Part 1: https://medium.com/tripadvisor/the-evolution-of-native-engineering-at-tripadvisor-part-1-577cc0e36ec8

[25] Colibri: The Fully Declarative And Turing-Complete Language Lurking Inside Swift’s Type System: https://medium.com/@decodemeester/colibri-the-fully-declarative-and-turing-complete-language-lurking-inside-swifts-type-system-9adfa27ce5ca

[26] 10 Hidden Xcode Features That Will Boost Your Productivity: https://medium.com/@kotiavula6/10-hidden-xcode-features-that-will-boost-your-productivity-df8b221b61c7

[27] App Launch Time Optimization Techniques — iOS Development: https://medium.com/@tanishqarora-ios/app-launch-time-optimization-techniques-ios-development-6ffe40a6d3ac

[28] Building Scrollable Tab View Using SwiftUI: https://www.youtube.com/watch?v=c6lMKH5uKy8

[29] How to Cancel a Task at anytime in Swift Concurrency: https://www.youtube.com/watch?v=LVWZG9QuMLg

[30] Mastering Custom Container Views in SwiftUI: https://www.youtube.com/watch?v=m36JEJkO6Y0

[31] SwiftUI — Task Management App UI: https://www.youtube.com/watch?v=n0P8fKUuIqk

[32] Rosalind — анализ артефактов Xcode: https://apptractor.ru/info/github/rosalind.html

[33] Xtool — кроссплатформенная замена Xcode: https://apptractor.ru/info/github/xtool.html

[34] ErrorKit — сообщения об ошибках Swift, удобные для человека: https://apptractor.ru/info/articles/errorkit.html

[35] Видим невидимое: контроль качества Android-библиотек через объектив AppTracer Lite SDK: https://habr.com/ru/companies/vk/articles/911120/

[36] 10 трюков Jetpack Compose, о которых вы, вероятно, не знаете: https://apptractor.ru/develop/10-tryukov-jetpack-compose.html

[37] Мечтают ли андроиды о Robolectric? Разбираем фреймворк по косточкам: https://habr.com/ru/companies/alfa/articles/910226/

[38] Открываем Konfeature, нашу open-source библиотеку для удобной работы с Feature Flags: https://habr.com/ru/companies/redmadrobot/articles/911972/

[39] Контракты в Kotlin или как заключить сделку с совестью: https://habr.com/ru/articles/910924/

[40] Google I/O 2025. Что нового в Android: https://habr.com/ru/companies/usetech/articles/911722/

[41] Что нового в Jetpack Compose: https://apptractor.ru/info/articles/chto-novogo-v-jetpack-compose.html

[42] Что нового в Google Play: https://apptractor.ru/info/news/chto-novogo-v-google-play.html

[43] Android Studio получает больше ИИ-функций: https://apptractor.ru/info/news/android-studio-poluchaet-bolshe-ii-funktsiy.html

[44] Android XR получил модных партнеров и Android XR SDK Developer Preview 2: https://apptractor.ru/info/devices/android-xr-poluchil-modnyh-partnerov-i-android-xr-sdk-developer-preview-2.html

[45] Google анонсирует Jetpack Navigation 3: https://apptractor.ru/info/news/jetpack-navigation-3.html

[46] Развеиваем мифы о Stability в Compose: оптимизации Strong Skipping: https://habr.com/ru/articles/912490/

[47] Память в Android, утечки и OOM: https://apptractor.ru/info/media/pamyat-v-android-utechki-i-oom.html

[48] Взлом и защита Android-приложений: https://apptractor.ru/info/media/vzlom-i-zaschita-android-prilozheniy.html

[49] Моментальный запуск: как VK Клипы работают с плейбэком видео на Android: https://apptractor.ru/info/media/momentalnyy-zapusk-kak-vk-klipy-rabotayut-s-pleybekom-video-na-android.html

[50] Merge Your Computations: https://www.romainguy.dev/posts/2025/merge-your-computations/

[51] UI layer architecture for persistent UI elements: https://www.tunjid.com/articles/ui-layer-architecture-for-persistent-ui-elements-68248e8ecc8e85f53ce1aa46

[52] Implementing Passkeys in Android — A Full-Stack Guide: https://proandroiddev.com/implementing-passkeys-in-android-a-full-stack-guide-9436744af9ab

[53] Eliminating Array Bounds Checks: https://www.romainguy.dev/posts/2025/eliminating-array-bounds-checks/

[54] Exploring Jetpack Compose for Widgets with Glance: https://joebirch.co/android/exploring-jetpack-compose-for-widgets-with-glance/

[55] Deep dive into annotations in Jetpack Compose: https://blog.shreyaspatil.dev/deep-dive-into-annotations-in-jetpack-compose

[56] I Got an Offer from PayPal as an Android Developer — Here’s How I Cracked the Interview: https://medium.com/@YodgorbekKomilo/i-got-an-offer-from-paypal-as-an-android-developer-heres-how-i-cracked-the-interview-789296337182

[57] How to Create a Custom Corner Badge in Jetpack Compose: https://medium.com/@kappdev/how-to-create-a-custom-corner-badge-in-jetpack-compose-acabd4cc04ca

[58] Google Play personal account wasted 42 days of my life: https://www.reddit.com/r/FlutterDev/comments/1kr5i7z/google_play_personal_account_wasted_42_days_of_my/

[59] Mastering ProGuard in Android Multi-Module Projects: https://drjansari.medium.com/mastering-proguard-in-android-multi-module-projects-agp-8-4-r8-and-consumable-rules-ae28074b6f1f

[60] Handling Backpressure in Kotlin Flows — buffer, conflate, collectLatest, debounce, sample and throttleFirst: https://medium.com/@yash30401/handling-backpressure-in-kotlin-flows-buffer-conflate-collectlatest-debounce-sample-and-373222f7c1e1

[61] Retrofit 3.0.0 is Here: Less Boilerplate, More Buzz: https://medium.com/@ravinnpawar/retrofit-3-0-0-is-here-less-boilerplate-more-buzz-b3964329fcdd

[62] Material 3 Expressive Design: A New Era: https://medium.com/@stefanoq21/material-3-expressive-design-a-new-era-9ea77959a262

[63] Most Android Apps Break This One Clean Code Rule!: https://proandroiddev.com/most-android-apps-break-this-one-clean-code-rule-f2fb44f98e90

[64] Build Sawa Community application using Android Studio, Kotlin, MVVM: https://medium.com/@shouqalbdrani/build-sawa-community-application-using-android-studio-kotlin-mvvm-d02a1e83364f

[65] KotlinConf 2025 Unpacked: Upcoming Language Features, AI-Powered Development, and Kotlin Multiplatform Upgrades: https://blog.jetbrains.com/kotlin/2025/05/kotlinconf-2025-language-features-ai-powered-development-and-kotlin-multiplatform/

[66] Building a Clean Domain-Driven Architecture in Android: https://medium.com/@artembambalov1993/building-a-clean-domain-driven-architecture-in-android-756b2815ef69

[67] Jetbrains releases an official LSP for Kotlin: https://github.com/Kotlin/kotlin-lsp

[68] What’s new in Android: https://www.youtube.com/watch?v=IaNpcrCSDiI

[69] What’s new in Google Play: https://www.youtube.com/watch?v=POUqfDBtRbg

[70] What’s new in Android development tools: https://www.youtube.com/watch?v=KXKP2tDPW4Y

[71] Adaptive Android development makes your app shine across devices: https://www.youtube.com/watch?v=15oPNK1W0Tw

[72] Seamless video capture, editing and playback with CameraX and Media3: https://www.youtube.com/watch?v=3zXVPU2vKXs

[73] Building differentiated apps for Android XR with 3D content: https://www.youtube.com/watch?v=KbTJNK1ALYc

[74] Unlock user productivity with desktop windowing and stylus support: https://www.youtube.com/watch?v=MmeJSLAnB-M

[75] Finding the perfect Gemini fit on Android: https://www.youtube.com/watch?v=7Tnq4y7T4xs

[76] Best practices for using web in your Android apps: https://www.youtube.com/watch?v=2IAoYnzCTvw

[77] New in-car app experiences: https://www.youtube.com/watch?v=ud09zuXHst4

[78] Mastering text input in Compose: https://www.youtube.com/watch?v=07Y9CPuxgvQ

[79] Build next-level UX with Material 3 Expressive: https://www.youtube.com/watch?v=6IsFP3gD28E

[80] Android notifications and Live Updates: https://www.youtube.com/watch?v=ihR8hL_Hmec

[81] Google Home APIs, tools, and Gemini capabilities for your apps: https://www.youtube.com/watch?v=BmEuE_Er-Fs

[82] How You Get Your Compose UI From Hundreds of Recompositions to Almost Zero: https://www.youtube.com/watch?v=d8SXNwy6VDs

[83] KotlinConf’25 – Day 1 Livestream (Feat. Keynote): https://www.youtube.com/watch?v=PYAPymKRKVA

[84] Gradle Configuration Cache: 2x faster, 4x smaller, and ready for Gradle 9.0: https://www.youtube.com/watch?v=SW0x_oRXbYw

[85] Jetpack Compose Design Patterns — лучшие паттерны проектирования: https://apptractor.ru/info/github/jetpack-compose-design-patterns-luchshie-patterny-proektirovaniya.html

[86] Androidify — конструктор ботов Android с новейшими технологиями: https://apptractor.ru/info/github/androidify-konstruktor-botov-android-s-noveyshimi-tehnologiyami.html

[87] ZenTone — звуковой сигнал нужной частоты и громкости в Android: https://apptractor.ru/info/github/zentone.html

[88] WikWok — Википедия в стиле TikTok: https://apptractor.ru/info/github/wikwok.html

[89] Новый плагин KMP для IntelliJ IDEA и Android Studio: https://apptractor.ru/info/news/novyy-plagin-kmp-dlya-intellij-idea-i-android-studio.html

[90] Нативная мощь: Flutter SDK на C++ ядре. Часть 1: https://habr.com/ru/companies/2gis/articles/898804/

[91] Как я пытался спасти аккаунт разработчика в Google Play и в итоге сделал крипто-приложение: https://habr.com/ru/articles/910612/

[92] Flutter 3.32 — Что нового во Flutter?: https://habr.com/ru/articles/912462/

[93] Dart 3.8 — что нового в Dart?: https://habr.com/ru/articles/912544/

[94] KStorage — единый подход к key-value хранилищам на Kotlin Multiplatform: https://habr.com/ru/articles/910392/

[95] Аналитика во Flutter-приложениях: Какие события отслеживать, примеры архитектур и настройка Firebase: https://habr.com/ru/companies/otus/articles/910810/

[96] Generics в Dart: https://habr.com/ru/articles/912124/

[97] Настраиваем навигацию во Flutter-приложении через AutoRoute: https://www.youtube.com/watch?v=nn9gmFcEFM0

[98] Inspect Flutter API Calls in Chrome DevTools: https://rathorerahul586.medium.com/inspect-flutter-api-calls-in-chrome-devtools-35cae9681f93

[99] 6 weeks into React Native dev. App works. I don’t.: https://www.reddit.com/r/reactnative/comments/1kq5nju/6_weeks_into_react_native_dev_app_works_i_dont/

[100] Flutter Push Notifications: A Complete Guide (Android + iOS): https://medium.com/@agarwal.lucky93/flutter-push-notifications-a-complete-guide-android-ios-83b90f06fd50

[101] Dart & Flutter momentum at Google I/O 2025: https://medium.com/flutter/dart-flutter-momentum-at-google-i-o-2025-4863aa4f84a4

[102] A Pragmatic Guide to Migrating from Native to React Native (or choosing not to): https://dcordero.me/posts/the-pragmatic-guide-from-native-to-react-native.html

[103] Flutter on ARMv6: https://www.industrialflutter.com/blogs/flutter-on-armv6/

[104] Demystify KMP builds and structure: https://www.youtube.com/watch?v=gP5Y-ct6QXI

[105] Нам не нужно больше приложений — нам нужны лучшие приложения: https://apptractor.ru/info/articles/nam-ne-nuzhno-bolshe-prilozheniy-nam-nuzhny-luchshie-prilozheniya.html

[106] Большое обновление DivKit: визуальный редактор, поддержка форм, аниматоры: https://habr.com/ru/companies/yandex/articles/909300/

[107] Stitch — новый ИИ-генератор дизайна от Google: https://apptractor.ru/info/news/stitch.html

[108] Это не шутка: чем «Аврора» уже круче Android: https://habr.com/ru/articles/911504/

[109] Google I/O 2025 Keynote: ожидания vs реальность. И первые впечатления, конечно: https://habr.com/ru/companies/surfstudio/articles/911848/

[110] Тестирование без инцидентов в проде. Утопия или реальность?: https://habr.com/ru/companies/itfb/articles/911760/

[111] Стажировок мало, а джуны должны уметь всё: как становятся ИТ-специалистом в 2025 году: https://apptractor.ru/info/media/stazhirovok-malo-a-dzhuny-dolzhny-umet-vsyo-kak-stanovyatsya-it-spetsialistom-v-2025-godu.html

[112] Как тимлиду принимать сложные решения: https://apptractor.ru/info/media/kak-timlidu-prinimat-slozhnye-resheniya.html

[113] Язык программирования будущего – английский: визионерство, LLM, новая парадигма: https://apptractor.ru/info/media/yazyk-programmirovaniya-buduschego-angliyskiy-vizionerstvo-llm-novaya-paradigma.html

[114] Как собеседовать мобильных инженеров? Системный дизайн спешит на помощь!: https://apptractor.ru/info/media/kak-sobesedovat-mobilnyh-inzhenerov-sistemnyy-dizayn-speshit-na-pomosch.html

[115] собеседования: https://apptractor.ru/sobesedovaniya

[116] Проводим и проходим Mobile System Design-интервью: https://apptractor.ru/info/media/provodim-i-prohodim-mobile-system-design-intervyu.html

[117] Что такое Language Server Protocol и зачем он нужен: https://apptractor.ru/info/articles/language-server-protocol.html

[118] The Dumbest Move in Tech Right Now: Laying Off Developers Because of AI: https://ppaolo.substack.com/p/the-dumbest-move-in-tech-right-now

[119] Coding Without a Laptop — Two Weeks with AR Glasses and Linux on Android: https://holdtherobot.com/blog/2025/05/11/linux-on-android-with-ar-glasses/

[120] Fortnite вернулся в App Store: https://apptractor.ru/info/apps/fortnite-vernulsya-v-app-store.html

[121] Spotify заявляет, что поддержка внешних платежей на iOS уже увеличила количество подписок: https://apptractor.ru/marketing-monetization/app-monetization/spotify-zayavlyaet-chto-podderzhka-vneshnih-platezhey-na-ios-uzhe-uvelichila-kolichestvo-podpisok.html

[122] Маркетологи в мобайле: Елена Зайцева (СМО Достависта): https://apptractor.ru/info/interview/marketologi-v-mobayle-elena-zaytseva-smo-dostavista.html

[123] Duolingo’s small UI switch that changes everything: https://uxdesign.cc/duolingos-small-ui-switch-that-changes-everything-fae257203633

[124] На входе аудио, на выходе — саммари. Собираем локальный транскрибатор из бесплатного софта: https://habr.com/ru/companies/alfa/articles/909498/

[125] Знакомьтесь, FRIDA. Открытая эмбеддинг-модель для русского языка: https://habr.com/ru/companies/sberdevices/articles/909924/

[126] Как я взломал миллионы умных весов через уязвимости в API и железе: https://habr.com/ru/companies/bastion/articles/910492/

[127] Умный дом без боли: интеграция нейросетей в Node-RED шаг за шагом: https://habr.com/ru/companies/ru_mts/articles/911634/

[128] E-paper Arduino термометр на ESP-IDF: https://habr.com/ru/articles/912324/

[129] Умная квартира с видом на Енисей: есть ли смысл в XIOT?: https://habr.com/ru/companies/wirenboard/articles/912024/

[130] Хочу умный дом, умнее меня: история одного концепта: https://habr.com/ru/articles/909516/

[131] OpenAI покупает компанию Джони Айва: https://apptractor.ru/info/devices/openai-pokupaet-kompaniyu-dzhoni-ayva.html

[132] Vertex AI превращается в Firebase AI Logic: https://apptractor.ru/info/news/vertex-ai-prevraschaetsya-v-firebase-ai-logic.html

[133] Google выпустил приложение NotebookLM: https://apptractor.ru/info/apps/google-vypustil-prilozhenie-notebooklm.html

[134] GitHub запустил нового ИИ-агента в Copilot: https://apptractor.ru/info/news/github-zapustil-novogo-ii-agenta-v-copilot.html

[135] OpenAI запускает Codex, агента по разработке, в ChatGPT: https://apptractor.ru/info/news/openai-zapuskaet-codex-agenta-po-razrabotke-v-chatgpt.html

[136] MagicMirror — умное зеркало своими руками: https://apptractor.ru/info/techhype/magicmirror-umnoe-zerkalo-svoimi-rukami.html

[137] How Google is accelerating code migrations with AI: https://newsletter.getdx.com/p/how-google-is-accelerating-code-migrations-with-ai

[138] How Pinterest Accelerates ML Feature Iterations via Effective Backfill: https://medium.com/pinterest-engineering/how-pinterest-accelerates-ml-feature-iterations-via-effective-backfill-d67ea125519c

[139] Предыдущий дайджест: https://habr.com/ru/articles/910376/

[140] ошибку: http://www.braintools.ru/article/4192

[141] почту: mailto:lbogolubov@gmail.com

[142] Источник: https://habr.com/ru/articles/912642/?utm_source=habrahabr&utm_medium=rss&utm_campaign=912642

www.BrainTools.ru

Rambler's Top100