В нашем новом дайджесте калькулятор на Swift и задачи для разработки, первые игры и переоцененные принципы, доходы рынка приложений, последние экраны блокировки и многое другое. Подключайтесь!

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



iOS

• Портирование Graphing Calculator с C++ на Swift
• Telegram на iOS: cборка из исходников и запуск на эмуляторе (не используя платную учётку Apple Developer Program)
• Переход на SwiftUI: внедряем TabView взамен UITabBarController
• Async/await в Swift 5.5: асинхронность «здорового человека»
• Apple представила «экстремальный» уровень безопасности для iOS, iPadOS и macOS
5 Ugly Sides of iOS App Development You Didn’t Know About
Stop using MVVM with SwiftUI
iOS Architecture — The VaMPiRe
Build a 3D Pie Chart Using SceneKit and SwiftUI
How to Achieve Dynamic Dispatch Using Generic Protocols in Swift 5.7
Create Custom Navigation Stack using SwiftUI 4.0
Meet Swift Regex (WWDC 2022)
Decoding Dynamic JSON with Swift Codable
The Trade-offs of Using Mirror API to do Code Reflection in Swift
What’s New in Xcode 14 Previews
How to Achieve Dynamic Dispatch Using Generic Protocols in Swift 5.7
For all the indie iOS devs focused on SwiftUI
Implement SwiftUI Navigation With NavigationStack and NavigationSplitView
How to Write Unit Tests for Combine’s Debounce Method in iOS
How iOS 16 makes your app launch faster
Decoding Dynamic JSON with Swift Codable
•  X-SwiftFormat: форматирование кода
•  Multiliner: длинные строки в Xcode

Android

• Возможна ли работа с Bluetooth в Android без местоположения?
• Google ослабит политики и выплатит разработчикам $90 млн
• История создания игры в одиночку
• Compose End to End тестирование. Основы
• Управление встроенным обновлением в приложении для Android
• ФАС обязала Google разрешить сторонние способы оплаты в Google Play 
No emulator needed for screenshot tests of Compose @Previews on CI
Animation in Jetpack Compose
Parallel processing with state management in Lazy Column — Jetpack Compose
Collapsible Extended Floating Action Buttons with a LazyColumn in Jetpack Compose
Migrating to the new coroutines 1.6 test APIs
Variable Rate Shading on Adreno GPUs
Extraordinary Animations with Paths in Android
Jetpack Compose Stability Explained
Customizing AnimatedContent in Jetpack Compose
Control In-app update in Android
Advance Architecture for Android Project
Appyx — Application mechanics for Android apps, built on top of Jetpack Compose
Performance Considerations for Memory Leaks: An Android Cookbook
Setup your CICD Pipeline with Fastlane and Github actions for Android apps
Extraordinary Animations using Trigonometry and Coroutines (Radar Animation)
A better way to pass Data from API to Composable
Extension Functions You Need to Know in Android
The God-level Kotlin Function
How OkCredit Android App boosted Network Performance by 30%
•  Orbitary: анимации Jetpack Compose
•  Permission Flow for Android: состояние разрешений

Кроссплатформа

• Создал свою первую в жизни игру
• Flutter для автомобиля. А почему бы и нет?
• Язык описания квестов или как сделать квестовую систему на Unity
Flutter 3: What are enums and what is new about it
What’s New in React Native 0.69 — How to Upgrade and Why it Matters
Flutter 3: How to extend ThemeData
How to write Flutter code efficiently
Deep Linking in React Native
Flutter battery app made with Klutter
Flutter Rendering Widgets Using JSON Data
How to write Flutter code efficiently

Разработка

• Почему DRY — самый переоцененный принцип программирования
• Как сделать удобную дизайн-систему. Цвета. Часть 1
• Ваш продукт без UX текстов: потрачено
• Как правильно поставить задачу для разработки
• Зачем геймификация логистам?
• Дизайн приложений: примеры для вдохновения #80
• Podlodka #275: распознавание музыки
• Публичное собеседование на позицию техлида
• Средние зарплаты разработчиков 2022 в разных странах
• $5.2 млн в посевном раунде: Baserow — open source no-code базы данных
• $5.5 млн: Echo3D — CMS и CDN для 3D контента
• Яндекс Практикум запускает курсы по мобильной разработке
• Самые высокооплачиваемые вакансии июня в разработке приложений
• 43% российских IT-шников сегодня работают удаленно
• 7 Законов UX, которые вы, скорее всего, воспринимаете не правильно
• Актуальные юридические новости для IT-компаний за июнь
I Reject 95% of Developers in an Interview: Here’s How to Become One of the Top 5%
How to Write Less Code for More Money
7 Productivity Tools For Software Development Teams
GitHub Actions: Beyond CI/CD
The LeetCode Myth: You Don’t Need to Solve +1000 Questions to Work at Google, Microsoft, or Amazon
10 most popular design systems to learn from in 2022 for UX Designers
Introverts, You Need 3 Traits to Become a Great Software Architect
Top 8 Best Open Source Development Tools

Аналитика, маркетинг и монетизация

• Расходы на приложения выросли на 1% и достигли $65 млрд
• Приложения и рекламодатели на экране блокировки: последний бастион
• Кейс Смекалки и MediaNation: настройка аналитики и увеличение эффективность маркетинговых вложений
Нативный маркетинговый инструмент App Store и Google Play или Как рассказать об апдейте прямо на странице приложения
• Европа приняла Закон о цифровых рынках, регулирующий деятельность платформ
• Маркетологи в мобайле: Руслан Осин (экспертные продажи VK)
• У Clubhouse худший месяц с момента выпуска
• Поиск идеального поиска: как устроены поисковые эксперименты на Юле
• Софтланч продукта с использованием метрик минимальной жизнеспособности
• Мясная аналитика на СlickHouse
• Вышел новый The Mobile eCPM Report от Appodeal
• $19 млн в посевном раунде: Voyantis — предсказание LTV на основе ИИ

AI, Устройства, IoT

• Papers, please! Как устроены сервисы по распознаванию лиц для идентификации клиента и проверки документов
• 3 бесплатных курса по машинному обучению, которые стоит пройти прямо сейчас
• Inverse Scaling Prize: поиск задач, на которых модели не масштабируются
• VK открыла набор на бесплатное обучение в Академию больших данных MADE
• Поставки гарнитур виртуальной реальности в 1 квартале выросли на 241.6%

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