В новом дайджесте планы Apple по развертыванию сторонних магазинов, закат AppCode и восхождение Yatagan, UI и Qt, Dart и синтаксический сахар, призывы к установке, 5 прогнозов на 2023 год и многое другое!
В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!

 iOS
iOS
• Apple готовится к запуску сторонних магазинов приложений
• JetBrains закрывает AppCode
• Удаляем фон у фото используя CoreML
• Создаем оберточный HStack с помощью протокола Layout SwiftUI
• Ускорение разработки при помощи Unit-теста
• Foundation будет переписан на Swift и станет открытым
• Setting up a build tool plugin for a Swift package
Setting up a build tool plugin for a Swift package
• SwiftUI view modifier for paid app features
SwiftUI view modifier for paid app features
• Deploying DocC with GitHub Actions
Deploying DocC with GitHub Actions
• iOS App As a Microservice. Using SwiftUI in Modular App
iOS App As a Microservice. Using SwiftUI in Modular App
• SwiftUI LazyVStack: a closer look
SwiftUI LazyVStack: a closer look
• Building a Wrapping HStack With the SwiftUI Layout Protocol
Building a Wrapping HStack With the SwiftUI Layout Protocol
• OptionSet in Swift explained with code examples
OptionSet in Swift explained with code examples
• How to change a List’s background color in SwiftUI
How to change a List’s background color in SwiftUI
• Did You See This? A Measurement Class In Swift
Did You See This? A Measurement Class In Swift
• Testing async/await exceptions
Testing async/await exceptions
• Setting Up a Multiplayer 3D Chess Using RealityKit, ARKit, and SwiftUI
Setting Up a Multiplayer 3D Chess Using RealityKit, ARKit, and SwiftUI
• Using Hopper to investigate an iOS bug
Using Hopper to investigate an iOS bug
• iOS In-App Subscription Tutorial with StoreKit 2 and Swift
iOS In-App Subscription Tutorial with StoreKit 2 and Swift
• Dynamically Change App Icons for a Unique User Experience with SwiftUI
Dynamically Change App Icons for a Unique User Experience with SwiftUI
• Testing a SwiftUI + Combine iOS App Using Clean Architecture
Testing a SwiftUI + Combine iOS App Using Clean Architecture
• Creating a Bottom Sheet Using FloatingPanel in Swift
Creating a Bottom Sheet Using FloatingPanel in Swift
• Understand Swift Autoclosures
Understand Swift Autoclosures
• Jetbrains is sunsetting AppCode With the release of v2022.3
Jetbrains is sunsetting AppCode With the release of v2022.3
• Copilot for Xcode: код Copilot в Xcode
Copilot for Xcode: код Copilot в Xcode
• Coduo: совместная работа в Xcode
Coduo: совместная работа в Xcode
 Android
Android
• Яндекс выпускает Yatagan — опенсорс-фреймворк для внедрения зависимостей, позволяющий ускорить сборку
• Писать UI для Android на QT
• Самый запутанный краш в моей жизни
• Kotlin Symbol Processing. От теории до практики
• Интегрируем Rust в Android-приложение
• Создаем простую игру с Jetpack Compose для часов на Google WearOS
• Трудности, с которыми мы столкнулись при модуляризации нашего приложения. Часть 2
• RecyclerView для начинающего Android-разработчика
• Вышел Android 13 для телевизоров
• How to set up UI testing on CI
How to set up UI testing on CI
• Implementing a circular carousel in Jetpack Compose
Implementing a circular carousel in Jetpack Compose
• Impact of Dependency Tree Depth on Gradle Builds
Impact of Dependency Tree Depth on Gradle Builds
• Advanced Kotlin Dev Day 2022
Advanced Kotlin Dev Day 2022
• Launch modes of Android Activity
Launch modes of Android Activity
• Principles & Practice in Repository Layer
Principles & Practice in Repository Layer
• Utilising the Canvas in Jetpack Compose to build a SquareSegmentedProgressIndicator
Utilising the Canvas in Jetpack Compose to build a SquareSegmentedProgressIndicator
• Integrating Rust With Android Development
Integrating Rust With Android Development
• Introducing: Maestro Studio
Introducing: Maestro Studio
• I bet you didn’t know about these features in Kotlin
I bet you didn’t know about these features in Kotlin
• Health Connect Android API
Health Connect Android API
• Creating a Collapsing TopAppBar with Jetpack Compose
Creating a Collapsing TopAppBar with Jetpack Compose
• How to scale made-for-mobile apps to ChromeOS
How to scale made-for-mobile apps to ChromeOS
• Pew pew! Making a Game with Compose Canvas on Wear OS
Pew pew! Making a Game with Compose Canvas on Wear OS
• Seal: скачиватель видео/аудио для Android
Seal: скачиватель видео/аудио для Android
• Physics Layout: UI в Compose на физическом движке
Physics Layout: UI в Compose на физическом движке
 Кроссплатформа
