В нашем новом дайджесте переход на Metal и динамические острова, сложность корутин и диплинков, всплывающие окна, A/B-тесты, маркетинг eCommerce приложений, мобильные финансы и многое другое.
Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

 iOS
iOS
• Переход на Metal
• Исследуем Dynamic Island и ActivityKit
• Как 5 приложений для iOS могут сократить время запуска в среднем на 28%
• Apple увеличивает цены на покупки в App Store
• Внедрение iOS 16 идет быстрее iOS 15, но медленнее iOS 14
• Adding Support for Apple Watch Ultra Action Button
Adding Support for Apple Watch Ultra Action Button
• Fade the First and Last Elements in a UICollectionView
Fade the First and Last Elements in a UICollectionView
• Create a Scalable SwiftUI MVVM Project
Create a Scalable SwiftUI MVVM Project
• Introducing The AppIntents Framework — A New Way to Integrate App’s Functionality Into the System
Introducing The AppIntents Framework — A New Way to Integrate App’s Functionality Into the System
• New in SwiftUI 4: Expanding TextField
New in SwiftUI 4: Expanding TextField
• iOS 16 Live Activities: Updating Remotely Using Push Notification
iOS 16 Live Activities: Updating Remotely Using Push Notification
• Getting Started with iOS App Modularization — Extracting Catalog
Getting Started with iOS App Modularization — Extracting Catalog
• How to: Create Dynamic Island Widgets on iOS 16.1 or above
How to: Create Dynamic Island Widgets on iOS 16.1 or above
• Build a Tetris Game Using SwiftUI
Build a Tetris Game Using SwiftUI
• New in SwiftUI 4: Share Sheet with ShareLink
New in SwiftUI 4: Share Sheet with ShareLink
• DocC Tutorial for Swift: Getting Started
DocC Tutorial for Swift: Getting Started
• Displaying live activities in iOS 16
Displaying live activities in iOS 16
• New in SwiftUI 4: NavigationSplitView
New in SwiftUI 4: NavigationSplitView
• Save Time With User Breakpoints in Xcode
Save Time With User Breakpoints in Xcode
• SwiftUI Lifecycle: How to Use SwiftUI for Optimal Performance
SwiftUI Lifecycle: How to Use SwiftUI for Optimal Performance
• Build to latest iOS device without upgrading to latest Xcode
Build to latest iOS device without upgrading to latest Xcode
• Understanding Swift’s Opaque Types
Understanding Swift’s Opaque Types
• Implement Core Spotlight in a SwiftUI App
Implement Core Spotlight in a SwiftUI App
• MVVM + POP to deal with complex UI
MVVM + POP to deal with complex UI
• New in SwiftUI 4: ViewThatFits
New in SwiftUI 4: ViewThatFits
• SwiftUI Lifecycle: How to Use SwiftUI for Optimal Performance
SwiftUI Lifecycle: How to Use SwiftUI for Optimal Performance
• Dynamic Islands: примеры Live Activities в Dynamic Island
Dynamic Islands: примеры Live Activities в Dynamic Island
• AlertController: функциональный UIAlertController
AlertController: функциональный UIAlertController
 Android
Android
• Почему исключения в Kotlin Coroutines это сложно и как с этим жить?
• Размер имеет значение! Часть 2
• Ликбез по диплинкам. Часть 2: диплинки с нуля
• Thinking in Compose
Thinking in Compose
• Measuring and drawing in Jetpack Compose
Measuring and drawing in Jetpack Compose 
• Design Patterns and Architecture: The Android Developer Roadmap
Design Patterns and Architecture: The Android Developer Roadmap
• Unit test your NDK library integration
Unit test your NDK library integration
• Kotlin’s five powerful scope functions you should know how to use
Kotlin’s five powerful scope functions you should know how to use
• CI/CD for Android Devs
CI/CD for Android Devs
• Using Enums to customize the UI in Android
Using Enums to customize the UI in Android
• Triggering Alarms Tutorial for Android: Getting Started
Triggering Alarms Tutorial for Android: Getting Started
• Design of Kotlin Coroutines
Design of Kotlin Coroutines
• Jetpack Compose Composition Tracing
Jetpack Compose Composition Tracing
• How to load and caching image without libraries
How to load and caching image without libraries
• Logcat in Android Studio Dolphin is Amazing!
Logcat in Android Studio Dolphin is Amazing!
• Modern Android for iOS folks: Swift-Kotlin & SwiftUI-Compose
Modern Android for iOS folks: Swift-Kotlin & SwiftUI-Compose
• Chaquopy: Python SDK для Android
Chaquopy: Python SDK для Android
• Landscapist: загрузка и показ изображений в Jetpack Compose
Landscapist: загрузка и показ изображений в Jetpack Compose
 Кроссплатформа
