Мобильная разработка за неделю #562 (28 октября — 4 ноября)

В новом дайджесте ковка Metal и поиск регрессий в Compose, полностью переделанный React Native и форк Flutter, тактильный отклик в мобильных приложениях, сравнение размеров iOS и Android приложений, самые скачиваемые и зарабатывающие приложения в России в октябре и многое другое. Подключайтесь!

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

kpdhhpl8q8tiowucloc1apwta2o.png

f1930ac4945596eb9707bc7a01bc5bdc.pngiOS

• Делаем в SwiftUI размытие экрана при переключении задачи
• Реализуем Face ID аутентификацию в iOS-приложении
• Малоизвестные фичи SwiftUI
• Swift TaskGroup на примерах
• Apple купила Pixelmator
• Как устроена библиотека AppMetrica
• Здесь куют Metal
• Как iOS-разработчику выжить на проекте с KMP?
• App Store будет показывать сводку отзывов, сделанную ИИ
• Copilot появился в Apple Xcode
377ae0333d0f4b7b97307c9eea5ee21a.gifApp development on iPad
377ae0333d0f4b7b97307c9eea5ee21a.gifWhy is xcodebuild slower than the Xcode GUI?
377ae0333d0f4b7b97307c9eea5ee21a.gifUnderstanding actors in Swift
377ae0333d0f4b7b97307c9eea5ee21a.gifSimplify Your iOS CI with Makefiles
377ae0333d0f4b7b97307c9eea5ee21a.gifMaking illegal states unrepresentable
377ae0333d0f4b7b97307c9eea5ee21a.gifMeasuring View Visibility Percentage in SwiftUI Using PreferenceKeys
377ae0333d0f4b7b97307c9eea5ee21a.gifUsing the #require macro for Swift Testing
377ae0333d0f4b7b97307c9eea5ee21a.gifCoordinators & SwiftUI
377ae0333d0f4b7b97307c9eea5ee21a.gifInstalling and Using Copilot in Xcode: AI Code Completion
377ae0333d0f4b7b97307c9eea5ee21a.gifThe Strategy Pattern
377ae0333d0f4b7b97307c9eea5ee21a.gifProblematic Swift Concurrency Patterns
377ae0333d0f4b7b97307c9eea5ee21a.gifIntroducing Swift Testing. Lifecycle.
377ae0333d0f4b7b97307c9eea5ee21a.gifImproving test coverage with parameterized tests in Swift testing
377ae0333d0f4b7b97307c9eea5ee21a.gifHow to automatically update build and version numbers in your app using Fastlane
377ae0333d0f4b7b97307c9eea5ee21a.gifPreview Driven Development
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngConvert a SwiftUI view to an image
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngTranslation API
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngAccessibility — The clock is ticking
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngSwiftUI Bottom Sheet like Apple Music App
96716bcb926741e79bb1c284a88083ca.pngGeometrize — изображения из примитивов
96716bcb926741e79bb1c284a88083ca.pngParalayout — пиксельно идеальная верстка в iOS
96716bcb926741e79bb1c284a88083ca.pngCoreDataEvolution — безопасная многопоточность для Core Data

e1a3cf2a8b65a0da69bbdd5c0ad040fe.pngAndroid

• Главный метод Android-приложения
• Поиск регрессий в Compose
• Пятый элемент: разбираемся с Separated apps в KNOX Service Plugin (KSP)
• Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 5
• Внедрение электронной цифровой подписи в мобильное приложение на Android
• Как написать Android приложение, которое не будет стыдно положить в портфолио. Гайд для новичков в Android разработке
• Кастомный Date and Time picker как в Telegram на Kotlin Jetpack Compose
• Android cookbook: готовим WebView правильно
• Kotlin Coroutines. Устройство и возможности использования
• Фреш на полке, фреш в стеке
• Более частые выпуски Android SDK: более быстрые инновации и высокое качество
• Google работает над аналогом Dynamic Island для Android
377ae0333d0f4b7b97307c9eea5ee21a.gifGemini on Android, The story so far
377ae0333d0f4b7b97307c9eea5ee21a.gifHow To Create a Parallax Movie Pager In Jetpack Compose
377ae0333d0f4b7b97307c9eea5ee21a.gifKoin Annotations 1.4 stable & First 2.0 beta version
377ae0333d0f4b7b97307c9eea5ee21a.gifAutomating Versioning and APK Naming in Gradle for Android Projects
377ae0333d0f4b7b97307c9eea5ee21a.gifGenerating Code Coverage Report with JaCoCo: A Complete Guide for Android
377ae0333d0f4b7b97307c9eea5ee21a.gifMastering DisposableEffect in Jetpack Compose: Managing Side Effects Effectively
377ae0333d0f4b7b97307c9eea5ee21a.gifGradle Modularisation
377ae0333d0f4b7b97307c9eea5ee21a.gifTips to Improve Frame Rates in Android Apps
377ae0333d0f4b7b97307c9eea5ee21a.gifAndroid interview questions about Activity component
377ae0333d0f4b7b97307c9eea5ee21a.gifThe beauty of Kotlin Type System
377ae0333d0f4b7b97307c9eea5ee21a.gifElevate Your Dependency Injection Game: Koin 4.0 Unveiled for Kotlin Developers
377ae0333d0f4b7b97307c9eea5ee21a.gifGoogle confirms the Android 16 dessert code-name is Baklava
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngNavigation In Multi-Module Android Apps
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngThe Ultimate Beginner«s Roadmap to Android App Architecture
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngDangerous Minds: How we«re getting developer education wrong
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngDroidcon Lisbon 2024
96716bcb926741e79bb1c284a88083ca.pngCompose Unstyled — UI-компоненты Compose Multiplatform
96716bcb926741e79bb1c284a88083ca.pngLawnchair — лаунчер для Android