Кроссплатформа
• Зачем Clojure Flutter
• Unity UI Toolkit: MVVM ннада?
• Flutter Dev Podcast #38: Dart и синтаксический сахар
• Ускоряем разработку за счет пакета Mason на Flutter
• Flatbuffers в Unity — ускорили сериализацию в 40 раз
• А точно ли вам нужно PWA?
• Make Flame 32 times faster with collision detection and additional tricks
Make Flame 32 times faster with collision detection and additional tricks
• The road to Dart 3: A fully sound, null safe language
The road to Dart 3: A fully sound, null safe language
• 13 Questions To Prepare For In Your React Native Interview
13 Questions To Prepare For In Your React Native Interview
• Flutter Riverpod Tutorial with Usage & Advantages
Flutter Riverpod Tutorial with Usage & Advantages
• How to create a truly native experience for your React-Native app?
How to create a truly native experience for your React-Native app?
• Take your Flutter App performance to next level
Take your Flutter App performance to next level
• Why Flutter needs Clojure
Why Flutter needs Clojure
• KMM Preferences Datastore
KMM Preferences Datastore
• Create A Breakout Game in Flutter With Flame and Forge2D
Create A Breakout Game in Flutter With Flame and Forge2D
• Empty states: 5 practical tips for designers
Empty states: 5 practical tips for designers
 Разработка
Разработка
• Дело против модульных тестов
• Что такое service mesh простыми словами
• Дизайн. С нуля до миддла
• Важность владения кодом
• Особенности работы мобильного аналитика в банковских проектах
• Редизайн приложения для ЖКХ: как упорядочить хаос и не наломать дров
• Локализация Qt-приложений
• Переводим Spring/Kotlin-сервис на NIO и coroutines
• Spotify планирует монетизировать разработчиков через отрытый проект Backstage
• Microsoft представила новую версию Skype
• GitHub начнет проверять наличие секретных данных во всех репозиториях
• Рейтинг популярности языков программирования по упоминаниям в вакансиях
• The Hidden Cost of Software Automation
The Hidden Cost of Software Automation
• The problem of clock font size in Apple iOS 16
The problem of clock font size in Apple iOS 16
• GitHub actions shared workflows
GitHub actions shared workflows
• Hierarchy strips in user interfaces
Hierarchy strips in user interfaces
• Building a product without a design system leads to huge design debt
Building a product without a design system leads to huge design debt
• Previewing the IDE of the Future — Fleet
Previewing the IDE of the Future — Fleet
• The top three clean code principles to follow in 2023
The top three clean code principles to follow in 2023
• How to get the first 1000 Github stars for an Open Source project
How to get the first 1000 Github stars for an Open Source project
• Maestro: простое тестирование UI
Maestro: простое тестирование UI
 Аналитика, маркетинг и монетизация
Аналитика, маркетинг и монетизация
• Как из данных узнавать о том, что в продукте что-то пошло не по плану
• Почему усилия Европы по разблокировке iPhone не сильно навредят Apple
• Проектируем блок с призывом к установке мобильного приложения: 76 гайдлайнов
• 10 идей для тестирования подписок в вашем приложении
• Рекламная монетизация в мобильных приложениях в праздничный сезон 2023 — отчет Appodeal
• Художественные приложения с ИИ захватили топ-чарты App Store на волне успеха Lensa AI
• Сервис поздравления от знаменитостей Cameo запустил версию для детей
• Мобайл 2023: 5 прогнозов Data.ai
• Самые зарабатывающие приложения США в ноябре
 AI, Устройства, IoT