Кроссплатформа
• Всплывающие окна на флаттер карте или flutter_map_marker_popup
• Работа со списками во Flutter-приложениях (часть 2)
• How to Create a Flutter Bluetooth Printer App
How to Create a Flutter Bluetooth Printer App
• How to use Flutter with Google Sheets, Apps Script, and Codemagic
How to use Flutter with Google Sheets, Apps Script, and Codemagic
• React Native Clean Architecture — ResoCoder’s way
React Native Clean Architecture — ResoCoder’s way
• Auto Size any widget in Flutter
Auto Size any widget in Flutter
• Announcing Patrol — Flutter-First UI Testing Framework
Announcing Patrol — Flutter-First UI Testing Framework
• Build Your Mobile App in 5 Days with React Native
Build Your Mobile App in 5 Days with React Native
• BioMetric Authentication In Flutter Application
BioMetric Authentication In Flutter Application
• Dotlin: Kotlin в Dart
Dotlin: Kotlin в Dart
 Разработка
Разработка
• Без А/B результат XЗ, или Как построить высоконагруженную платформу А/B-тестов
• 4 мифа о выборе жанра для вашей новой игры
• Как не потерять собственное приложение
• Понедельный план онбординга для QA-инженера с опытом
• Личный опыт: перезапуск тимлидства в растущей IT-компании. Часть 1
• Дизайн приложений: примеры для вдохновения #82
• Как мы пытались использовать WebGL и что из этого получилось
• Podlodka #286: архитектура фронтенда
• $15 млн в Серии B: Codacy — автоматическая проверка кода
• Три быстрых совета из «Чистого кода», которые сделают вашу команду на 50% эффективнее
• How I’m a Productive Programmer With a Memory of a Fruit Fly
How I’m a Productive Programmer With a Memory of a Fruit Fly
• Functional Programming Reading List
Functional Programming Reading List
• How to become a super-focused software developer
How to become a super-focused software developer
• A Pinterest Engineering guide to technical interviews
A Pinterest Engineering guide to technical interviews
• How To Write The PERFECT Pull Request
How To Write The PERFECT Pull Request
• How to plan your exit from software development
How to plan your exit from software development
• Prioritizing App Stability — Mobile Performance @ Lyft
Prioritizing App Stability — Mobile Performance @ Lyft
• Tigris: современный масштабируемый бэкенд
Tigris: современный масштабируемый бэкенд
 Аналитика, маркетинг и монетизация
Аналитика, маркетинг и монетизация
• Маркетологи в мобайле: Никита Рвачев (Aitarget)
• Публичное собеседование по продуктовой аналитике
• “Состояние маркетинга eCommerce приложений 2022” — отчет AppsFlyer
• Новая образовательная игра Google Arts & Culture возвращает нас в Мезоамерику
• Мобильные финансы 2022 — отчет Liftoff
• Клон BeReal от TikTok завоевывает популярность за пределами США
• BeReal думает над платными функциями
• Tinder помогает собакам найти новый дом
• $15.5 млн: Immortal Game — шахматы с web3 и NFT
• Рост финтех приложений возвращается к норме
• iOS 16 снова выводит виджеты в топы App Store
 AI, Устройства, IoT
AI, Устройства, IoT
• Как создать переводчик, который переводит лучше, чем Google Translate
• Как я научил нейросеть распознавать каракули. Введение
• Similar images: API
• Умный дом на Wiren Board и Node-RED: четыре полезных сценария без программирования
• Умный дом на Wiren Board и Node-RED: ещё три полезных сценария без программирования
• Kincony KC868-A64: полный привод 64х64 (для тех, кто знает толк в автоматизации)
• Реализация Интернета вещей для промышленного оборудования простыми методами
• Framework и Google выпустили сборный Chromebook
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

 iOS
