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

Подписывайтесь на мой Telegram-канал Mobile Insights [1], где еще больше материалов для мобильных разработчиков.
iOS
• Как мы «рисовали» учет времени на iOS с помощью библиотеки Charts [2]
• Осваиваем скроллинг в SwiftUI: реализация кастомной прокрутки [3]
• Под капотом у пользовательского интерфейса SwiftUI — Детальный разбор: Часть 1 — UIKit [4]
• Как мы из России опубликовали платное приложение в App Store [5]
• Магазин игр Aptoide запустился на iOS в Европе [6]
•
Detecting documents in an image with the Vision framework [7]
•
SwiftUI — Navigation View If Needed [8]
•
SwiftLint 101: Streamline Your Swift Code Quality [9]
•
How to use SceneDelegate in SwiftUI [10]
•
Presenting and Managing Expandable Sections in SwiftUI [11]
•
Yielding and debouncing in Swift Concurrency [12]
•
Enabling Interaction with Table View in SwiftUI [13]
•
Selective testing for all Xcode projects [14]
•
Make your social apps pop with Link Presentation [15]
•
async let vs Task group [16]
•
Distorted Audio when recording external microphones using AVCaptureSession [17]
•
Creating Custom SF Symbols [18]
•
Hiding the Keyboard Using FocusState in SwiftUI [19]
•
SwiftUI Maps — iOS 17 — Look Around, User Location, Directions, Markers & Annotations, Map Styles [20]
•
Create a Custom SwiftUI Calendar with Dynamic Time and Gestures [21]
•
Animation Challenge: Number Pad With Animated Text Effects — SwiftUI [22]
•
Enhancing the Custom Help System in SwiftUI Without Breaking Existing Projects [23]
•
Monal — открытый XMPP-клиент [24]
•
Fluent — ORM для NoSQL и SQL баз данных [25]
Android
• Очумелые ручки: как я превратил старый смартфон в игровую консоль с возможностью звонить [26]
• Сколько потоков использует ваш сетевой клиент? [27]
• Анализ Android-фич на доступность и внедрение accessibility в процесс разработки [28]
• Что такое перерисовка и как с ней бороться [29]
• Шпаргалка: как выглядит Kotlin Coroutine без макияжа [30]
• Kotlin Coroutines под капотом: CoroutineContext и CoroutineScope [31]
• R8: Шакалья работа (уменьшение apk через правки R8) [32]
• Погружаемся в мир технологий Яндекс Переводчика [33]
• Мок собеседование Android разработчика в Контур: архитектура и кодинг приложения [34]
• Amazon прекращает работу Appstore на Android [35]
• Google запустил TrustedTime API [36]
•
Brushed Metal UI in Jetpack Compose [37]
•
Using Ktor In Jetpack Compose [38]
•
Navigating the Challenges of Scoped Storage: Lessons for Modern Android Apps [39]
•
Be Mine and Add Interaction with Compose and Canvas [40]
•
From Frustration to Efficiency: How I Reduced Android Compilation Time by 70% [41]
•
Hints in Compose [42]
•
Not another Clean Architecture article… A master/details app study case [43]
•
Loading Initial Data properly with MVI [44]
•
Kotlin Guards Explained: Boost Code Clarity with when Statements in Kotlin 2.1 [45]
•
MVVM vs MVI Architecture in Android: A Comprehensive Comparison [46]
•
Compose for TV | Jetpack Compose Tips [47]
•
All Classes In Kotlin Explained [48]
•
3 Ways How Attackers Can Reverse Engineer Your Android App • [49]
•
SongSync — тексты песен для вашей библиотеки [50]
•
KMP Liquid Slider — слайдер на Jetpack Compose [51]
•
Sketch Image Loader — библиотека загрузки изображений для Compose Multiplatform и Android View [52]
Кроссплатформа
• Секреты мобильной разработки в логистике: разгоняем MVVM до максимума [53]
• Приватный финансовый менеджер inCourse на React Native. Опыт разработки [54]
• Flutter 3.29 — Что нового во Flutter? [55]
• Такие разные Slivers. Часть 5: аналоги обычных виджетов [56]
•
Kotlin Multiplatform Architecture Best Practices for Mobile Apps [57]
•
Build an Imitation Mac Dock With Flutter [58]
•
Building a Space Flight News App with Compose Multiplatform for Android, iOS, and Desktop [59]
•
Mastering Flutter Layouts: Why CustomMultiChildLayout Beats Stack [60]
•
Flutter: How to Remove Singletons from your App and Why? [61]
•
Serverpod raises €2.7 million to help developers level up their applications [62]
•
Flutter State Management: Choosing the Right Approach [63]
•
Building KMP Libraries: The RevenueCat Story [64]
•
Building a Flutter Map App: Handling Location, Permissions & App Lifecycle [65]
Разработка
• Вакансии в области программной инженерии достигли пятилетнего минимума? [66]
• Emerge Tools запустил бесплатный сервис Build Distribution [67]
• Как мы сокращали размер JSONʼа в SDUI [68]
• Valve выпустила исходники Team Fortress 2 [69]
• Из веб-тестировщиков в мобильные: инсайты для тех, кто задумался о переходе [70]
• Передаём данные с мобильных устройств в сервисы через каналы радиосвязи [71]
• Аккаунт разработчика Google Play Console и Apple Developer. Как создать из России 2025. Пошаговая инструкция регистрации [72]
• Что такое Mockito и как его использовать [73]
• Оптимизируем релиз мобильного приложения: что получилось, а что нет [74]
• Aнтoн Нaзaров и Анастасия Чупова — Кофе и Код [75]
• За что тебя могут уволить в IT [76]
• Pkl — язык программирования для конфигураций от Apple [77]
• Приложение-калькулятор? Да каждый может написать такое [78]
• VK Education открывает набор на бесплатные образовательные программы в IT и digital [79]
• Конец программирования в том виде, в котором мы его знаем [80]
•
Software Quality [81]
•
Patterns for building realtime features [82]
•
My Approach to Building Large Technical Projects [83]
•
I’m glad AI didn’t exist when I learned to code [84]
•
You can’t call yourself a senior until you’ve worked on a legacy project [85]
•
Embracing passwordless authentication with Grab’s Passkey [86]
•
How AI generated code accelerates technical debt [87]
•
AI Killed The Tech Interview. Now What? [88]
Аналитика, маркетинг и монетизация
• Riley — приложение с искусственным интеллектом для молодых родителей [89]
• RuStore предоставит разработчикам новые инструменты продвижения приложений [90]
• Protector — «Uber с пушками» от Никиты Бира [91]
• Покупки в Google Play Books на iOS теперь осуществляются на сайте [92]
• Niantic продает Pokémon Go [93]
• Как изменился рекламный фрод в 2024 году и какие угрозы ждут индустрию? [94]
• Polymath стремится сделать изучение математики таким же увлекательным, как Minecraft [95]
• LinkedIn — самая высокодоходная социальная платформа на данный момент [96]
•
How we accidentally discovered product market fit and why it turned out to be a bad thing [97]
•
When Getting Sherlocked Leads to Something Better: The TranslateKit Journey [98]
AI, Устройства, IoT
• Подключение самодельных устройств к умному дому Яндекса с Алисой [99]
• KasperskyOS Community Edition SDK: что это за система и как попробовать ее в деле [100]
• Бенчмарк OpenAI протестировал LLM на реальных задачах фриланса [101]
• Автоматизация шлагбаума. Или что делать, когда готового решения нет на рынке [102]
← Предыдущий дайджест [103]. Если у вас есть другие интересные материалы или вы нашли ошибку [104] — пришлите, пожалуйста, в почту [105].
Автор: RoboForm
Источник [106]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/12476
URLs in this post:
[1] Mobile Insights: https://t.me/apptractor
[2] Как мы «рисовали» учет времени на iOS с помощью библиотеки Charts: https://habr.com/ru/companies/kaspersky/articles/881578/
[3] Осваиваем скроллинг в SwiftUI: реализация кастомной прокрутки: https://apptractor.ru/info/articles/osvaivaem-skrolling-v-swiftui.html
[4] Под капотом у пользовательского интерфейса SwiftUI — Детальный разбор: Часть 1 — UIKit: https://habr.com/ru/companies/otus/articles/883522/
[5] Как мы из России опубликовали платное приложение в App Store: https://habr.com/ru/articles/883998/
[6] Магазин игр Aptoide запустился на iOS в Европе: https://apptractor.ru/info/news/magazin-igr-aptoide-zapustilsya-na-ios-v-evrope.html
[7] Detecting documents in an image with the Vision framework: https://www.createwithswift.com/detecting-documents-in-an-image-with-the-vision-framework/
[8] SwiftUI — Navigation View If Needed: https://www.joshholtz.com/blog/2025/02/08/swiftui-navigation-view-if-needed.html
[9] SwiftLint 101: Streamline Your Swift Code Quality: https://medium.com/icommunity/swiftlint-101-streamline-your-swift-code-quality-681745bbe38d
[10] How to use SceneDelegate in SwiftUI: https://tanaschita.com/swiftui-scenedelegate/
[11] Presenting and Managing Expandable Sections in SwiftUI: https://serialcoder.dev/text-tutorials/swiftui/presenting-and-managing-expandable-sections-in-swiftui/
[12] Yielding and debouncing in Swift Concurrency: https://swiftwithmajid.com/2025/02/18/yielding-and-debouncing-in-swift-concurrency/
[13] Enabling Interaction with Table View in SwiftUI: https://www.createwithswift.com/enabling-interaction-with-table-view-in-swiftui/
[14] Selective testing for all Xcode projects: https://tuist.dev/blog/2025/02/18/selective-testing-for-xcode-projects
[15] Make your social apps pop with Link Presentation: https://blog.jacobstechtavern.com/p/linkpresentation
[16] async let vs Task group: https://medium.com/@batrakov.vitaly/async-let-vs-task-group-5cd391d68f71
[17] Distorted Audio when recording external microphones using AVCaptureSession: https://nonstrict.eu/blog/2025/distorted-audio-avcapturesession/
[18] Creating Custom SF Symbols: https://www.createwithswift.com/creating-custom-sf-symbols/
[19] Hiding the Keyboard Using FocusState in SwiftUI: https://www.neilmacy.co.uk/blog/hiding-the-keyboard-using-focus-state-swiftui
[20] SwiftUI Maps — iOS 17 — Look Around, User Location, Directions, Markers & Annotations, Map Styles: https://www.youtube.com/watch?v=98rQZbwxMFI
[21] Create a Custom SwiftUI Calendar with Dynamic Time and Gestures: https://www.youtube.com/watch?v=RvTPVFFzYvg
[22] Animation Challenge: Number Pad With Animated Text Effects — SwiftUI: https://www.youtube.com/watch?v=PfFeCD-25lA
[23] Enhancing the Custom Help System in SwiftUI Without Breaking Existing Projects: https://www.youtube.com/watch?v=2QHD_fSTzTA
[24] Monal — открытый XMPP-клиент: https://apptractor.ru/info/github/monal.html
[25] Fluent — ORM для NoSQL и SQL баз данных: https://apptractor.ru/info/github/fluent.html
[26] Очумелые ручки: как я превратил старый смартфон в игровую консоль с возможностью звонить: https://habr.com/ru/companies/timeweb/articles/883068/
[27] Сколько потоков использует ваш сетевой клиент?: https://apptractor.ru/info/articles/skolko-potokov-ispolzuet-vash-setevoy-klient.html
[28] Анализ Android-фич на доступность и внедрение accessibility в процесс разработки: https://habr.com/ru/companies/vk/articles/881908/
[29] Что такое перерисовка и как с ней бороться: https://apptractor.ru/info/articles/chto-takoe-pererisovka-i-kak-s-ney-borotsya.html
[30] Шпаргалка: как выглядит Kotlin Coroutine без макияжа: https://habr.com/ru/articles/882988/
[31] Kotlin Coroutines под капотом: CoroutineContext и CoroutineScope: https://habr.com/ru/articles/883588/
[32] R8: Шакалья работа (уменьшение apk через правки R8): https://habr.com/ru/articles/885006/
[33] Погружаемся в мир технологий Яндекс Переводчика: https://apptractor.ru/info/media/pogruzhaemsya-v-mir-tehnologiy-yandeks-perevodchika.html
[34] Мок собеседование Android разработчика в Контур: архитектура и кодинг приложения: https://apptractor.ru/info/media/mok-sobesedovanie-android-razrabotchika-v-kontur-arhitektura-i-koding-prilozheniya.html
[35] Amazon прекращает работу Appstore на Android: https://apptractor.ru/info/news/amazon-prekraschaet-rabotu-appstore-na-android.html
[36] Google запустил TrustedTime API: https://apptractor.ru/all-api/trustedtime-api.html
[37] Brushed Metal UI in Jetpack Compose: https://www.sinasamaki.com/brushed-metal-ui-in-jetpack-compose/
[38] Using Ktor In Jetpack Compose: https://proandroiddev.com/using-ktor-in-jetpack-compose-e00b1b32eef0
[39] Navigating the Challenges of Scoped Storage: Lessons for Modern Android Apps: https://itnext.io/navigating-the-challenges-of-scoped-storage-lessons-for-modern-android-apps-b5fd8318a02c
[40] Be Mine and Add Interaction with Compose and Canvas: https://proandroiddev.com/be-mine-and-add-interaction-with-compose-and-canvas-bc9c1a9e3d75
[41] From Frustration to Efficiency: How I Reduced Android Compilation Time by 70%: https://medium.com/@fazi.ruben/from-frustration-to-efficiency-how-i-reduced-android-compilation-time-by-70-e0a57fd0bb09
[42] Hints in Compose: https://proandroiddev.com/hints-in-compose-10b6470acc58
[43] Not another Clean Architecture article… A master/details app study case: https://medium.com/@beranger.guillaume/not-another-clean-architecture-article-a-master-details-app-study-case-26c313817a03
[44] Loading Initial Data properly with MVI: https://proandroiddev.com/loading-initial-data-properly-with-mvi-5e54edd8ae56
[45] Kotlin Guards Explained: Boost Code Clarity with when Statements in Kotlin 2.1: https://proandroiddev.com/kotlin-guards-explained-boost-code-clarity-with-when-statements-in-kotlin-2-1-776ec4c1b84a
[46] MVVM vs MVI Architecture in Android: A Comprehensive Comparison: https://medium.com/@nikharekomal/mvvm-vs-mvi-architecture-in-android-a-comprehensive-comparison-639ff24e868d
[47] Compose for TV | Jetpack Compose Tips: https://www.youtube.com/watch?v=ruJj-wXE3aE
[48] All Classes In Kotlin Explained: https://www.youtube.com/watch?v=xAslJ-f9PWs
[49] 3 Ways How Attackers Can Reverse Engineer Your Android App •: https://www.youtube.com/watch?v=DZHn17qg5_Y
[50] SongSync — тексты песен для вашей библиотеки: https://apptractor.ru/info/github/songsync-teksty-pesen-dlya-vashey-biblioteki.html
[51] KMP Liquid Slider — слайдер на Jetpack Compose: https://apptractor.ru/info/github/kmp-liquid-slider.html
[52] Sketch Image Loader — библиотека загрузки изображений для Compose Multiplatform и Android View: https://apptractor.ru/info/github/sketch-image-loader.html
[53] Секреты мобильной разработки в логистике: разгоняем MVVM до максимума: https://habr.com/ru/companies/yandex/articles/883202/
[54] Приватный финансовый менеджер inCourse на React Native. Опыт разработки: https://habr.com/ru/articles/883844/
[55] Flutter 3.29 — Что нового во Flutter?: https://habr.com/ru/articles/884078/
[56] Такие разные Slivers. Часть 5: аналоги обычных виджетов: https://habr.com/ru/articles/884580/
[57] Kotlin Multiplatform Architecture Best Practices for Mobile Apps: https://carrion.dev/en/posts/kmp-architecture/
[58] Build an Imitation Mac Dock With Flutter: https://pieces.app/blog/build-a-macos-inspired-dock-with-flutter
[59] Building a Space Flight News App with Compose Multiplatform for Android, iOS, and Desktop: https://medium.com/@domen.lanisnik/building-a-space-flight-news-app-with-compose-multiplatform-for-android-ios-and-desktop-part-1-2b93ad3c0271
[60] Mastering Flutter Layouts: Why CustomMultiChildLayout Beats Stack: https://techfront.substack.com/p/mastering-flutter-layouts-why-custommultichildla
[61] Flutter: How to Remove Singletons from your App and Why?: https://blog.stackademic.com/flutter-remove-singletons-fa743b952794
[62] Serverpod raises €2.7 million to help developers level up their applications: https://www.eu-startups.com/2025/02/serverpod-raises-e2-7-million-to-help-developers-level-up-their-applications/
[63] Flutter State Management: Choosing the Right Approach: https://medium.com/@emanyaqoob/flutter-state-management-choosing-the-right-approach-64b2ccf59235
[64] Building KMP Libraries: The RevenueCat Story: https://www.youtube.com/watch?v=zWNAjU-UpSY
[65] Building a Flutter Map App: Handling Location, Permissions & App Lifecycle: https://www.youtube.com/watch?v=X8EX7yqoy1A
[66] Вакансии в области программной инженерии достигли пятилетнего минимума?: https://apptractor.ru/info/articles/vakansii-v-oblasti-programmnoy-inzhenerii-dostigli-pyatiletnego-minimuma.html
[67] Emerge Tools запустил бесплатный сервис Build Distribution: https://apptractor.ru/info/news/emerge-tools-zapustil-besplatnyy-servis-build-distribution.html
[68] Как мы сокращали размер JSONʼа в SDUI: https://habr.com/ru/companies/alfa/articles/882054/
[69] Valve выпустила исходники Team Fortress 2: https://apptractor.ru/info/github/valve-vypustila-ishodniki-team-fortress-2.html
[70] Из веб-тестировщиков в мобильные: инсайты для тех, кто задумался о переходе: https://habr.com/ru/companies/bitrix/articles/883808/
[71] Передаём данные с мобильных устройств в сервисы через каналы радиосвязи: https://habr.com/ru/companies/oleg-bunin/articles/884168/
[72] Аккаунт разработчика Google Play Console и Apple Developer. Как создать из России 2025. Пошаговая инструкция регистрации: https://habr.com/ru/articles/883100/
[73] Что такое Mockito и как его использовать: https://apptractor.ru/info/articles/mockito.html
[74] Оптимизируем релиз мобильного приложения: что получилось, а что нет: https://habr.com/ru/companies/ozontech/articles/883538/
[75] Aнтoн Нaзaров и Анастасия Чупова — Кофе и Код: https://apptractor.ru/info/interview/anton-nazarov-i-anastasiya-chupova-kofe-i-kod.html
[76] За что тебя могут уволить в IT: https://apptractor.ru/info/media/za-chto-tebya-mogut-uvolit-v-it.html
[77] Pkl — язык программирования для конфигураций от Apple: https://apptractor.ru/info/media/pkl-yazyk-programmirovaniya-dlya-konfiguratsiy-ot-apple.html
[78] Приложение-калькулятор? Да каждый может написать такое: https://apptractor.ru/info/articles/135833.html
[79] VK Education открывает набор на бесплатные образовательные программы в IT и digital: https://apptractor.ru/learn/vk-education-otkryvaet-nabor-na-besplatnye-obrazovatelnye-programmy-v-it-i-digital-2.html
[80] Конец программирования в том виде, в котором мы его знаем: https://apptractor.ru/info/articles/konets-programmirovaniya-v-tom-vide-v-kotorom-my-ego-znaem.html
[81] Software Quality: https://newsletter.getdx.com/p/software-quality-94e
[82] Patterns for building realtime features: https://zknill.io/posts/patterns-for-building-realtime/
[83] My Approach to Building Large Technical Projects: https://mitchellh.com/writing/building-large-technical-projects
[84] I’m glad AI didn’t exist when I learned to code: https://blog.shivs.me/im-glad-ai-didnt-exist-when-i-learned-to-code
[85] You can’t call yourself a senior until you’ve worked on a legacy project: https://www.infobip.com/developers/blog/seniors-working-on-a-legacy-project
[86] Embracing passwordless authentication with Grab’s Passkey: https://engineering.grab.com/embracing-passwordless-authentication-with-passkey
[87] How AI generated code accelerates technical debt: https://leaddev.com/software-quality/how-ai-generated-code-accelerates-technical-debt
[88] AI Killed The Tech Interview. Now What?: https://kanenarraway.com/posts/ai-killed-the-tech-interview-now-what/
[89] Riley — приложение с искусственным интеллектом для молодых родителей: https://apptractor.ru/info/apps/riley-prilozhenie-s-iskusstvennym-intellektom-dlya-molodyh-roditeley.html
[90] RuStore предоставит разработчикам новые инструменты продвижения приложений: https://apptractor.ru/marketing-monetization/app-store-optimization/rustore-predostavit-razrabotchikam-novye-instrumenty-prodvizheniya-prilozheniy.html
[91] Protector — «Uber с пушками» от Никиты Бира: https://apptractor.ru/info/apps/protector.html
[92] Покупки в Google Play Books на iOS теперь осуществляются на сайте: https://apptractor.ru/info/news/pokupki-v-google-play-books-na-ios-teper-osuschestvlyayutsya-na-sayte.html
[93] Niantic продает Pokémon Go: https://apptractor.ru/info/news/niantic-prodaet-pokemon-go.html
[94] Как изменился рекламный фрод в 2024 году и какие угрозы ждут индустрию?: https://apptractor.ru/marketing-monetization/kak-izmenilsya-reklamnyy-frod-v-2024-godu-i-kakie-ugrozy-zhdut-industriyu.html
[95] Polymath стремится сделать изучение математики таким же увлекательным, как Minecraft: https://apptractor.ru/learn/polymath.html
[96] LinkedIn — самая высокодоходная социальная платформа на данный момент: https://apptractor.ru/measure/app-store-analytics/linkedin-samaya-vysokodohodnaya-sotsialnaya-platforma-na-dannyy-moment.html
[97] How we accidentally discovered product market fit and why it turned out to be a bad thing: https://safespace.is/blog/vilain-era-part-2
[98] When Getting Sherlocked Leads to Something Better: The TranslateKit Journey: https://www.fline.dev/sherlocked-to-success/
[99] Подключение самодельных устройств к умному дому Яндекса с Алисой: https://habr.com/ru/articles/882370/
[100] KasperskyOS Community Edition SDK: что это за система и как попробовать ее в деле: https://habr.com/ru/companies/kaspersky/articles/883580/
[101] Бенчмарк OpenAI протестировал LLM на реальных задачах фриланса: https://apptractor.ru/info/news/benchmark-openai-protestiroval-llm-na-realnyh-zadachah-frilansa.html
[102] Автоматизация шлагбаума. Или что делать, когда готового решения нет на рынке: https://habr.com/ru/articles/845034/
[103] Предыдущий дайджест: https://habr.com/ru/articles/883014/
[104] ошибку: http://www.braintools.ru/article/4192
[105] почту: mailto:lbogolubov@gmail.com
[106] Источник: https://habr.com/ru/articles/885022/?utm_source=habrahabr&utm_medium=rss&utm_campaign=885022
Нажмите здесь для печати.