AI, Устройства, IoT
• Vertical Boutique – нужны ли нам умные отели?
? Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!

 iOS
iOS• Apple готовится к запуску сторонних магазинов приложений
• JetBrains закрывает AppCode
• Удаляем фон у фото используя CoreML
• Создаем оберточный HStack с помощью протокола Layout SwiftUI
• Ускорение разработки при помощи Unit-теста
• Foundation будет переписан на Swift и станет открытым
•
 Setting up a build tool plugin for a Swift package
Setting up a build tool plugin for a Swift package•
 SwiftUI view modifier for paid app features
SwiftUI view modifier for paid app features•
 Deploying DocC with GitHub Actions
Deploying DocC with GitHub Actions•
 iOS App As a Microservice. Using SwiftUI in Modular App
iOS App As a Microservice. Using SwiftUI in Modular App•
 SwiftUI LazyVStack: a closer look
SwiftUI LazyVStack: a closer look•
 Building a Wrapping HStack With the SwiftUI Layout Protocol
Building a Wrapping HStack With the SwiftUI Layout Protocol•
 OptionSet in Swift explained with code examples
OptionSet in Swift explained with code examples•
 How to change a List’s background color in SwiftUI
How to change a List’s background color in SwiftUI•
 Did You See This? A Measurement Class In Swift
Did You See This? A Measurement Class In Swift•
 Testing async/await exceptions
Testing async/await exceptions•
 Setting Up a Multiplayer 3D Chess Using RealityKit, ARKit, and SwiftUI
Setting Up a Multiplayer 3D Chess Using RealityKit, ARKit, and SwiftUI•
 Using Hopper to investigate an iOS bug
Using Hopper to investigate an iOS bug•
 iOS In-App Subscription Tutorial with StoreKit 2 and Swift
iOS In-App Subscription Tutorial with StoreKit 2 and Swift•
 Dynamically Change App Icons for a Unique User Experience with SwiftUI
Dynamically Change App Icons for a Unique User Experience with SwiftUI•
 Testing a SwiftUI + Combine iOS App Using Clean Architecture
Testing a SwiftUI + Combine iOS App Using Clean Architecture•
 Creating a Bottom Sheet Using FloatingPanel in Swift
Creating a Bottom Sheet Using FloatingPanel in Swift•
 Understand Swift Autoclosures
Understand Swift Autoclosures•
 Jetbrains is sunsetting AppCode With the release of v2022.3
Jetbrains is sunsetting AppCode With the release of v2022.3•
 Copilot for Xcode: код Copilot в Xcode
Copilot for Xcode: код Copilot в Xcode•
 Coduo: совместная работа в Xcode
Coduo: совместная работа в Xcode Android
Android• Яндекс выпускает Yatagan — опенсорс-фреймворк для внедрения зависимостей, позволяющий ускорить сборку
• Писать UI для Android на QT
• Самый запутанный краш в моей жизни
• Kotlin Symbol Processing. От теории до практики
• Интегрируем Rust в Android-приложение
• Создаем простую игру с Jetpack Compose для часов на Google WearOS
• Трудности, с которыми мы столкнулись при модуляризации нашего приложения. Часть 2
• RecyclerView для начинающего Android-разработчика
• Вышел Android 13 для телевизоров
•
 How to set up UI testing on CI
How to set up UI testing on CI•
 Implementing a circular carousel in Jetpack Compose
Implementing a circular carousel in Jetpack Compose•
 Impact of Dependency Tree Depth on Gradle Builds
Impact of Dependency Tree Depth on Gradle Builds•
 Advanced Kotlin Dev Day 2022
Advanced Kotlin Dev Day 2022•
 Launch modes of Android Activity
Launch modes of Android Activity•
 Principles & Practice in Repository Layer
Principles & Practice in Repository Layer•
 Utilising the Canvas in Jetpack Compose to build a SquareSegmentedProgressIndicator
Utilising the Canvas in Jetpack Compose to build a SquareSegmentedProgressIndicator•
 Integrating Rust With Android Development
Integrating Rust With Android Development•
 Introducing: Maestro Studio
Introducing: Maestro Studio•
 I bet you didn’t know about these features in Kotlin
I bet you didn’t know about these features in Kotlin•
 Health Connect Android API
Health Connect Android API•
 Creating a Collapsing TopAppBar with Jetpack Compose
