Мобильная разработка за неделю #635 (15 — 21 июня)

от автора

В новом дайджесте вопросы доступного пространства в условиях ненадежного поведения horizontalSizeClass и выход Android 17, гид в смешанной реальности с использованием Android XR и живой космос на Metal, иерархия корутин в Android, приложение с расписанием автобусов, скам сети с подписками, домашний сервер с Qwen Code за 25к и многое другое. Подключайтесь!

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

iOS

• «Это уже тысячу раз делали»: как мы добавили медиаленту в Яндекс Еду для iOS. А потом переделали
• От класса размера к доступному пространству: остается ли horizontalSizeClass надежным параметром?
• Живой космос на Metal: как я переписывал фон мобильной игры и поднимал FPS с 20 до 120
• Лучшие практики SwiftUI из агентского навыка Xcode 27
• LLM на iPhone: от llama.cpp до Foundation Models
• Пишем кодинг‑агента на Swift с нуля: неочевидные сложности очевидной идеи
• Свой NavigationBar на iOS: large title, поиск и списки на Texture
• Нетривиальные анимации в мире iOS-разработки
• Apple открывает App Store для конкуренции в Бразилии
• Что нового в Swift 6.4 после WWDC26
• News from WWDC26: WebKit in Safari 27 beta
• WWDC26: Swift Group Lab — Q&A
• How to Use OpenCode in Xcode 27
• Apple’s Private Cloud Compute Is Severely Limited for Third-Party Developers
• Concurrency is now mandatory skill for iOS devs
• Swift team launches Networking Workgroup
• WWDC26 SwiftUI Changes That Actually Matter: 7 Upgrades with Real Code Examples
• Swipe actions outside of List in SwiftUI
• Can You Explain Why Structs Are Faster Than Classes in Swift? Most Candidates Can’t
• New SwiftUI APIs for reordering and drag and drop on iOS 27
• Actors in Swift: The Problem They Solve and How it Works
• Inside Apple Intelligence and Xcode: Special Presentation
• WWDC26: SwiftData Group Lab
• WWDC26: Machine Learning & AI Group Lab
• Safari Style Swipeable Tabbar Using SwiftUI
• Adaptive TabView for iOS 27 (iPhone) Using SwiftUI
• Build a Swift Terminal Developer Toolkit with TUIkit
• SWCompression — работа с архивами на Swift
• ListKit — списки и сетки для SwiftUI

Android

• Как мы научились видеть иерархию корутин в Android‑приложении: Coroutine Tracer в библиотеке Demeter
• Создание гида в смешанной реальности с использованием Android XR, геопространственного API и Gemini
• От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin (Часть 2)
• Как я впервые в Google Play публиковался
• Разработка плагина для Android Studio или Чистим безумную простыню логов в LogCat
• Android Kiosk: как купить сухарики, когда ларёк закрыт
• Тестирование верстки и layout на Android
• Проверка разработчиков Android: cовместное создание более безопасной экосистемы
• Android 17 официально вышел
• Datadog предоставляет миллионы инсайтов о производительности с помощью ProfilingManager
• The task shapes the strategy: Kotlin select expressions in practice
• Ditch READ_CONTACTS Forever: Android 17’s Secure Contact Picker
• How to use Koin Compiler in a Multimodule Project?
• What’s New in Android XR: Tooling, Engine Support, and Ecosystem Updates
• Introducing the RevenueCat Codegen Gradle Plugin: type safe entitlements and offerings on Android
• Compose Stability Analyzer 0.10.0: Stability Doctor and Trace-All Mode
• 13 Jetpack Compose Tricks Senior Android Developers Use Every Day
• Integrating On-Device AI in Android: A Practical Guide with Gemini Nano and ML Kit
• Android Interview Questions & Answers : Real Scenario Based with In-Depth Explanations
• Android Interview Question Bank (2026 Edition)
• I Debugged 200+ Android Performance Issues — Here’s the ADB Playbook I Use Every Time
• The Lysine Contingency: Retrofit, OkHttp, Okio and SQLDelight are moving
• How I Shrunk a Plant Disease Classifier from 16MB to 5MB with Less Than 1% Accuracy Loss
• Pragmatic Kotlin Flows: Edge Cases in Modern Android
• Android 17 AOSP is here
• What’s new in Jetpack Compose
• What’s new in Android XR development
• Lifecycle 2.11 Just Changed Android ViewModels FOREVER!
• Migrating 25-year-old legacy code to Kotlin
• Building androidskills.dev
• Chucker — HTTP инспектор для Android
• Compose Navigation Graph — визуализация потоков приложения

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

• Зачем я сделал LAN-синхронизацию между своими же устройствами в self-hosted мессенджере (и почему не через сервер)
• Когда таймлайн сам рисует кадры: встроенный ИИ‑генератор в MultiTrack
• Through the Lens: Barcode Scanning in Compose Multiplatform
• Mastering Go Router in Flutter (Stop Using Messy Navigation)
• AI Prompts Every React Native Developer Should Know
• Kore — дизайн-система для Compose Multiplatform

Разработка

• Прячем метаданные в мессенджере: 2-hop onion-lite поверх обычных VLESS + Reality relay, и почему это почти бесплатно
• Создание программного обеспечения — это обучение
• Как пройти алгоритмическое собеседование в Яндексе
• Mobile Apps Are Getting Boring. Here’s Who’s to Blame.
• Software Is Not A Single-Player Game

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

• Девять лет, 514 коммитов и один посёлок: как я делал приложение с расписанием автобусов
• PaintCAD Mobile 3.0.24 — графический редактор для Android 2.3+ и J2ME
• Как собственные головные боли привели меня к созданию приложения для анализа метеозависимости
• Новое приложение Pixi превращает текстовые сообщения в интерактивные AR-приложения
• FTC раскрывает, как скам сети с подписками обходят меры контроля со стороны магазинов приложений
• Малоизвестный приём ASO: как с
• How Wispr Flow nails onboarding
• VOODOO’s New Big Three: Castle Busters, Marble Sort!, and Sand Loop
• How to collect emails in your mobile app without killing conversion
• He turned down 75K for his app with 12K in sales. It hit $1M two years later.

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

• Vibecode по дешевке — домашний сервер с Qwen Code за 25к, который не отключит Anthropic
• Солнце — не помеха. Электронная книга как почти лучший навигатор для велосипедиста
• Телеметрия для сети ресторанов: как в «Жар Пицце» контролируют холодильники и инженерные системы
• Создаём простого ИИ-агента с нуля. Часть 1
• Границы применимости LLM в мобильном UI-дизайне
• Внедрение AI в инженерные команды
• Эволюция скилов в агентской разработке: сценарии использования и сравнение с МСР
• Почему Al-агенты тормозят в больших кодовых базах из-за grep и как это исправить
• Оживляем мобильное приложение с помощью LLM-агента
• Обратная сторона AI в мобильной разработке
• Как ИИ меняет разработчика, менеджера и всю индустрию — Денис Неклюдов
• SpaceX купил Cursor
• Snap выпустила автономные очки дополненной реальности
• Why AI Will Likely Make Your Codebase BETTER
• Build a Self-Healing CI/CD Pipeline with AI

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

ссылка на оригинал статьи https://habr.com/ru/articles/1050068/