malx8hbgozt6lee8rmxmg96_s6a.pngКроссплатформа

• React Native полностью переделан
• Создан Flock — форк Flutter
• Как начать создавать Flutter-приложения на Авроре: полная инструкция
• Три пути к Flutter: истории разработчиков, которые справились
• Пробуем Flutter в Telegram Mini Apps: Насколько хорошее решение для разработки?
• Оптимизация архитектуры: делим крупные классы с помощью миксинов
• Шеринг файлов локализации между несколькими пакетами в Flutter
377ae0333d0f4b7b97307c9eea5ee21a.gifFlutter RAII: Simplifying Resource Management in Your Apps
377ae0333d0f4b7b97307c9eea5ee21a.gifHow to Migrate from Dagger 2 / Hilt to Koin for KMP
377ae0333d0f4b7b97307c9eea5ee21a.gifArchitect Your React Native app to handle Millions of Users and Large Development Teams
377ae0333d0f4b7b97307c9eea5ee21a.gifInspektor — Multiplatform HTTP inspection library for KTOR
377ae0333d0f4b7b97307c9eea5ee21a.gifKotlin Multiplatform Development Roadmap for 2025
377ae0333d0f4b7b97307c9eea5ee21a.gifUsing Vertex AI in a Compose/Kotlin Multiplatform project
377ae0333d0f4b7b97307c9eea5ee21a.gifI built a web app with Flutter and this is how I feel about it
377ae0333d0f4b7b97307c9eea5ee21a.gifBreaking Up with GetX: Know the Facts Before You Judge
377ae0333d0f4b7b97307c9eea5ee21a.gifReact Native, and «the native feel»

7081c634ec176ab6b953d9d19e82a09a.pngРазработка

• Правда ли, что приложения для Android намного меньше, чем для iOS?
• Тактильный отклик в мобильных приложениях: что это такое, когда использовать и зачем?
• Octoverse 2024: ежегодный отчет от GitHub
• Битва титанов: натив, кроссплатформа и PWA — ищем плюсы и минусы на каждом этапе разработки
• Без теории к практике: как уловить радиоволну инклюзивного дизайна, опираясь на опыт реальных людей
• Самые высокооплачиваемые вакансии октября в сфере разработки приложений
• Задачи с собеседований: Leetcode — Наибольший общий префикс
• От натива до SDUI через гибрид
• Карьера мобильного разработчика 2024
• Разработка в робототехнике — Автоматизация, Автопилоты
377ae0333d0f4b7b97307c9eea5ee21a.gifInvestigation of a Workbench UI Latency Issue
377ae0333d0f4b7b97307c9eea5ee21a.gifHow to build the perfect mobile release train
377ae0333d0f4b7b97307c9eea5ee21a.gifAmphion: OS audio, music & speech generation toolkit
377ae0333d0f4b7b97307c9eea5ee21a.gifUsing an 8K TV as a monitor
377ae0333d0f4b7b97307c9eea5ee21a.gifOn One-on-Ones — Insights From 1,500 Meetings
377ae0333d0f4b7b97307c9eea5ee21a.gifDecoupling Design From Engineering
377ae0333d0f4b7b97307c9eea5ee21a.gifWhy Pascal Deserves a Second Look
377ae0333d0f4b7b97307c9eea5ee21a.gifWhy sprints are taking the joy out of building software
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngGoogle Cloud Digital Leader Certification Course 2024

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

• Самые скачиваемые и зарабатывающие приложения в России в октябре 2024
• Рынок iOS-приложений в Европе — отчет Setapp
• VK Реклама упростила продвижение приложений из RuStore
• Nintendo выпустила стриминговое приложение с музыкой из своих игр
• Маркетологи в мобайле: Любовь Бондарева (Rostic«s)
• Как я использовал Keynote для создания скриншотов и роликов для App Store
• Приложение Screenable превращает любой iPhone в стартовый телефон для детей
377ae0333d0f4b7b97307c9eea5ee21a.gifMy 9 Favorite Growth Framework
377ae0333d0f4b7b97307c9eea5ee21a.gifHow DreamPlus Games Makes $2M Per Month On Twilight Hype

8538129f5e7b404a720121cb9c3814db.jpgAI, Устройства, IoT

• Опыты с акселерометром и гироскопом на платформе S7V30
• Тестируем Pixtral12B и LLaMA 3.2 11B на народных Tesla P100 и P40
• Как я занял первое место в AI Journey Contest 2023 (трек Personal AI)
• Распознавание ж/д пикетных столбиков по фотографиям с беспилотника на основе PyTorch и YOLOv5
• Как «ДубльДом» хочет сделать свои дома умными
• Как учёные начали расшифровывать пение птиц
• Архитектура и основы безопасности Zigbee
• Лучшие клавиатуры 2024
• GitHub обновляет Copilot
• Более четверти нового кода в Google создается ИИ

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

© Habrahabr.ru