В нашем новом дайджесте доступ к данным банковских приложений и интересные приёмы в исходниках 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
Спасибо, что читаете! :)