В нашем новом дайджесте учимся работать с Metric и DivKit, превращаем макеты в код Compose, пишем тексты для экранов подтверждений и сообщений об ошибках, настраиваем Charles, создаем игру для Windows Mobile (самое время!) и делаем многое-многое другое!

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



iOS

• Отслеживаем сбои приложения с MetricKit
• Server-Driven UI с DivKit
• Performance в SwiftUI
• Одна иконка приложения в Xcode 14
• Аналитика и нотификации для iOS
• Mac App Store стагнирует
• Обновлены гайдлайны App Store
• Стал доступен SKAdNetwork 4.0
• Apple готовится выпустить новые Mac
• Visualise the Matthew Effect with Swift Charts
• Three Ways to Refactor Massive SwiftUI
• Creating a lane of our own for iOS automation
• Form Validation in UIKit Made Easy With Combine
• Design Patterns in iOS
• Swift Composable Architecture
• Tracking your iOS app crashes, OOMs and other terminations with MetricKit
• Build a 3D Editor in SwiftUI and SceneKit
• Fixing SwiftUI navigation with UIKit
• UIView/NSView styling with @propertyWrapper
• Create a Card with an Image Outside its Bounds in SwiftUI
• Build a chat feature using Pusher Channels in Swift
• iOS App As a Microservice. Using SwiftUI in Modular App
• Accelerate Your iOS Build Time Process Within Xcode
• How To Avoid Merge Conflicts In Xcode Projects
• Custom Tabbar in SwiftUI (iOS 15+)
• PhoneNumberKit: парсинг и форматирование телефонных номеров
• OpenFind: поиск слов на фотографиях
• AlertToast: уведомления и «тосты» для SwiftUI

Android

• Relay от Google превращает макеты в код Compose
• Китай, Android и чипы RISC-V: зачем китайские компании добавляют поддержку открытой архитектуры в мобильную ОС
• Разбор кода Pocket Casts
• Как в Android запрещали фоновую работу и улучшали расход батареи
• Coroutines: боль обработки ошибок
• Откуда возникает TransactionTooLargeException, если я ничего такого не делал?
• 7 плагинов Android Studio, ускоряющих разработку приложений
• Что там по автотестам на Android в 2022?
• Всем выйти из сумрака: как добавить тень на Android
• Приключения онлайн-кинотеатра Premier в Android TV, или Как мы javascript внедряли
• Экспресс до стора: как мы запускали релизный поезд
• Material Design 3 стал стабильным
• Modelling dating cards navigation with Appyx
• Migrating to Navigation with Jetpack Compose
• Comparing StateFlow, SharedFlow, and CallbackFlow
• Sealed classes in Kotlin
• It’s Time for an App Icon Makeover!
• From zero to 10 million lines of Kotlin
• Persisting and sharing ink
• Customizing the Switch Button in Android
• Introducing KMMBridge for Teams
• Gestures in Jetpack Compose: Getting Started
• My Experience as an Android Engineer; One Year Later.
• Now in Android: a Material 3 case study
• Understand Android Jetpack’s WorkManager in 5 minutes
• How to pause a coroutine
• OkLayoutInflater
• Turbocharge: Storytel’s Story of weekly mobile app releases
• Sheets Compose Dialogs: готовые диалоги и View для Compose
• Compose AnimatedList: анимированные списки

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

• React Native is better than Flutter*
• Как стать Flutter-разработчиком, или Почему кроссплатформа сейчас — это лучший выбор
Полезные плагины VS Code для разработки кроссплатформенных приложений с использованием React Native и Flutter
• Что почитать для Unity разработчика: Рендер
• Генерация кода API клиента приложения на основе пакета dart openapi generator
• Shortening Flutter test feedback cycle in VS Code
• Using Mason and bricks in your Flutter app: Beginner’s guide
• SonarQube with Flutter
• Simulate Birds Flocking Using Multi-Agent System and Flutter Flame
• Flutter: Realtime Participants Counter
• Make your Flutter projects more readable and effective with extensions!
• How we made our app 80% faster
• Input Chip In Flutter

Разработка

• Вы уверены? Как писать тексты для экранов подтверждения
• Как создавать лучшие сообщения об ошибках — опыт Wix
• Пишем 3D игру под Windows Mobile, ч.1
• Как настроить Charles
• Осознанная автоматизация тестирования в геймдеве
• Podlodka #291: продуктивность разработчика
• Как кастомизировать UI артефакты для Selenide + Selenoid + Allure (with TestOPS)
• Как превратить сайт в удобное мобильное приложение на примере интернет-банка «ВТБ Онлайн»
• Синхронизация в UX-дизайне: как поддерживать единую стилистику сервисов для разных устройств
• Создание кастомных чатов с помощью Firebase Realtime database
• Самые высокооплачиваемые вакансии октября в области разработки приложений
• Самые популярные языки программирования в рейтинге RedMonk
• GitHub достиг дохода $1 млрд в год
• Как в Gas уменьшили нагрузку Redis на CPU на 80%
• Видео Firebase Summit 2022
• Microsoft начинает продажи Windows Dev Kit 2023
• How Discord Indexes Billions Of Messages?
• The Secret Art of Storytelling in Programming
• Mobile Design in 2022-2023
• My software developer intern quit his job, after 3 working days
• Faster hardware is a bad first solution to slow software
• Kweb — веб-фреймворк для Kotlin

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

• Не только tinder вероятно знает с кем вы спите. Патент No: 0342684 A1
• Сколько стоит любовь в Tinder? Unit-экономика финансового отчета 2021 Match Group
• Google приобрел аватары Alter
• Spotify называет правила Apple «душащими конкуренцию»Spotify убрал покупку аудиокниг из iOS-приложения
• MyTracker запустил «Аудитории» — автоматическую передачу сегментов в рекламные платформы
• Apple открыла дополнительные рекламные места в App StoreРазработчики критикуют новую рекламу в App StoreApple приостановила размещение рекламы «азартных игр и некоторых других категорий»
• Age of Empires снова выходит для мобильных устройств
• Российский рынок мобильных игр вырастет на 25% в 2022
• Duolingo приближается к $100 млн квартальной выручки

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

• Прогнозирование качества шампанского с помощью Machine Learning. Опыт Bollinger
Нейросети на RISC-V с Movidius Neural Compute Stick
• ESP32 Tuya IoT adapter: родила царица в ночь…
• SWUpdate, Yoctо(ерный) театр и paperina
• Семь способов передачи телеметрии из Azure RTOS через интернет
• Bumble открывает свой ИИ для определения непристойных фотографий
• How To Turn Yourself Into Pixar Character Using Stable Diffusion AI

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

Комментарии (0)