В нашем новом дайджесте доступ к данным банковских приложений и интересные приёмы в исходниках Android, атомный лоадер на Jetpack Compose и переход на инхаус-разработку, своя органика в сторах, рекорды дальности связи, стереотипы об автотестах ит многое другое. Подключайтесь!
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

iOS
• Все, что вы хотели знать о флагах в эмодзи (но не знали, что вам это нужно)
• Как я решал задачу получения доступа к данным банковских приложений на iOS
• Дружим iPhone и ESP32. Часть 1. ESP Arduino Core
• Как встроить распознавание звуков в ваше iOS приложение на Swift с использованием SoundAnalysis
• Время сборки и верификация модулей
• Поваренная книга SwiftUI: списки и навигация — Часть 1
• Я получил новый iPhone, но мой аккаунт в социальных сетях заблокирован
• Apple забанила аккаунт компании победителя WWDC
•
Темная сторона однонаправленных архитектур Swift
•
JavaScript to Swift and back: Bridging location services in WKWebView
•
SwiftData’s new Index and Unique macros
•
Elevate Your Testing Game with Swift Testing
•
Limit Swift Concurrency’s cooperative pool
•
Custom hover effects in SwiftUI
•
Backport SwiftUI modifiers
•
Hiding A SwiftUI View From Switch Control
•
Animating SF Symbols on iOS 18
•
The AirDrop Conundrum: Passing Custom Models From and To Your App
•
SwiftUI Modifiers Deep Dive: containerRelativeFrame
•
How-to: Symbolicate MetricKit Crashdiagnostics
•
Walmart Software Engineer III — IOS (IN3) My Interview Experience
•
SwiftUI Custom Popups — iOS 17 & 18
•
SwiftUI TextRenderer
•
SwiftUI Reorderable Scroll View — Custom Drag & Drop With Scroll Detection — iOS 18
•
Create Modular iOS Apps with Swift Packages: Step-by-Step Guide!
•
SwiftUI — Reorder a List (2 Ways)
•
Fix This Problem with SwiftUI Lists
•
Verge — надежный фреймворк управления состоянием
•
Swift AST Explorer — визуализация абстрактного синтаксического дерева
•
SSNeumorphicView — неоморфизм для UIKit и SwiftUI
Android
• Интересные приёмы, взятые из исходников Android
• Создаем атомный лоадер на Jetpack Compose
• Композим иконки. Улучшаем семантику и скорость отрисовки
• NFC на Android: создание системы предоплаты с использованием NDEF меток
• Фокус в Android TV
• Многопоточность в Android: тогда и сейчас
• Советы по обработке Insets для обеспечения edge-to-edge на Android 15
• Как я разрушил свои стереотипы об автотестах, или Мой путь от Appium до Kaspresso
• Защита мобильных приложений. Записки охотника: Почему Appdome иногда такой себе Dome
• Организация кода в проекте — в какой пакет положить Kotlin класс
• Android 15 опубликован в AOSP
•
String vs StringBuffer vs StringBuilder
•
Coroutine Testing — Never ending tests & backgroundScope
•
Avoiding unintentional device exclusion in an Android app
•
Android Studio Koala Feature Drop is Stable!
•
Transforming Figma UI Designs into Jetpack Compose Code with Google AI Studio: A Step-by-Step Guide
•
Composable-scoped ViewModel: An interesting experiment
•
Loading Initial Data in LaunchedEffect vs. ViewModel
•
How to Provide Photos to the Gallery for Running UI Automated Tests
•
Mastering Navigation in Jetpack Compose: A Guide to Using the inclusive Attribute
•
How to Create an Atomic Loader in Jetpack Compose
•
Insets handling tips for Android 15’s edge-to-edge enforcement
•
Kotlin KSP — how to automate everything in the world
•
Best way to keep state in a ViewModel
•
Unlock Android Jetpack Components: Hidden Tricks to Build Successful App
•
Android Compose Videos with ExoPlayer
•
Android dev very overengineered and difficult to get into?
•
Anti-Pattern: Stop Leaking Kotlin Flow Collectors in Your Android ViewModel
•
Building for the future of Android
•
What’s new in Android Studio Koala
•
Master Kotlin Coroutines & Flows
•
Build your own compiler with KSP
•
Applying the State Pattern in Kotlin
•
Voice — минималистичный плеер аудиокниг
•
aDp — масштабирование дизайна Compose для разных экранов
Кроссплатформа
• Flutter Web. Часть 1
•
Writing a Kotlin Multiplatform App from Start to Store
•
Using Native iOS Navigation from Compose Multiplatform
•
The 5 Design Patterns For Every Flutter Engineer
•
5 Essential Design Patterns Every Flutter Engineer Should Master
•
Shrink Your KMP Build: The Power of ‘Internal’ Functions
•
Flutter State Management & Design Patterns: Do You Really Need Them?
•
Build an Animated Search Bar in Flutter
Разработка
• Следим за производительностью SDK. Доклад Яндекса
• Оставляйте что-нибудь на завтра
• Анализируй-сокращай. Как мы перешли от вендоров на инхаус и как это сказалось на UX и архитектуре
• Новый подход к редизайну: как мы создаем удобный интерфейс для главного экрана платежей и переводов
• SkillStaff: рынок ИТ-аутстаффинга вырастет до 265 млрд к концу 2024 год
• Самые высокооплачиваемые вакансии августа в сфере разработки приложений
• Архитектурное собеседование — по обе стороны баррикад •
• Backend-Driven UI и конструкторы. Благо или зло?
• Открытое собеседование — технический руководитель: разбор кейса
• Как работает авторизация и аутентификация — OAuth, JWT, webauthn, RBAC, ABAC
•
AI development and agile don’t mix well, study shows
•
Synchronizing pong to music with constrained optimization
•
Explicit is better than implicit
•
The Boolean Trap
Аналитика, маркетинг и монетизация
• AppsFlyer представил Attribution Reporting API для Android Privacy Sandbox
• Почему и как мы платим за свою же органику в сторах
• Маркетологи в мобайле: Всеволод Самсонов (Flowwow)
• Hello Wonder — браузер с ИИ для детей
• Пуш-уведомления. Интересны, временами непонятны
•
Key languages for localization: Here’s how demand changed in 2023
•
Hacking sales as an introvert
AI, Устройства, IoT
• Как Яндекс создавал новую end2end-модель генерации коротких видео
• LoRa. Рекорды дальности связи
• Создание пользовательского интерфейса на дисплее Guition с ESPHome и библиотекой LVGL
• Стандарт Ki предлагает беспроводное питание для кухонных приборов
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

