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

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


• Apple готовится к запуску сторонних магазинов приложений
• JetBrains закрывает AppCode
• Удаляем фон у фото используя CoreML
• Создаем оберточный HStack с помощью протокола Layout SwiftUI
• Ускорение разработки при помощи Unit-теста
• Foundation будет переписан на Swift и станет открытым
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Яндекс выпускает Yatagan — опенсорс-фреймворк для внедрения зависимостей, позволяющий ускорить сборку
• Писать UI для Android на QT
• Самый запутанный краш в моей жизни
• Kotlin Symbol Processing. От теории до практики
• Интегрируем Rust в Android-приложение
• Создаем простую игру с Jetpack Compose для часов на Google WearOS
• Трудности, с которыми мы столкнулись при модуляризации нашего приложения. Часть 2
• RecyclerView для начинающего Android-разработчика
• Вышел Android 13 для телевизоров
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Зачем Clojure Flutter
• Unity UI Toolkit: MVVM ннада?
• Flutter Dev Podcast #38: Dart и синтаксический сахар
• Ускоряем разработку за счет пакета Mason на Flutter
• Flatbuffers в Unity — ускорили сериализацию в 40 раз
• А точно ли вам нужно PWA?
•

•

•

•

•

•

•

•

•

•


• Дело против модульных тестов
• Что такое service mesh простыми словами
• Дизайн. С нуля до миддла
• Важность владения кодом
• Особенности работы мобильного аналитика в банковских проектах
• Редизайн приложения для ЖКХ: как упорядочить хаос и не наломать дров
• Локализация Qt-приложений
• Переводим Spring/Kotlin-сервис на NIO и coroutines
• Spotify планирует монетизировать разработчиков через отрытый проект Backstage
• Microsoft представила новую версию Skype
• GitHub начнет проверять наличие секретных данных во всех репозиториях
• Рейтинг популярности языков программирования по упоминаниям в вакансиях
•

•

•

•

•

•

•

•

•


• Как из данных узнавать о том, что в продукте что-то пошло не по плану
• Почему усилия Европы по разблокировке iPhone не сильно навредят Apple
• Проектируем блок с призывом к установке мобильного приложения: 76 гайдлайнов
• 10 идей для тестирования подписок в вашем приложении
• Рекламная монетизация в мобильных приложениях в праздничный сезон 2023 — отчет Appodeal
• Художественные приложения с ИИ захватили топ-чарты App Store на волне успеха Lensa AI
• Сервис поздравления от знаменитостей Cameo запустил версию для детей
• Мобайл 2023: 5 прогнозов Data.ai
• Самые зарабатывающие приложения США в ноябре

• Vertical Boutique – нужны ли нам умные отели?
? Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.