iOS• Переход на Metal
• Исследуем Dynamic Island и ActivityKit
• Как 5 приложений для iOS могут сократить время запуска в среднем на 28%
• Apple увеличивает цены на покупки в App Store
• Внедрение iOS 16 идет быстрее iOS 15, но медленнее iOS 14
•
 Adding Support for Apple Watch Ultra Action Button
Adding Support for Apple Watch Ultra Action Button•
 Fade the First and Last Elements in a UICollectionView
Fade the First and Last Elements in a UICollectionView•
 Create a Scalable SwiftUI MVVM Project
Create a Scalable SwiftUI MVVM Project•
 Introducing The AppIntents Framework — A New Way to Integrate App’s Functionality Into the System
Introducing The AppIntents Framework — A New Way to Integrate App’s Functionality Into the System•
 New in SwiftUI 4: Expanding TextField
New in SwiftUI 4: Expanding TextField•
 iOS 16 Live Activities: Updating Remotely Using Push Notification
iOS 16 Live Activities: Updating Remotely Using Push Notification•
 Getting Started with iOS App Modularization — Extracting Catalog
Getting Started with iOS App Modularization — Extracting Catalog•
 How to: Create Dynamic Island Widgets on iOS 16.1 or above
How to: Create Dynamic Island Widgets on iOS 16.1 or above•
 Build a Tetris Game Using SwiftUI
Build a Tetris Game Using SwiftUI•
 New in SwiftUI 4: Share Sheet with ShareLink
New in SwiftUI 4: Share Sheet with ShareLink•
 DocC Tutorial for Swift: Getting Started
DocC Tutorial for Swift: Getting Started•
 Displaying live activities in iOS 16
Displaying live activities in iOS 16•
 New in SwiftUI 4: NavigationSplitView
New in SwiftUI 4: NavigationSplitView•
 Save Time With User Breakpoints in Xcode
Save Time With User Breakpoints in Xcode•
 SwiftUI Lifecycle: How to Use SwiftUI for Optimal Performance
SwiftUI Lifecycle: How to Use SwiftUI for Optimal Performance•
 Build to latest iOS device without upgrading to latest Xcode
Build to latest iOS device without upgrading to latest Xcode•
 Understanding Swift’s Opaque Types
Understanding Swift’s Opaque Types•
 Implement Core Spotlight in a SwiftUI App
Implement Core Spotlight in a SwiftUI App•
 MVVM + POP to deal with complex UI
MVVM + POP to deal with complex UI•
 New in SwiftUI 4: ViewThatFits
New in SwiftUI 4: ViewThatFits•
 SwiftUI Lifecycle: How to Use SwiftUI for Optimal Performance
SwiftUI Lifecycle: How to Use SwiftUI for Optimal Performance•
 Dynamic Islands: примеры Live Activities в Dynamic Island
Dynamic Islands: примеры Live Activities в Dynamic Island•
 AlertController: функциональный UIAlertController
AlertController: функциональный UIAlertController Android
Android• Почему исключения в Kotlin Coroutines это сложно и как с этим жить?
• Размер имеет значение! Часть 2
• Ликбез по диплинкам. Часть 2: диплинки с нуля
•
 Thinking in Compose
Thinking in Compose•
 Measuring and drawing in Jetpack Compose
Measuring and drawing in Jetpack Compose •
 Design Patterns and Architecture: The Android Developer Roadmap
Design Patterns and Architecture: The Android Developer Roadmap•
 Unit test your NDK library integration
Unit test your NDK library integration•
 Kotlin’s five powerful scope functions you should know how to use
Kotlin’s five powerful scope functions you should know how to use•
 CI/CD for Android Devs
CI/CD for Android Devs•
 Using Enums to customize the UI in Android
Using Enums to customize the UI in Android•
 Triggering Alarms Tutorial for Android: Getting Started
Triggering Alarms Tutorial for Android: Getting Started•
 Design of Kotlin Coroutines
Design of Kotlin Coroutines•
 Jetpack Compose Composition Tracing
Jetpack Compose Composition Tracing•
 How to load and caching image without libraries
How to load and caching image without libraries•
 Logcat in Android Studio Dolphin is Amazing!
Logcat in Android Studio Dolphin is Amazing!•
 Modern Android for iOS folks: Swift-Kotlin & SwiftUI-Compose