Creating a Collapsing TopAppBar with Jetpack Compose•
 How to scale made-for-mobile apps to ChromeOS
How to scale made-for-mobile apps to ChromeOS•
 Pew pew! Making a Game with Compose Canvas on Wear OS
Pew pew! Making a Game with Compose Canvas on Wear OS•
 Seal: скачиватель видео/аудио для Android
Seal: скачиватель видео/аудио для Android•
 Physics Layout: UI в Compose на физическом движке
Physics Layout: UI в Compose на физическом движке Кроссплатформа
Кроссплатформа• Зачем Clojure Flutter
• Unity UI Toolkit: MVVM ннада?
• Flutter Dev Podcast #38: Dart и синтаксический сахар
• Ускоряем разработку за счет пакета Mason на Flutter
• Flatbuffers в Unity — ускорили сериализацию в 40 раз
• А точно ли вам нужно PWA?
•
 Make Flame 32 times faster with collision detection and additional tricks
Make Flame 32 times faster with collision detection and additional tricks•
 The road to Dart 3: A fully sound, null safe language
The road to Dart 3: A fully sound, null safe language•
 13 Questions To Prepare For In Your React Native Interview
13 Questions To Prepare For In Your React Native Interview•
 Flutter Riverpod Tutorial with Usage & Advantages
Flutter Riverpod Tutorial with Usage & Advantages•
 How to create a truly native experience for your React-Native app?
How to create a truly native experience for your React-Native app?•
 Take your Flutter App performance to next level
Take your Flutter App performance to next level•
 Why Flutter needs Clojure
Why Flutter needs Clojure•
 KMM Preferences Datastore
KMM Preferences Datastore•
 Create A Breakout Game in Flutter With Flame and Forge2D
Create A Breakout Game in Flutter With Flame and Forge2D•
 Empty states: 5 practical tips for designers
Empty states: 5 practical tips for designers Разработка
Разработка• Дело против модульных тестов
• Что такое service mesh простыми словами
• Дизайн. С нуля до миддла
• Важность владения кодом
• Особенности работы мобильного аналитика в банковских проектах
• Редизайн приложения для ЖКХ: как упорядочить хаос и не наломать дров
• Локализация Qt-приложений
• Переводим Spring/Kotlin-сервис на NIO и coroutines
• Spotify планирует монетизировать разработчиков через отрытый проект Backstage
• Microsoft представила новую версию Skype
• GitHub начнет проверять наличие секретных данных во всех репозиториях
• Рейтинг популярности языков программирования по упоминаниям в вакансиях
•
 The Hidden Cost of Software Automation
The Hidden Cost of Software Automation•
 The problem of clock font size in Apple iOS 16
The problem of clock font size in Apple iOS 16•
 GitHub actions shared workflows
GitHub actions shared workflows•
 Hierarchy strips in user interfaces
Hierarchy strips in user interfaces•
 Building a product without a design system leads to huge design debt
Building a product without a design system leads to huge design debt•
 Previewing the IDE of the Future — Fleet
Previewing the IDE of the Future — Fleet•
 The top three clean code principles to follow in 2023
The top three clean code principles to follow in 2023•
 How to get the first 1000 Github stars for an Open Source project
How to get the first 1000 Github stars for an Open Source project•
 Maestro: простое тестирование UI
Maestro: простое тестирование UI Аналитика, маркетинг и монетизация
Аналитика, маркетинг и монетизация• Как из данных узнавать о том, что в продукте что-то пошло не по плану
• Почему усилия Европы по разблокировке iPhone не сильно навредят Apple
• Проектируем блок с призывом к установке мобильного приложения: 76 гайдлайнов
• 10 идей для тестирования подписок в вашем приложении
• Рекламная монетизация в мобильных приложениях в праздничный сезон 2023 — отчет Appodeal
• Художественные приложения с ИИ захватили топ-чарты App Store на волне успеха Lensa AI
• Сервис поздравления от знаменитостей Cameo запустил версию для детей
• Мобайл 2023: 5 прогнозов Data.ai
• Самые зарабатывающие приложения США в ноябре
 AI, Устройства, IoT
AI, Устройства, IoT• Vertical Boutique – нужны ли нам умные отели?
? Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
 
          