В новом дайджесте пружинная анимация и Kotlin без «воды, будущее Android-приложений с AppFunctions и путь к сингулярности, лампа с цифровым джинном, как Gemma 4 меняет правила игры, ошейники для коров, замена List, Remote Compose и многое другое. Заходите!

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А еще завел себе новый канал про инди, соло, пет и прочие проекты.
iOS
• Осваиваем пружинную анимацию в SwiftUI
• Создаем замену List в SwiftUI
• Паттерн Координатор: удаляем навигацию из ViewController
• Исследуем мир фото и видео редакторов
• Найди и исправь ошибки в коде — Задачи с собеседования
• Запускаем приложения на своем iOS-симуляторе
• Осторожно, Combine!
• Позаботимся о памяти при использовании value-типов
• Swift – больше, чем язык для iOS
• How to support dark mode in SwiftUI programmatically
• SwiftUI Custom Popover
• Embedding SF Symbols in SwiftUI Text
• App Intents Are Quietly Killing URL Schemes And iOS 26 Is Finishing the Job
• How I Added AI Features to My iOS App (Step-by-Step Guide)
• How to pluralize English text in Swift without using Localizable strings
• Offline Storage with SwiftData
• LogPrinter: a lightweight and structured Xcode logger
• Rebuilding higher-order functions in Swift
• Accessibility in SwiftUI: Inclusive App Design
• What’s that “structured” in Structured Concurrency?
• Swift Audio Capturing: The Absolute Limit of AVAudioEngine! Time For HAL/AudioUnit!
• iOS 26 Fitness App Custom Tab Bar Using SwiftUI
• Apple Music Style Background Gradient From Image Colors Using SwiftUI
• Clendar — минималистичный календарь для iOS
• Blitz — ИИ-агенты для работы с App Store Connect
Android
• Kotlin без «воды»: новая книга для тех, кто хочет изучить язык на практике
• Будущее Android-приложений с AppFunctions
• Разбираем Remote Compose: как Google предлагает строить BDUI
• Я сократил время разработки Android вдвое с помощью ИИ — вот как это сделать
• Сегодня мы построим свою локальную модель на смартфоне. С блэкджеком и WebUI
• Playwright + Appium + WebdriverIO: как эта связка усиливает тестирование гибридного Android-приложения
• Room 3 — новый мажор «комнаты». И да, теперь с поддержкой wasmJs
• Почему вам стоит включить Gradle Configuration Cache
• Интеграция GeckoView в Dynamic Feature
• Последнее слово в Android-навигации
• Kotlin не для Android
• Google запустил приложение для диктовки с ИИ в офлайне
• Mastering Koin Annotations with the Koin Compiler Through Unit Tests
• A Gallery of Mathematical Compose Loading Animations
• A Hidden Problem in Jetpack Compose TextField Max Length
• Master animate*AsState in Jetpack Compose: Effortless UI Animations Explained
• When Everything Fails at Once: Designing Coroutine Systems That Survive Retries, Errors, and Real Load
• Use Cases of Remote Compose: Where It Actually Makes Sense
• Android 17 Is Finally Fixing Multitasking
• Firebase Studio: How Realistic Is It to Work Without a Local IDE in 2026?
• Stop Learning Everything: A 2026 Roadmap to Become an Android Developer Faster
• Android Studio Panda 4 Canary 4 now available
• How Attackers Can Hack Your In-App Purchases •
• Context Preservation and Multi-Coroutine Flows
• Material Photo Widget — виджет с фото
• Cascade Editor — блочный редактор текста для Compose Multiplatform
Кроссплатформа
• Java-Swift interop vs Kotlin-Swift export. Путь к сингулярности
• Совместная работа Kotlin/Native GC и ARC в iOS
• The White Lines: Enforcing Design System Rules with Detekt
• How to implement Drag and Drop in Kotlin Multiplatform
• How I Built a Flutter App Using Claude Code in 2 Days (Full Workflow)
• 5 Mistakes Developers Make When Writing React Native Applications
• React Native UI Props That Quietly Improve UX (No One Talks About Them)
• Flutter App Logging — The Production Way
• React Native 0.85 — New Animation Backend, New Jest Preset Package
• Local Database on the Web — Kotlin Multiplatform Tutorial
Разработка
• Как я с помощью автоматизации выиграл iPhone от McDonald’s
• Лампа с цифровым джинном: как я упрашивал ИИ unit-тесты писать
• Proxyman Scripts: как превратить прокси в инструмент автоматизации тестирования
• Генерация случайных чисел — Как работает RNG в Windows, Linux, macOS
• Chaos Engineering: роняем прод, чтобы стать сильнее
• Vibe Coding is OVER
• You Can Now Learn Anything 100x Faster With Claude
• Microsoft launches new high-speed voice and image models
• The Software Engineering Job Market Is Collapsing in 2026 — Here’s Why
• How Pizza Tycoon simulated traffic on a 25 MHz CPU
• PromptKeeper — безопасный файрвол для ваших промптов и LLM ключей
Аналитика, маркетинг и монетизация
• Avec делает для почты интерфейс в стиле Tinder
• Google Play Store сделал поиск по отзывам
• Маркетологи в мобайле: Гиорги Грдзелишвили (ex-Head of Performance, ЦИАН)
• Picsart запускает программу монетизации для авторов контента
• Ex-Human подал в суд на Apple из-за удаления приложений из App Store
• ASO в категории фитнес-приложений: что нужно знать до старта
• Кейс Adsup: в 56 раз больше установок с новых источников для 2ГИС
• How Codeway built a $25M/month app empire
AI, Устройства, IoT
• Смогут ли микроконтроллеры с NPU заменить облако для распознавания речи?
• Google окончательно убил OpenAI? Как Gemma 4 меняет правила игры
• Какую LLM ставить в production для контента на русском? Протестировали 18 моделей — одна в 130× дешевле при 91% качества
• AI в тестировании: кто тут главный?
• Halter делает ошейники для коров, работающие на солнечной энергии
• Is the cost of AI a dead end?
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту
ссылка на оригинал статьи https://habr.com/ru/articles/1022510/