iOS• Все, что вы хотели знать о флагах в эмодзи (но не знали, что вам это нужно)
• Как я решал задачу получения доступа к данным банковских приложений на iOS
• Дружим iPhone и ESP32. Часть 1. ESP Arduino Core
• Как встроить распознавание звуков в ваше iOS приложение на Swift с использованием SoundAnalysis
• Время сборки и верификация модулей
• Поваренная книга SwiftUI: списки и навигация — Часть 1
• Я получил новый iPhone, но мой аккаунт в социальных сетях заблокирован
• Apple забанила аккаунт компании победителя WWDC
•
Темная сторона однонаправленных архитектур Swift•
JavaScript to Swift and back: Bridging location services in WKWebView•
SwiftData’s new Index and Unique macros•
Elevate Your Testing Game with Swift Testing•
Limit Swift Concurrency’s cooperative pool•
Custom hover effects in SwiftUI•
Backport SwiftUI modifiers•
Hiding A SwiftUI View From Switch Control•
Animating SF Symbols on iOS 18•
The AirDrop Conundrum: Passing Custom Models From and To Your App•
SwiftUI Modifiers Deep Dive: containerRelativeFrame•
How-to: Symbolicate MetricKit Crashdiagnostics•
Walmart Software Engineer III — IOS (IN3) My Interview Experience•
SwiftUI Custom Popups — iOS 17 & 18•
SwiftUI TextRenderer•
SwiftUI Reorderable Scroll View — Custom Drag & Drop With Scroll Detection — iOS 18•
Create Modular iOS Apps with Swift Packages: Step-by-Step Guide!•
SwiftUI — Reorder a List (2 Ways)•
Fix This Problem with SwiftUI Lists•
Verge — надежный фреймворк управления состоянием•
Swift AST Explorer — визуализация абстрактного синтаксического дерева•
SSNeumorphicView — неоморфизм для UIKit и SwiftUI
Android• Интересные приёмы, взятые из исходников Android
• Создаем атомный лоадер на Jetpack Compose
• Композим иконки. Улучшаем семантику и скорость отрисовки
• NFC на Android: создание системы предоплаты с использованием NDEF меток
• Фокус в Android TV
• Многопоточность в Android: тогда и сейчас
• Советы по обработке Insets для обеспечения edge-to-edge на Android 15
• Как я разрушил свои стереотипы об автотестах, или Мой путь от Appium до Kaspresso
• Защита мобильных приложений. Записки охотника: Почему Appdome иногда такой себе Dome
• Организация кода в проекте — в какой пакет положить Kotlin класс
• Android 15 опубликован в AOSP
•
String vs StringBuffer vs StringBuilder•
Coroutine Testing — Never ending tests & backgroundScope•
Avoiding unintentional device exclusion in an Android app•
Android Studio Koala Feature Drop is Stable!•
Transforming Figma UI Designs into Jetpack Compose Code with Google AI Studio: A Step-by-Step Guide•
Composable-scoped ViewModel: An interesting experiment•
Loading Initial Data in LaunchedEffect vs. ViewModel•
How to Provide Photos to the Gallery for Running UI Automated Tests•
Mastering Navigation in Jetpack Compose: A Guide to Using the inclusive Attribute•
How to Create an Atomic Loader in Jetpack Compose•
Insets handling tips for Android 15’s edge-to-edge enforcement•
Kotlin KSP — how to automate everything in the world•
Best way to keep state in a ViewModel•
Unlock Android Jetpack Components: Hidden Tricks to Build Successful App•
Android Compose Videos with ExoPlayer•
Android dev very overengineered and difficult to get into?•
Anti-Pattern: Stop Leaking Kotlin Flow Collectors in Your Android ViewModel•
Building for the future of Android•
What’s new in Android Studio Koala•
Master Kotlin Coroutines & Flows•
Build your own compiler with KSP•
Applying the State Pattern in Kotlin•
Voice — минималистичный плеер аудиокниг•
aDp — масштабирование дизайна Compose для разных экранов
Кроссплатформа• Flutter Web. Часть 1
•
Writing a Kotlin Multiplatform App from Start to Store•
Using Native iOS Navigation from Compose Multiplatform•
The 5 Design Patterns For Every Flutter Engineer•
5 Essential Design Patterns Every Flutter Engineer Should Master•
Shrink Your KMP Build: The Power of ‘Internal’ Functions•
Flutter State Management & Design Patterns: Do You Really Need Them?•
Build an Animated Search Bar in Flutter
Разработка• Следим за производительностью SDK. Доклад Яндекса
• Оставляйте что-нибудь на завтра
• Анализируй-сокращай. Как мы перешли от вендоров на инхаус и как это сказалось на UX и архитектуре
• Новый подход к редизайну: как мы создаем удобный интерфейс для главного экрана платежей и переводов
• SkillStaff: рынок ИТ-аутстаффинга вырастет до 265 млрд к концу 2024 год
• Самые высокооплачиваемые вакансии августа в сфере разработки приложений
• Архитектурное собеседование — по обе стороны баррикад •
• Backend-Driven UI и конструкторы. Благо или зло?
• Открытое собеседование — технический руководитель: разбор кейса
• Как работает авторизация и аутентификация — OAuth, JWT, webauthn, RBAC, ABAC
•
AI development and agile don’t mix well, study shows•
Synchronizing pong to music with constrained optimization•
Explicit is better than implicit•
The Boolean Trap
Аналитика, маркетинг и монетизация• AppsFlyer представил Attribution Reporting API для Android Privacy Sandbox
• Почему и как мы платим за свою же органику в сторах
• Маркетологи в мобайле: Всеволод Самсонов (Flowwow)
• Hello Wonder — браузер с ИИ для детей
• Пуш-уведомления. Интересны, временами непонятны
•
Key languages for localization: Here’s how demand changed in 2023•
Hacking sales as an introvert
AI, Устройства, IoT• Как Яндекс создавал новую end2end-модель генерации коротких видео
• LoRa. Рекорды дальности связи
• Создание пользовательского интерфейса на дисплее Guition с ESPHome и библиотекой LVGL
• Стандарт Ki предлагает беспроводное питание для кухонных приборов
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
clerik_r
Спасибо за подборку!
RoboForm
Спасибо, что читаете! :)