- BrainTools - https://www.braintools.ru -
Подписывайтесь на мой Telegram-канал Mobile Insights [1], где еще больше материалов для мобильных разработчиков.
iOS
• 10 хаков для оптимизации производительности iOS-приложений [2]
• Соединяем две точки с помощью отрезков прямых линий и закругленных углов в SwiftUI [3]
• Дивный мир Swift Concurrency [4]
• Задачи с собеседований: Leetcode — Недостающее число [5]
• Разработка под Apple Vision Pro [6]
• Размещение UI-компонентов в пределах отступов Safe Area [7]
• Как встроить в TextField индикатор загрузки и кастомную View [8]
• Евросоюз заставит Apple полностью раскрыть функции iPhone сторонним разработчикам [9]
• Rendering Pixel Art with SwiftUI [10]
• How to Seamlessly Use Swift Package Manager (SPM) and CocoaPods (POD) Together with the Same SDK [11]
• Parsing JSON using the Codable Protocol [12]
• TabletopKit tutorial [13]
• Identifying individual sounds in an audio file [14]
• Exploring The LabeledContent View In SwiftUI [15]
• Performing your app actions with Siri through App Shortcuts Provider [16]
• SwiftUI: Simple Workout App with HealthKit [17]
• Using Proxyman to Intercept and Simulate iPhone App Network Requests [18]
• Interview Experience for SDE-II iOS at Flipkart [19]
• Access Modifiers in Swift [20]
• Dynamically adapting to available space with ViewThatFits [21]
• Don’t rely on BGAppRefreshTask for your app’s business logic [22]
• Vibe Coding with Cursor AI [23]
• Why The Composable Architecture is Overrated [24]
• Animated Async Button With Custom Spinner Using SwiftUI [25]
• Master SwiftUI Layout With EASY Spacing And Padding [26]
• ChatGPT Pro for iOS Devs: HONEST Review [27]
• Create Custom Tab Bars in SwiftUI – An Alternative to Default Tabs [28]
• VisionOS Style Menus for iOS Using SwiftUI [29]
• Soundscape — 3D-звук для всех [30]
• Go Cycling — велотрекер для iOS [31]
Android
• Demeter в опенсорсе: реактивное профилирование Android-приложений [32]
• Создаём многомодульную библиотеку на Android: как же собрать fat-aar? [33]
• Protobuf против JSON для Android-разработки [34]
• Передача данных от ESP32 по Bluetooth LE к Android [35]
• Ликбез по разрешениям в Android [36]
• Кастомные лейауты в Jetpack Compose [37]
• Мапим данные из domain в ui модуль в многомодульном проекте [38]
• Поиск Google и Play Store так же нарушают DMA, считает ЕС [39]
• Why Visual Testing Is Critical for Mobile App Quality [40]
• Using the Android Context and Manifest to Unveil the Android System Mechanics [41]
• Enhancing Dropdown Menus in Jetpack Compose: Implementing Searchable Selection [42]
• How to Develop Firebase Genkit Flows [43]
• Unit Testing Lifecycle and State in ViewModels [44]
• 12 tips to mastering Kotlin Coroutines [45]
• Kotlin for Seniors: Stop Writing Code, Start Crafting it. Infix. [46]
• System Design for Airbnb’s Android Application [47]
• Kotlin 2 Guard Condition [48]
• Material3 Color System Basics for Android Developers [49]
• Bump’s Journey into Delightful Experiences on Android with Jetpack Compose [50]
• Android Studio Meerkat Feature Drop [51]
• Avoiding Memory Leaks in Android: Best Practices for Context Usage [52]
• Kotlin for Seniors: 3 Powerful Features You Should Know [53]
• Android Studio Narwhal Canary 1 now available [54]
• Firebender: Most powerful, privacy-first coding assistant for Android Studio [55]
• Kotlin 2.1.20 Released [56]
• Full 2025 Kotlin Crash Course For Beginners [57]
• Create Boilerplate Files With ONE Click With Multi-File Templates In Android Studio [58]
• Mastering UI Events and States in Jetpack Compose [59]
• Parsing XML namespaces and trying not to lose our minds [60]
• Fighting the Elephant — Gradle Convention Plugins [61]
• Shader Ripple Effect Playground — библиотека шейдерных AGSL эффектов [62]
• HandWriting — все для рисования [63]
• OpenNote — Markdown редактор и блокнот для Android на Compose [64]
Кроссплатформа
• Полезные библиотеки для React-приложений в 2025 году: на что обратить внимание [65]
• Кроссплатформенные фреймворки поставили рекорд по распространению в 2024 [66]
• 5 причин плохого настроения. История одного Flutter-проекта, который заставил нас поломать голову [67]
• Рецепт приготовления кроссплатформенного мобильного видеоредактора [68]
• How to Use Swift Packages in Kotlin Multiplatform using Koin [69]
• Fastlane in Kotlin Multiplatform projects [70]
• No macros in Dart, how to replace freezed? [71]
• The final word on Flutter architecture [72]
• Sharing Data and Files In Compose Multiplatform [73]
• Implementing Keyboard Accessibility in Flutter [74]
• Build a Video Streaming App like YouTube [75]
Разработка
• Зумеры не просто слушают — они хотят, чтобы их слушали. Как баг изменил наш взгляд на продукт [76]
• 20 идей из интервью с Питером Левелсом: про создание стартапов в одиночку, минимализм и жизнь цифрового кочевника [77]
• Интерфейсы: к вопросу о размерах пальцев и кнопочек [78]
• Что написание кода искусственным интеллектом значит для стартапов? [79]
• Выжимаем максимум из код-ревью и спасаем нервные клетки [80]
• Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов (#10) [81]
• Javascript для бэкенда – отличная идея: Node.js, NPM, Typescript [82]
• Собеседование по System Design: проектируем клон Авито [83]
• TurinTech исправляет последствия «вайб кодинга» [84]
• Discord запустил Social SDK [85]
• Cursor сказал человеку, чтобы тот сам писал свой код [86]
• Systems Ideas that Sound Good But Almost Never Work [87]
• Career advice in 2025 [88]
• Software Development Has Too Much Software In It [89]
• Building MCP with Kotlin: Claude Desktop Controls My Smart Home Lights [90]
• Cursor Talk to Figma MCP — создание дизайна в Figma с помощью ИИ [91]
Аналитика, маркетинг и монетизация
• Приложения с подпиской 2025 — отчет RevenueCat [92]
• В Adapty выпустили FunnelFox — конструктор Web2App воронок [93]
• Рост мобильного гейминга возобновляется: ИИ, гибридная монетизация и новые стратегии привлечения пользователей [94]
• Galaxy Store снижает комиссию [95]
• Самые скачиваемые и зарабатывающие приложения в мире в феврале 2024 [96]
• Merge Mansion: +50% Revenue to Reclaim the Top Spot [97]
AI, Устройства, IoT
• Как я победил в RAG Challenge: от нуля до SoTA за один конкурс [98]
• Как машинное обучение увеличило доход Duolingo на миллионы долларов [99]
• Machine learning на ESP32 [100]
• Tasmota + Алиса = любовь. Протокол Matter в самодельных и перепрошитых устройствах умного дома [101]
• Тестируем YandexGPT-5. Когда хотелось быть ChatGPT, но в душе всё ещё Алиса [102]
• Дедупликация объявлений: как мы боремся с одинаковыми размещениями [103]
• Умный домофон SmartIntercom. Ещё один… ДВА [104]
• Демистифицируем машинное обучение – из разработчика в ML-инженеры [105]
• Новая ИИ-модель Roblox может генерировать 3D-объекты [106]
← Предыдущий дайджест [107]. Если у вас есть другие интересные материалы или вы нашли ошибку [108] — пришлите, пожалуйста, в почту [109].
Автор: RoboForm
Источник [110]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/13452
URLs in this post:
[1] Mobile Insights: https://t.me/apptractor
[2] 10 хаков для оптимизации производительности iOS-приложений: https://apptractor.ru/info/articles/10-hakov-dlya-optimizatsii-proizvoditelnosti-ios-prilozheniy.html
[3] Соединяем две точки с помощью отрезков прямых линий и закругленных углов в SwiftUI: https://apptractor.ru/info/articles/soedinyaem-dve-tochki-s-pomoschyu-otrezkov-pryamyh-liniy-i-zakruglennyh-uglov-v-swiftui.html
[4] Дивный мир Swift Concurrency: https://apptractor.ru/info/media/divnyy-mir-swift-concurrency.html
[5] Задачи с собеседований: Leetcode — Недостающее число: https://apptractor.ru/info/media/zadachi-s-sobesedovaniy-leetcode-nedostayuschee-chislo.html
[6] Разработка под Apple Vision Pro: https://apptractor.ru/info/media/razrabotka-pod-apple-vision-pro.html
[7] Размещение UI-компонентов в пределах отступов Safe Area: https://apptractor.ru/info/articles/razmeschenie-ui-komponentov-v-predelah-otstupov-safe-area.html
[8] Как встроить в TextField индикатор загрузки и кастомную View: https://apptractor.ru/info/media/kak-vstroit-v-textfield-indikator-zagruzki-i-kastomnuyu-view.html
[9] Евросоюз заставит Apple полностью раскрыть функции iPhone сторонним разработчикам: https://apptractor.ru/info/news/evrosoyuz-zastavit-apple-polnostyu-raskryt-funktsii-iphone-vsem-kto-poprosit.html
[10] Rendering Pixel Art with SwiftUI: https://twocentstudios.com/2025/03/10/pixel-art-swift-ui/
[11] How to Seamlessly Use Swift Package Manager (SPM) and CocoaPods (POD) Together with the Same SDK: https://dementievmykola.com/blog/how_to_seamlessly_use_swift_package_manager_spm_and_cocoa_pods_pod_together_with_the_same_sdk/how_to_seamlessly_use_swift_package_manager_spm_and_cocoa_pods_pod_together_with_the_same_sdk/
[12] Parsing JSON using the Codable Protocol: https://www.ioscoffeebreak.com/issue/issue37
[13] TabletopKit tutorial: https://vision.rodeo/tabletopkit/
[14] Identifying individual sounds in an audio file: https://www.createwithswift.com/identifying-individual-sounds-in-an-audio-file/
[15] Exploring The LabeledContent View In SwiftUI: https://serialcoder.dev/text-tutorials/swiftui/exploring-the-labeledcontent-view-in-swiftui/
[16] Performing your app actions with Siri through App Shortcuts Provider: https://www.createwithswift.com/performing-your-app-actions-with-siri-through-app-shortcuts-provider/
[17] SwiftUI: Simple Workout App with HealthKit: https://levelup.gitconnected.com/swiftui-simple-workout-app-with-healthkit-part-1-793cd1cd6333
[18] Using Proxyman to Intercept and Simulate iPhone App Network Requests: https://fatbobman.com/en/posts/using-proxyman-to-intercept-and-simulate-iphone-app-network-requests/
[19] Interview Experience for SDE-II iOS at Flipkart: https://medium.com/@rishixcode/interview-experience-for-sde-ii-ios-at-flipkart-ac6b8f865647
[20] Access Modifiers in Swift: https://medium.com/@minalkewat/access-modifiers-in-swift-1667080efd37
[21] Dynamically adapting to available space with ViewThatFits: https://www.createwithswift.com/dynamically-adapting-to-available-space-with-viewthatfits/
[22] Don’t rely on BGAppRefreshTask for your app’s business logic: https://mertbulan.com/programming/dont-rely-on-bgapprefreshtask-for-your-apps-business-logic
[23] Vibe Coding with Cursor AI: https://medium.com/ux-planet/vibe-coding-with-cursor-ai-52f5023bc59a
[24] Why The Composable Architecture is Overrated: https://www.youtube.com/watch?v=f3aVxiuPrz0
[25] Animated Async Button With Custom Spinner Using SwiftUI: https://www.youtube.com/watch?v=K3wvbZ2gh5o
[26] Master SwiftUI Layout With EASY Spacing And Padding: https://www.youtube.com/watch?v=ghmG1AGcjQY
[27] ChatGPT Pro for iOS Devs: HONEST Review: https://www.youtube.com/watch?v=Vp0FPlo4fJs
[28] Create Custom Tab Bars in SwiftUI – An Alternative to Default Tabs: https://www.youtube.com/watch?v=JazOZJI5hJo
[29] VisionOS Style Menus for iOS Using SwiftUI: https://www.youtube.com/watch?v=HKnJ_95zisI
[30] Soundscape — 3D-звук для всех: https://apptractor.ru/info/github/soundscape.html
[31] Go Cycling — велотрекер для iOS: https://apptractor.ru/info/github/go-cycling.html
[32] Demeter в опенсорсе: реактивное профилирование Android-приложений: https://habr.com/ru/companies/yandex/articles/891592/
[33] Создаём многомодульную библиотеку на Android: как же собрать fat-aar?: https://habr.com/ru/companies/sravni/articles/892416/
[34] Protobuf против JSON для Android-разработки: https://apptractor.ru/info/articles/protobuf-protiv-json-dlya-android-razrabotki.html
[35] Передача данных от ESP32 по Bluetooth LE к Android: https://habr.com/ru/articles/892418/
[36] Ликбез по разрешениям в Android: https://habr.com/ru/companies/otus/articles/892020/
[37] Кастомные лейауты в Jetpack Compose: https://apptractor.ru/info/media/kastomnye-leyauty-v-jetpack-compose.html
[38] Мапим данные из domain в ui модуль в многомодульном проекте: https://apptractor.ru/info/media/mapim-dannye-iz-domain-v-ui-modul-v-mnogomodulnom-proekte.html
[39] Поиск Google и Play Store так же нарушают DMA, считает ЕС: https://apptractor.ru/info/news/poisk-google-i-play-store-tak-zhe-narushayut-dma-schitaet-es.html
[40] Why Visual Testing Is Critical for Mobile App Quality: https://alexzh.com/why-visual-testing-is-critical-for-mobile-app-quality/
[41] Using the Android Context and Manifest to Unveil the Android System Mechanics: https://proandroiddev.com/using-the-android-context-and-manifest-to-unveil-the-android-system-internals-2025-edition-eb730dd95f1d
[42] Enhancing Dropdown Menus in Jetpack Compose: Implementing Searchable Selection: https://proandroiddev.com/enhancing-dropdown-menus-in-jetpack-compose-implementing-searchable-selection-f9ee040b08fc
[43] How to Develop Firebase Genkit Flows: https://medium.com/firebase-developers/how-to-develop-firebase-genkit-functions-2677b386a227
[44] Unit Testing Lifecycle and State in ViewModels: https://medium.com/androiddevelopers/unit-testing-lifecycle-and-state-in-viewmodels-9d406c08cbd7
[45] 12 tips to mastering Kotlin Coroutines: https://artemasoyan.medium.com/12-tips-to-mastering-kotlin-coroutines-c09a83d6a74a
[46] Kotlin for Seniors: Stop Writing Code, Start Crafting it. Infix.: https://artemasoyan.medium.com/kotlin-for-seniors-stop-writing-code-start-crafting-it-infix-part-5-4d37d7bf5e63
[47] System Design for Airbnb’s Android Application: https://medium.com/@YodgorbekKomilo/system-design-for-airbnbs-android-application-e7eb08e1e6bf
[48] Kotlin 2 Guard Condition: https://medium.com/@appdevinsights/kotlin-guard-condition-5d649730969c
[49] Material3 Color System Basics for Android Developers: https://proandroiddev.com/material3-color-system-basics-for-android-developers-2b0c73a58b2d
[50] Bump’s Journey into Delightful Experiences on Android with Jetpack Compose: https://medium.com/androiddevelopers/bumps-journey-into-delightful-experiences-on-android-with-jetpack-compose-b2a1f8048018
[51] Android Studio Meerkat Feature Drop: https://androidstudio.googleblog.com/2025/03/android-studio-meerkat-feature-drop_18.html
[52] Avoiding Memory Leaks in Android: Best Practices for Context Usage: https://medium.com/@akbar.dzulfikar/avoiding-memory-leaks-in-android-best-practices-for-context-usage-86c8e40bab5b
[53] Kotlin for Seniors: 3 Powerful Features You Should Know: https://medium.com/@artemasoyan/kotlin-for-seniors-3-powerful-features-you-should-know-b1642b23cb66
[54] Android Studio Narwhal Canary 1 now available: https://androidstudio.googleblog.com/2025/03/android-studio-narwhal-202511-canary-1.html
[55] Firebender: Most powerful, privacy-first coding assistant for Android Studio: https://plugins.jetbrains.com/plugin/25224-firebender/
[56] Kotlin 2.1.20 Released: https://blog.jetbrains.com/kotlin/2025/03/kotlin-2-1-20-released/
[57] Full 2025 Kotlin Crash Course For Beginners: https://www.youtube.com/watch?v=dzUc9vrsldM
[58] Create Boilerplate Files With ONE Click With Multi-File Templates In Android Studio: https://www.youtube.com/watch?v=Xq4n3lFnd34
[59] Mastering UI Events and States in Jetpack Compose: https://www.youtube.com/watch?v=TzA049PAlSs
[60] Parsing XML namespaces and trying not to lose our minds: https://www.youtube.com/watch?v=Js1CMOCb66g
[61] Fighting the Elephant — Gradle Convention Plugins: https://www.youtube.com/watch?v=FFNvZhi9NwM
[62] Shader Ripple Effect Playground — библиотека шейдерных AGSL эффектов: https://apptractor.ru/info/github/shader-ripple-effect-playground.html
[63] HandWriting — все для рисования: https://apptractor.ru/info/github/handwriting.html
[64] OpenNote — Markdown редактор и блокнот для Android на Compose: https://apptractor.ru/info/github/opennote.html
[65] Полезные библиотеки для React-приложений в 2025 году: на что обратить внимание: https://habr.com/ru/companies/ru_mts/articles/892964/
[66] Кроссплатформенные фреймворки поставили рекорд по распространению в 2024: https://apptractor.ru/info/analytics/krossplatformennye-freymvorki-postavili-rekord-po-rasprostraneniyu-v-2024.html
[67] 5 причин плохого настроения. История одного Flutter-проекта, который заставил нас поломать голову: https://habr.com/ru/companies/agima/articles/892278/
[68] Рецепт приготовления кроссплатформенного мобильного видеоредактора: https://apptractor.ru/info/media/retsept-prigotovleniya-krossplatformennogo-mobilnogo-videoredaktora.html
[69] How to Use Swift Packages in Kotlin Multiplatform using Koin: https://proandroiddev.com/how-to-use-swift-packages-in-kotlin-multiplatform-using-koin-c7d24fdbbbd7
[70] Fastlane in Kotlin Multiplatform projects: https://touchlab.co/fastlane-kmp
[71] No macros in Dart, how to replace freezed?: https://leancode.medium.com/no-macros-in-dart-how-to-replace-freezed-40547e6381fc
[72] The final word on Flutter architecture: https://www.reddit.com/r/FlutterDev/comments/1jayrqx/the_final_word_on_flutter_architecture/
[73] Sharing Data and Files In Compose Multiplatform: https://medium.com/@mohaberabi98/sharing-data-and-files-in-compose-multiplatform-602105eaa3e2
[74] Implementing Keyboard Accessibility in Flutter: https://medium.com/@mobileatexxeta/implementing-keyboard-accessibility-in-flutter-77b000ad196a
[75] Build a Video Streaming App like YouTube: https://www.youtube.com/watch?v=_88Uvrvp3UM
[76] Зумеры не просто слушают — они хотят, чтобы их слушали. Как баг изменил наш взгляд на продукт: https://habr.com/ru/companies/ru_mts/articles/892500/
[77] 20 идей из интервью с Питером Левелсом: про создание стартапов в одиночку, минимализм и жизнь цифрового кочевника: https://habr.com/ru/articles/892918/
[78] Интерфейсы: к вопросу о размерах пальцев и кнопочек: https://habr.com/ru/articles/891626/
[79] Что написание кода искусственным интеллектом значит для стартапов?: https://apptractor.ru/info/articles/chto-napisanie-koda-iskusstvennym-intellektom-znachit-dlya-startapov.html
[80] Выжимаем максимум из код-ревью и спасаем нервные клетки: https://habr.com/ru/companies/surfstudio/articles/892304/
[81] Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов (#10): https://habr.com/ru/articles/893260/
[82] Javascript для бэкенда – отличная идея: Node.js, NPM, Typescript: https://apptractor.ru/info/media/javascript-dlya-bekenda-otlichnaya-ideya-node-js-npm-typescript.html
[83] Собеседование по System Design: проектируем клон Авито: https://apptractor.ru/info/media/sobesedovanie-po-system-design-proektiruem-klon-avito.html
[84] TurinTech исправляет последствия «вайб кодинга»: https://apptractor.ru/info/news/turintech.html
[85] Discord запустил Social SDK: https://apptractor.ru/info/news/discord-zapustil-social-sdk.html
[86] Cursor сказал человеку, чтобы тот сам писал свой код: https://apptractor.ru/info/news/cursor-skazal-cheloveku-chtoby-tot-sam-pisal-svoy-kod.html
[87] Systems Ideas that Sound Good But Almost Never Work: https://hardcoresoftware.learningbyshipping.com/p/225-systems-ideas-that-sound-good
[88] Career advice in 2025: https://lethain.com/career-advice-2025/
[89] Software Development Has Too Much Software In It: https://smustafa.blog/2025/03/19/software-development-has-too-much-software-in-it/
[90] Building MCP with Kotlin: Claude Desktop Controls My Smart Home Lights: https://www.youtube.com/watch?v=jwevCa96Z4Q
[91] Cursor Talk to Figma MCP — создание дизайна в Figma с помощью ИИ: https://apptractor.ru/info/github/cursor-talk-to-figma-mcp.html
[92] Приложения с подпиской 2025 — отчет RevenueCat: https://apptractor.ru/measure/app-store-analytics/prilozheniya-s-podpiskoy-2025-otchet-revenuecat.html
[93] В Adapty выпустили FunnelFox — конструктор Web2App воронок: https://apptractor.ru/marketing-monetization/apps-promo/funnelfox.html
[94] Рост мобильного гейминга возобновляется: ИИ, гибридная монетизация и новые стратегии привлечения пользователей: https://apptractor.ru/info/analytics/rost-mobilnogo-geyminga-vozobnovlyaetsya-ii-gibridnaya-monetizatsiya-i-novye-strategii-privlecheniya-polzovateley.html
[95] Galaxy Store снижает комиссию: https://apptractor.ru/info/news/galaxy-store-snizhaet-komissiyu.html
[96] Самые скачиваемые и зарабатывающие приложения в мире в феврале 2024: https://apptractor.ru/measure/app-store-analytics/samye-skachivaemye-i-zarabatyvayuschie-prilozheniya-v-mire-v-fevrale-2024.html
[97] Merge Mansion: +50% Revenue to Reclaim the Top Spot: https://appmagic.rocks/blog/merge-mansion-reclaiming-top-spot
[98] Как я победил в RAG Challenge: от нуля до SoTA за один конкурс: https://habr.com/ru/articles/893356/
[99] Как машинное обучение увеличило доход Duolingo на миллионы долларов: https://apptractor.ru/info/articles/kak-mashinnoe-obuchenie-uvelichilo-dohod-duolingo-na-milliony-dollarov.html
[100] Machine learning на ESP32: https://habr.com/ru/articles/891314/
[101] Tasmota + Алиса = любовь. Протокол Matter в самодельных и перепрошитых устройствах умного дома: https://habr.com/ru/articles/891502/
[102] Тестируем YandexGPT-5. Когда хотелось быть ChatGPT, но в душе всё ещё Алиса: https://habr.com/ru/companies/bothub/articles/893128/
[103] Дедупликация объявлений: как мы боремся с одинаковыми размещениями: https://habr.com/ru/companies/cian/articles/892650/
[104] Умный домофон SmartIntercom. Ещё один… ДВА: https://habr.com/ru/articles/859002/
[105] Демистифицируем машинное обучение – из разработчика в ML-инженеры: https://apptractor.ru/info/media/demistifitsiruem-mashinnoe-obuchenie-iz-razrabotchika-v-ml-inzhenery.html
[106] Новая ИИ-модель Roblox может генерировать 3D-объекты: https://apptractor.ru/info/news/novaya-ii-model-roblox-mozhet-generirovat-3d-obekty.html
[107] Предыдущий дайджест: https://habr.com/ru/articles/891262/
[108] ошибку: http://www.braintools.ru/article/4192
[109] почту: mailto:lbogolubov@gmail.com
[110] Источник: https://habr.com/ru/articles/893518/?utm_source=habrahabr&utm_medium=rss&utm_campaign=893518
Нажмите здесь для печати.