В новом дайджесте интерактивный UX и разбор Android 14, упрощение отладки и распознавания паспортов, атомарный дизайн, самые зарабатывающие приложения в России в августе, уроки музыки и многое другое.

Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.



Пройдите наш опрос про архитектурные шаблоны. Опрос займет несколько минут. Доступен здесь.

iOS

• Осваиваем StoreKit 2: модификаторы представлений в SwiftUI
• Enum в Swift: Перечисления Возможных Сценариев
• Поваренная книга SwiftUI: cоздание и предварительный просмотр представления SwiftUI
• Интерактивный UX: Как использовать Drag and Drop в UICollectionView на iOS
• Swift-уроки: Simple MVVM
• Как приручить iPhone, или Общаемся с телефоном по проводу
• Приложения для iPad и iPhone будут автоматически публиковаться в магазине приложений Vision Pro
•  Exploring the new Preview Macro with SwiftUI and UIKit
•  Linking C++ static library in iOS project
•  Selection and PieCharts in iOS 17
•  Running Code When Your View Appears
•  Swift Typo Detector
•  Plussing your iOS app
•  How to be better iOS Developer using this tips
•  Advanced Swift Actors: Re-entrancy and Interleaving
•  Advanced iOS Memory Management Techniques
•  Building a searchable map with SwiftUI and MapKit
•  How to Modularize an iOS App
•  Migrating iOS GitHub Actions to Self-Hosted M1 Mac Runners
•  Combine, async/await, and Unit Testing
•  SwiftUI: Why You Need AnyView
•  Using Tuples the Swift Right Way
•  Faster iOS performance debugging with ETTrace
•  Debugging universal links
•  Thread safety in Swift with locks
•  Image Tracking and Detection using AR-Kit
•  My Deep Dive into the «Failed to Receive Result from Plugin» Macro Error
•  Demystifying Sobel Operators & Edge Detection
•  SwiftUI Fundamentals — FULL COURSE
•  How To Preload Relationship Into SwiftData ModelContainer
•  Selection and PieCharts in iOS 17
•  Dynamic Island SwiftUI Demo: пример работы с Динамическим островом
•  Swift OpenAPI Generator: генерация кода API-вызова

Android

• Разбор Android 14 для разработчиков
• Ускоряем поиск по коду в Android Studio
• Упрощение отладки Android-приложений с помощью Flipper
• Лучшие практики обработки ошибок в Kotlin
• Как публиковать и воспроизводить видео на Android с помощью опенсорс-библиотеки и стриминговой платформы EdgeЦентр
• Google обновляет логотип Android
•  Refactoring Multi-Module Kotlin Project With Konsist
•  Compose Interoperability in Espresso Tests
•  Making ADB a little bit dynamic
•  The onBackPressed Is Now Deprecated in Android 13 and Might Need Major Changes in Existing Apps
•  Simple Jetpack Compose Tabs With Fragments
•  Different Ways to Achieve Function Composition in Kotlin
•  Kotlin Context Receivers — misunderstood and underestimated feature
•  Build a Real-Time Meeting App for Android with Jetpack Compose
•  Material 3 Adaptive: Making Responsive Layouts with Jetpack Compose easily
•  5 Snapshot Testing Tools for Android
•  Maximizing Efficiency: Using a Single Adapter for Different View Holders in RecyclerView
•  Exploring Canvas in Jetpack Compose — Crafting Graphics, Animations, and Game Experiences
•  How I removed ads from the Spotify app
•  Leveraging Kotlin Function Arguments Helper
•  Now in Android: 90 — Android brand, ART updates, Dagger KSP, and more
•  Google Play Store Listing Certificate Study Guide
•  THIS New Tool Strongly Speeds Up Your Gradle Builds
•  Don’t Make THIS Mistake With Room & Databases on Android
•  Step-by-Step Guide to Screenshot Testing in Android
•  Meeting Room Compose: видеоконференции на Compose
•  MPV: видео-плеер для Android

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

• Распознаем паспорт РФ в PWA: быстро, качественно, без сервисов/без утечек
• Нововведения фреймворка Flutter 3.13. Часть 1
• Новый способ прослушивания событий жизненного цикла приложения во Flutter
• Тестирование Flutter-приложений c помощью Appium
•  Things to look forward to in React Native
•  Flutter App Architecture with Riverpod
•  Building a Gmail-Like Email App with Flutter and Python Backend
•  Migrating an Android app to iOS with KMP
•  React Native Performance Measuring and Monitoring Tools
•  How to execute an Android intent in Flutter
•  Ultimate Guide to Write Tests in Flutter
•  Getting Started with Detox for End-to-End Testing in React Native
•  How to Avoid Reverse Engineering in Flutter Applications
•  Flutter 3.13: A Game-Changing Update for App Developers
•  Flutter Scratch Card Game Development
•  6 Best Places to learn Flutter for FREE in 2023
•  Building a Gmail-Like Email App with Flutter and Python Backend
•  AppFlowy: открытая альтернатива Notion

Разработка

• Как атомарный дизайн облегчает жизнь дизайнерам и делает счастливее заказчика?
• Ozon Tech Community Mobile Meetup
• Новая Зеландия: как живут разработчики в стране хоббитов
• Podlodka #336: на чем программируют ученые
• Самые высокооплачиваемые вакансии августа в области разработки приложений
• Microsoft удаляет WordPad из Windows спустя почти 30 лет
•  Tech leading as a mobile engineer at Monzo
•  Bézier curves
•  Vector search for dummies
•  From Zero to SaaS: The 10 Tools for Building Your SaaS App
•  What’s hot in mobile App UI/UX design in 2023?
•  How we built the Tinder API Gateway
•  How to Thrive at a New Mobile Engineering Position
•  How Google Stores 10,000 Petabytes of Data Efficiently
•  WhatsApp Re-Design — UI/UX Case Study
•  How to advance as Software Engineer. How to be a more Senior Software Engineer

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

• Самые скачиваемые и зарабатывающие приложения в России в августе 2023
• Почему ваш онбординг может быть слишком коротким
• Не смотрите наверх: метеор некомпетентности Google уничтожит тысячи приложений через четыре месяца
• Новое приложение Moments помогает поддерживать личные и профессиональные отношения
• Приложение Voiijer — социальное сообщество для любителей природы и исследователей
• Duolingo запускает уроки математики и музыки
• В Google Play появились редакционные видео The Play Report
• Qept — простое приложение с заметками, в котором надо писать самому себе
• $354 млн: Butternut Box — доставка здоровой еды для собак
• Supercell и Chess.com объявили о месячном партнерстве
• Apple открыла раздел «Приложения от Apple»
• App Store: загрузки падают, а доходы растут

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

• Строим удобные автомобильные маршруты
• Slack объявляет о запуске пилотного проекта Slack AI
• OpenAI проведет первую конференцию для разработчиков 6 ноября
• По слухам, Apple может выпустить недорогой MacBook для конкуренции с Chromebook
• Textbase: простое создание чатботов

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