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

Подписывайтесь на мой Telegram-канал Mobile Insights [2], где еще больше материалов для мобильных разработчиков.
iOS
• Рисуем карты с помощью Swift Charts [3]
• Обновления в Swift Concurrency: что нас ждёт в Swift 6 [4]
• Что Swift Build означает для экосистемы Swift [5]
• 8 советов по производительности Swift, которые я узнал после многих лет программирования [6]
• Sheet с автоматическим подсчётом высоты и поддержкой iOS 15 [7]
• Используем ImageRenderer в SwiftUI [8]
• В App Store впервые обнаружены приложения с вредоносным ПО для чтения скриншотов [9]
•
How combine lists of Strings into natural and localized sentences in Swift [10]
•
Rethinking Our Color System: A Type-Safe Approach in Swift [11]
•
Parameterized tests in Swift: Reducing boilerplate code [12]
•
All You Need to Know for iOS App Localization [13]
•
Say Goodbye to Dependency Over-Injection in ViewModels [14]
•
How I Created a Personal Component Design System for iOS Apps [15]
•
Mastering TaskGroups in Swift [16]
•
Testing SceneStorage state persistence in Xcode [17]
•
Jailbreak Protection on iOS [18]
•
Getting started with Core Image [19]
•
Debugging the communication between Xcode and XCBBuildService [20]
•
Swift 5.9: Copyable Syntax [21]
•
Dependency Injection 101 with Swift [22]
•
Swipe Actions For ScrollViews | SwiftUI [23]
•
self vs. Self in Swift – Everything You Need to Know! [24]
•
SwiftUI Custom Alerts | iOS/iPadOS 17 & 18 [25]
•
SymbolPicker — пикер SF Symbols [26]
•
Swift Build — система сборки для Swift [27]
Android
• Рисуем график сна в Compose [28]
• Плагины: автоматизация разработки в продуктах JetBrains (на примере Android Studio) [29]
• Пишем простой плагин для Android Studio [30]
• Реактивный велосипед для SDK [31]
•
Migrating to the Compose PullToRefreshBox [32]
•
BasicTextField bubble wrap [33]
•
Exercise Caution When Using run7Blocking on Android [34]
•
Seamless shimmer integration with existing Compose code [35]
•
Build kids app experiences for Wear OS [36]
•
A Use Case for `UseCase`s in Kotlin [37]
•
Fast Feedback Loops & Composable Preview Scanner [38]
•
The Open-Closed Principle (OCP) — SOLID Principles Deep Dive in Kotlin/Android [39]
•
System design of DeepSeek Android app [40]
•
Simplify ViewBinding in Android with ViewBindingPropertyDelegate 2.0 [41]
•
Simplify Navigation in Jetpack Compose with CompositionLocal: No more passing of NavControllers [42]
•
Perfectionize your app performance and tracing with Perfetto [43]
•
Android XR: Ready, Set, Go! [44]
•
Designing Effective UI Components in Jetpack Compose [45]
•
20+ Advanced Kotlin Idioms Every Developer Should Know [46]
•
Automating UI Model Generation With KSP [47]
•
Android Studio Meerkat | 2024.3.1 RC 1 now available [48]
•
Creating a Modern Bottom Navigation Bar with a Curved Cut-Out for a Docked/Floating Action Button in Jetpack Compose [49]
•
When to Use a Single Activity Architecture On Android? [50]
•
How to Get Started With Firebase Test Lab In Android Studio [51]
•
Guards in Kotlin 2.1 [52]
•
Mihon — открытый ридер манги для Android [53]
•
Compose Swipeable Cards — стопка карточек с листанием [54]
Кроссплатформа
• Как создать плагин для IntelliJ IDEA на примере генератора директорий для проекта [55]
• Пока Apple саботирует развитие PWA, мы сделали демо с контактами, пуш-уведомлениями и биометрией [56]
• Как PWA помогло клиентам ЮMoney продолжать получать пуши — даже без приложения [57]
• Новости о макросах и сериализации данных в Dart [58]
• Такие разные Slivers. Часть 3: работа с пространством [59]
• Облегчаем разработку Flutter-приложений: Создание плагинов с помощью Kotlin Multiplatform [60]
• Новый DI фреймворк для DART и Flutter — sputnik_di [61]
•
A Beginner’s Guide to Unit and Widget Testing in Flutter with Hello World Example [62]
•
Beware of Build Time Bloat [63]
•
Flutter DataGrid: How to Group Data Easily [64]
•
Wrong Country? No Flutter for You! [65]
•
Flutter made my Dev Team 3x more productive than React Native [66]
•
Transtation — перевод с Kotlin Multiplatform [67]
Разработка
• Где твои чаевые, дружище? No tip, no trip [68]
• Хардкодить флаги функций — это нормально [69]
• Бесплатные инструменты для создания иконок [70]
• Современные подходы к управлению UI: low-сode & Backend-Driven UI [71]
• Дизайн дисфункция или клавиатуры для TV приложений [72]
• Roadmap интеграционной аналитики [73]
• Информационная безопасность Ozon — Кирилл Мякишев [74]
• CodeSignal запустил ИИ-обучение софт-скилам [75]
• Обеспечение качества кода 2024 — отчет JetBrains [76]
•
Software development topics I’ve changed my mind on after 10 years in the industry [77]
•
What Okta Bcrypt incident can teach us about designing better APIs [78]
•
How Are Images REALLY Stored? [79]
•
Appwrite and Supabase for an Offline-First App – Here’s My Take [80]
•
AI Engineer Roadmap – How to Learn AI in 2025 [81]
•
Designing the Perfect Side Menu in Figma — For Beginners [82]
Аналитика, маркетинг и монетизация
• Тренды мобильных приложений 2025: ИИ и конфиденциальность меняют мобильную индустрию [83]
• Walkstar — новое приложение для iOS, которое ставит песни на паузу, когда вы перестаете двигаться [84]
• Spotify впервые получил годовую прибыль [85]
• Apple выпустила приложение Invites для организации мероприятий [86]
• Праздники прошли, а инсайты остались: как пользователи приложений проводят Новогодний период (и что с этим делать маркетологам) [87]
• Приложение Hot Tub появится на iOS в EC [88]
• Dub: приложение для копирования биржевой торговли, о котором говорят подростки [89]
• Категории для роста приложений с искусственным интеллектом [90]
• США — самый прибыльный рынок для ИИ-приложений [91]
•
Designing for Application States: Creating Seamless User Experience [92]
•
The reality of dating apps [93]
•
5 Steps to Earn Your First Dollar from Your Mobile App (Built with Flutter) [94]
AI, Устройства, IoT
• Общение с умными устройствами силами PHP [95]
• Wiren Board как швейцарский нож: от выращивания страусов до цеха металлообработки [96]
• Как с помощью ML-модели мы помогли исполнителям получать больше заказов на Авито [97]
• GitHub Copilot оживляет макеты, генерируя код из изображений [98]
← Предыдущий дайджест [99]. Если у вас есть другие интересные материалы или вы нашли ошибку [100] — пришлите, пожалуйста, в почту [101].
Автор: RoboForm
Источник [102]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/12040
URLs in this post:
[1] сна: http://www.braintools.ru/article/9809
[2] Mobile Insights: https://t.me/apptractor
[3] Рисуем карты с помощью Swift Charts: https://apptractor.ru/info/articles/risuem-karty-s-pomoschyu-swift-charts.html
[4] Обновления в Swift Concurrency: что нас ждёт в Swift 6: https://habr.com/ru/companies/yandex/articles/879078/
[5] Что Swift Build означает для экосистемы Swift: https://apptractor.ru/info/articles/chto-swift-build-oznachaet-dlya-ekosistemy-swift.html
[6] 8 советов по производительности Swift, которые я узнал после многих лет программирования: https://apptractor.ru/info/articles/8-sovetov-po-proizvoditelnosti-swift-kotorye-ya-uznal-posle-mnogih-let-programmirovaniya.html
[7] Sheet с автоматическим подсчётом высоты и поддержкой iOS 15: https://habr.com/ru/articles/879854/
[8] Используем ImageRenderer в SwiftUI: https://apptractor.ru/info/articles/ispolzuem-imagerenderer-v-swiftui.html
[9] В App Store впервые обнаружены приложения с вредоносным ПО для чтения скриншотов: https://apptractor.ru/info/apps/v-app-store-vpervye-obnaruzheny-prilozheniya-s-vredonosnym-po-dlya-chteniya-skrinshotov.html
[10] How combine lists of Strings into natural and localized sentences in Swift: https://www.polpiella.dev/join-list-of-strings/
[11] Rethinking Our Color System: A Type-Safe Approach in Swift: https://marcelvoss.com/2025/rethinking-our-color-system-a-type-safe-approach-in-swift/
[12] Parameterized tests in Swift: Reducing boilerplate code: https://www.avanderlee.com/swift-testing/parameterized-tests-reducing-boilerplate-code/
[13] All You Need to Know for iOS App Localization: https://medium.com/@razanau/ios-app-localization-4ba78ee8ba30
[14] Say Goodbye to Dependency Over-Injection in ViewModels: https://medium.com/@tushar.sharma0214/say-goodbye-to-dependency-over-injection-in-viewmodels-d204585b21bf
[15] How I Created a Personal Component Design System for iOS Apps: https://mireabot.substack.com/p/how-i-created-a-personal-component
[16] Mastering TaskGroups in Swift: https://swiftwithmajid.com/2025/02/04/mastering-task-groups-in-swift/
[17] Testing SceneStorage state persistence in Xcode: https://nilcoalescing.com/blog/TestingSceneStorageStatePersistenceInXcode/
[18] Jailbreak Protection on iOS: https://blog.jacobstechtavern.com/p/jailbreak-protection-on-ios
[19] Getting started with Core Image: https://www.createwithswift.com/getting-started-with-core-image/
[20] Debugging the communication between Xcode and XCBBuildService: https://tuist.dev/blog/2025/02/06/XCBLoggingBuildService
[21] Swift 5.9: Copyable Syntax: https://codingwithvera.com/what-the-is-a-copyable-2/
[22] Dependency Injection 101 with Swift: https://medium.com/icommunity/dependency-injection-101-with-swift-db3bc140663a
[23] Swipe Actions For ScrollViews | SwiftUI: https://www.youtube.com/watch?v=i5HsPEKUmi8
[24] self vs. Self in Swift – Everything You Need to Know!: https://www.youtube.com/watch?v=2bjViDmwaF8
[25] SwiftUI Custom Alerts | iOS/iPadOS 17 & 18: https://www.youtube.com/watch?v=Fa_d661SBrA
[26] SymbolPicker — пикер SF Symbols: https://apptractor.ru/info/github/symbolpicker.html
[27] Swift Build — система сборки для Swift: https://apptractor.ru/info/github/swift-build.html
[28] Рисуем график сна в Compose: https://apptractor.ru/info/articles/risuem-grafik-sna-v-compose.html
[29] Плагины: автоматизация разработки в продуктах JetBrains (на примере Android Studio): https://habr.com/ru/articles/878870/
[30] Пишем простой плагин для Android Studio: https://habr.com/ru/articles/880160/
[31] Реактивный велосипед для SDK: https://apptractor.ru/info/media/reaktivnyy-velosiped-dlya-sdk.html
[32] Migrating to the Compose PullToRefreshBox: https://joebirch.co/android/migrating-to-the-compose-pulltorefreshbox/
[33] BasicTextField bubble wrap: https://blog.zachklipp.com/basictextfield-bubble-wrap/
[34] Exercise Caution When Using run7Blocking on Android: https://getstream.io/blog/caution-runblocking-android/
[35] Seamless shimmer integration with existing Compose code: https://proandroiddev.com/seamless-shimmer-integration-with-existing-compose-code-b95cc3bbcd17
[36] Build kids app experiences for Wear OS: https://android-developers.googleblog.com/2025/01/build-kids-app-experiences-for-wear-os.html
[37] A Use Case for `UseCase`s in Kotlin: https://cekrem.github.io/posts/a-use-case-for-usecases-in-kotlin/
[38] Fast Feedback Loops & Composable Preview Scanner: https://www.youtube.com/watch?v=SphQelcGdHk
[39] The Open-Closed Principle (OCP) — SOLID Principles Deep Dive in Kotlin/Android: https://itnext.io/the-open-closed-principle-ocp-in-kotlin-deep-dive-86529ff24a74
[40] System design of DeepSeek Android app: https://medium.com/@YodgorbekKomilo/system-design-of-deepseek-android-app-e5cd6afac4dc
[41] Simplify ViewBinding in Android with ViewBindingPropertyDelegate 2.0: https://medium.com/@kirillr/whats-new-in-vbpd-2-0-a83565134cff
[42] Simplify Navigation in Jetpack Compose with CompositionLocal: No more passing of NavControllers: https://medium.com/@n20/simplify-navigation-in-jetpack-compose-with-compositionlocal-the-lazy-way-to-handle-navcontrollers-d70d13e3e2f2
[43] Perfectionize your app performance and tracing with Perfetto: https://medium.com/@jacek.dziewierski/perfectionize-your-app-performance-and-tracing-with-perfetto-124f9490ff12
[44] Android XR: Ready, Set, Go!: https://proandroiddev.com/android-xr-ready-set-go-8b1713b95297
[45] Designing Effective UI Components in Jetpack Compose: https://getstream.io/blog/designing-effective-compose/
[46] 20+ Advanced Kotlin Idioms Every Developer Should Know: https://medium.com/@ashfaque-khokhar/20-advanced-kotlin-idioms-every-developer-should-know-b701825af01e
[47] Automating UI Model Generation With KSP: https://proandroiddev.com/automating-ui-model-generation-with-ksp-4b1d9d1f5c95
[48] Android Studio Meerkat | 2024.3.1 RC 1 now available: https://androidstudio.googleblog.com/2025/02/android-studio-meerkat-202431-rc-1-now.html
[49] Creating a Modern Bottom Navigation Bar with a Curved Cut-Out for a Docked/Floating Action Button in Jetpack Compose: https://medium.com/proandroiddev/creating-a-modern-bottom-navigation-bar-with-a-curved-cut-out-for-a-docked-floating-action-button-1e4455413024
[50] When to Use a Single Activity Architecture On Android?: https://www.youtube.com/watch?v=ZPM4flsAd9w
[51] How to Get Started With Firebase Test Lab In Android Studio: https://www.youtube.com/watch?v=Nr9C09A9Nl4
[52] Guards in Kotlin 2.1: https://www.youtube.com/watch?v=FsKCrNenEXc
[53] Mihon — открытый ридер манги для Android: https://apptractor.ru/info/github/mihon.html
[54] Compose Swipeable Cards — стопка карточек с листанием: https://apptractor.ru/info/github/compose-swipeable-cards-stopka-kartochek-s-listaniem.html
[55] Как создать плагин для IntelliJ IDEA на примере генератора директорий для проекта: https://habr.com/ru/articles/880028/
[56] Пока Apple саботирует развитие PWA, мы сделали демо с контактами, пуш-уведомлениями и биометрией: https://habr.com/ru/companies/rshb/articles/880120/
[57] Как PWA помогло клиентам ЮMoney продолжать получать пуши — даже без приложения: https://habr.com/ru/companies/yoomoney/articles/880132/
[58] Новости о макросах и сериализации данных в Dart: https://habr.com/ru/articles/879572/
[59] Такие разные Slivers. Часть 3: работа с пространством: https://habr.com/ru/articles/877390/
[60] Облегчаем разработку Flutter-приложений: Создание плагинов с помощью Kotlin Multiplatform: https://habr.com/ru/companies/otus/articles/880174/
[61] Новый DI фреймворк для DART и Flutter — sputnik_di: https://habr.com/ru/articles/880456/
[62] A Beginner’s Guide to Unit and Widget Testing in Flutter with Hello World Example: https://medium.com/@eemamhhasan/a-beginners-guide-to-unit-and-widget-testing-in-flutter-with-hello-world-example-e47862dedd95
[63] Beware of Build Time Bloat: https://touchlab.co/touchlab-build-only-what-you-need
[64] Flutter DataGrid: How to Group Data Easily: https://www.syncfusion.com/blogs/post/grouping-data-in-flutter-datagrid
[65] Wrong Country? No Flutter for You!: https://medium.com/@bagotir/wrong-country-no-flutter-for-you-4b85e3dfa3fa
[66] Flutter made my Dev Team 3x more productive than React Native: https://www.reddit.com/r/FlutterDev/comments/1iiztii/flutter_made_my_dev_team_3x_more_productive_than/
[67] Transtation — перевод с Kotlin Multiplatform: https://apptractor.ru/info/github/transtation.html
[68] Где твои чаевые, дружище? No tip, no trip: https://habr.com/ru/articles/879338/
[69] Хардкодить флаги функций — это нормально: https://apptractor.ru/info/articles/hardkodit-flagi-funktsiy-eto-normalno.html
[70] Бесплатные инструменты для создания иконок: https://apptractor.ru/info/articles/besplatnye-instrumenty-dlya-sozdaniya-ikonok.html
[71] Современные подходы к управлению UI: low-сode & Backend-Driven UI: https://habr.com/ru/companies/avito/articles/879720/
[72] Дизайн дисфункция или клавиатуры для TV приложений: https://habr.com/ru/articles/878840/
[73] Roadmap интеграционной аналитики: https://habr.com/ru/companies/surfstudio/articles/879144/
[74] Информационная безопасность Ozon — Кирилл Мякишев: https://apptractor.ru/info/media/informatsionnaya-bezopasnost-ozon-kirill-myakishev.html
[75] CodeSignal запустил ИИ-обучение софт-скилам: https://apptractor.ru/learn/codesignal-zapustil-ii-obuchenie-soft-skilam.html
[76] Обеспечение качества кода 2024 — отчет JetBrains: https://apptractor.ru/info/analytics/obespechenie-kachestva-koda-2024-otchet-jetbrains.html
[77] Software development topics I’ve changed my mind on after 10 years in the industry: https://chriskiehl.com/article/thoughts-after-10-years
[78] What Okta Bcrypt incident can teach us about designing better APIs: https://n0rdy.foo/posts/20250121/okta-bcrypt-lessons-for-better-apis/
[79] How Are Images REALLY Stored?: https://cefboud.com/posts/image-formats/
[80] Appwrite and Supabase for an Offline-First App – Here’s My Take: https://www.reddit.com/r/FlutterDev/comments/1ij4ke0/tried_both_appwrite_and_supabase_for_an/
[81] AI Engineer Roadmap – How to Learn AI in 2025: https://www.youtube.com/watch?v=nYXVvK-Wmn0
[82] Designing the Perfect Side Menu in Figma — For Beginners: https://www.youtube.com/watch?v=c5k2tlWGXJo
[83] Тренды мобильных приложений 2025: ИИ и конфиденциальность меняют мобильную индустрию: https://apptractor.ru/measure/app-store-analytics/trendy-mobilnyh-prilozheniy-2025-ii-i-konfidentsialnost-menyayut-mobilnuyu-industriyu.html
[84] Walkstar — новое приложение для iOS, которое ставит песни на паузу, когда вы перестаете двигаться: https://apptractor.ru/info/apps/walkstar.html
[85] Spotify впервые получил годовую прибыль: https://apptractor.ru/info/news/spotify-vpervye-poluchil-godovuyu-pribyl.html
[86] Apple выпустила приложение Invites для организации мероприятий: https://apptractor.ru/info/apps/apple-invites.html
[87] Праздники прошли, а инсайты остались: как пользователи приложений проводят Новогодний период (и что с этим делать маркетологам): https://apptractor.ru/measure/user-analytics/prazdniki-proshli-a-insayty-ostalis-kak-polzovateli-prilozheniy-provodyat-novogodniy-period-i-chto-s-etim-delat-marketologam.html
[88] Приложение Hot Tub появится на iOS в EC: https://apptractor.ru/info/news/prilozhenie-hot-tub-poyavitsya-na-ios-v-ec.html
[89] Dub: приложение для копирования биржевой торговли, о котором говорят подростки: https://apptractor.ru/info/apps/dub.html
[90] Категории для роста приложений с искусственным интеллектом: https://apptractor.ru/measure/app-store-analytics/kategorii-dlya-rosta-prilozheniy-s-iskusstvennym-intellektom.html
[91] США — самый прибыльный рынок для ИИ-приложений: https://apptractor.ru/measure/app-store-analytics/ssha-samyy-pribylnyy-rynok-dlya-ii-prilozheniy.html
[92] Designing for Application States: Creating Seamless User Experience: https://www.createwithswift.com/designing-for-application-states-creating-seamless-user-experiences/
[93] The reality of dating apps: https://blog.luap.info/the-reality-of-dating-apps.html?utm_source=tldrnewsletter
[94] 5 Steps to Earn Your First Dollar from Your Mobile App (Built with Flutter): https://levelup.gitconnected.com/5-steps-to-earn-your-first-dollar-from-your-mobile-app-built-with-flutter-2702ad7ee16b
[95] Общение с умными устройствами силами PHP: https://habr.com/ru/companies/oleg-bunin/articles/879590/
[96] Wiren Board как швейцарский нож: от выращивания страусов до цеха металлообработки: https://habr.com/ru/companies/wirenboard/articles/878860/
[97] Как с помощью ML-модели мы помогли исполнителям получать больше заказов на Авито: https://habr.com/ru/companies/avito/articles/879680/
[98] GitHub Copilot оживляет макеты, генерируя код из изображений: https://apptractor.ru/info/news/github-copilot-ozhivlyaet-makety-generiruya-kod-iz-izobrazheniy.html
[99] Предыдущий дайджест: https://habr.com/ru/articles/878754/
[100] ошибку: http://www.braintools.ru/article/4192
[101] почту: mailto:lbogolubov@gmail.com
[102] Источник: https://habr.com/ru/articles/880852/?utm_source=habrahabr&utm_medium=rss&utm_campaign=880852
Нажмите здесь для печати.