Modern Android for iOS folks: Swift-Kotlin & SwiftUI-Compose•
 Chaquopy: Python SDK для Android
Chaquopy: Python SDK для Android•
 Landscapist: загрузка и показ изображений в Jetpack Compose
Landscapist: загрузка и показ изображений в Jetpack Compose Кроссплатформа
Кроссплатформа• Всплывающие окна на флаттер карте или flutter_map_marker_popup
• Работа со списками во Flutter-приложениях (часть 2)
•
 How to Create a Flutter Bluetooth Printer App
How to Create a Flutter Bluetooth Printer App•
 How to use Flutter with Google Sheets, Apps Script, and Codemagic
How to use Flutter with Google Sheets, Apps Script, and Codemagic•
 React Native Clean Architecture — ResoCoder’s way
React Native Clean Architecture — ResoCoder’s way•
 Auto Size any widget in Flutter
Auto Size any widget in Flutter•
 Announcing Patrol — Flutter-First UI Testing Framework
Announcing Patrol — Flutter-First UI Testing Framework•
 Build Your Mobile App in 5 Days with React Native
Build Your Mobile App in 5 Days with React Native•
 BioMetric Authentication In Flutter Application
BioMetric Authentication In Flutter Application•
 Dotlin: Kotlin в Dart
Dotlin: Kotlin в Dart Разработка
Разработка• Без А/B результат XЗ, или Как построить высоконагруженную платформу А/B-тестов
• 4 мифа о выборе жанра для вашей новой игры
• Как не потерять собственное приложение
• Понедельный план онбординга для QA-инженера с опытом
• Личный опыт: перезапуск тимлидства в растущей IT-компании. Часть 1
• Дизайн приложений: примеры для вдохновения #82
• Как мы пытались использовать WebGL и что из этого получилось
• Podlodka #286: архитектура фронтенда
• $15 млн в Серии B: Codacy — автоматическая проверка кода
• Три быстрых совета из «Чистого кода», которые сделают вашу команду на 50% эффективнее
•
 How I’m a Productive Programmer With a Memory of a Fruit Fly
How I’m a Productive Programmer With a Memory of a Fruit Fly•
 Functional Programming Reading List
Functional Programming Reading List•
 How to become a super-focused software developer
How to become a super-focused software developer•
 A Pinterest Engineering guide to technical interviews
A Pinterest Engineering guide to technical interviews•
 How To Write The PERFECT Pull Request
How To Write The PERFECT Pull Request•
 How to plan your exit from software development
How to plan your exit from software development•
 Prioritizing App Stability — Mobile Performance @ Lyft
Prioritizing App Stability — Mobile Performance @ Lyft•
 Tigris: современный масштабируемый бэкенд
Tigris: современный масштабируемый бэкенд Аналитика, маркетинг и монетизация
Аналитика, маркетинг и монетизация• Маркетологи в мобайле: Никита Рвачев (Aitarget)
• Публичное собеседование по продуктовой аналитике
• “Состояние маркетинга eCommerce приложений 2022” — отчет AppsFlyer
• Новая образовательная игра Google Arts & Culture возвращает нас в Мезоамерику
• Мобильные финансы 2022 — отчет Liftoff
• Клон BeReal от TikTok завоевывает популярность за пределами США
• BeReal думает над платными функциями
• Tinder помогает собакам найти новый дом
• $15.5 млн: Immortal Game — шахматы с web3 и NFT
• Рост финтех приложений возвращается к норме
• iOS 16 снова выводит виджеты в топы App Store
 AI, Устройства, IoT
AI, Устройства, IoT• Как создать переводчик, который переводит лучше, чем Google Translate
• Как я научил нейросеть распознавать каракули. Введение
• Similar images: API
• Умный дом на Wiren Board и Node-RED: четыре полезных сценария без программирования
• Умный дом на Wiren Board и Node-RED: ещё три полезных сценария без программирования
• Kincony KC868-A64: полный привод 64х64 (для тех, кто знает толк в автоматизации)
• Реализация Интернета вещей для промышленного оборудования простыми методами
• Framework и Google выпустили сборный Chromebook
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
 
           
 
debug45
Зря перестали переводить англоязычные заголовки, было удобнее
RoboForm
Ну, большинство читателей проголосовало за английский вариант.