В этом выпуске особенности Struct в Swift и RemoteCompose в Android, знакомство с Frida и новые умные очки Google, сломанное ценообразование приложений с подпиской, навигация на SwiftUI, создание анимированных полос и многое другое. Заходите!

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

iOS

• Уроки, извлеченные из собеседования по Swift
• Не используйте Struct в Swift подобным образом — это вас замедляет
• Перетаскивание и буфер обмена с помощью Transferable
• Навигация на SwiftUI: чего не хватает и как исправить
• Стэнфордский университет выпускает CS193p («Разработка приложений для iOS») – версия весны 2025 года
• Разбор кода: iOS-приложение для медитации на Swift
• Apple получила право взимать комиссию за внешние платежные ссылки
• Лучшие приложения в App Store Award 2025
• Moving from Process to Subprocess
• Understanding the Transferable Protocol in Swift
• A Deep Dive into SwiftUI Rich Text Layout: Beyond AttributedString — Inside MarkdownView and RichText
• Introducing Semantics into Navigation Bars
• The 7 changes I do for every new Xcode project
• SwiftUI: Charts Interactivity — Part 1
• 7 SwiftUI Hacks That Make Your Life as an iOS Developer Much Easier
• The SwiftUI Trick Question That Silently Fails 90% of Senior iOS Engineers
• The iOS Interview That Started With “What Happens If You Kill This Task?”
• I Stopped Using MVVM in SwiftUI — The Results Shocked Me
• I Converted a 200MB iOS App Into 8MB. I Didn’t Expect This Side Effect.
• gRPC on iOS: Faster APIs for Mobile in 2025
• Responsive Design in SwiftUI: Stop Hardcoding Layout for iPhone Only
• Monitoring app performance with MetricKit
• SwiftUI Animated Tab Icons — Symbol Effects Tab Bar
• RichText Notes App — AttributedStrings and SwiftData
• Interactive Map Carousel | MapKit | Map Animations | SwiftUI
• XcodeProj — работа с проектами Xcode
• TakeoffKit — современный механизм синхронизации через CloudKit для любой локальной базы данных
• AnyLanguageModel — совместимая по API замена Foundation Models на кастомные модели

Android

• RemoteCompose: другая парадигма SDUI в Jetpack Compose
• Реверс-инжиниринг приложений на Android: знакомство с Frida
• Создание анимированных полос в Jetpack Compose
• Создание кастомного Toolbar с Jetpack Compose. Подробный разбор всех попыток и решений
• Всё, что нужно знать о публикации в Google Play
• Как сделать приложение за 10 минут? | FlowMVI Часть 1 — Часть 2 — Часть 3
• Полный разбор Kotlin Delegated Property
• В чем основное различие между viewModelScope и lifecycleScope в Android — вопросы с собеседований
• Android Interview Questions — Part 5: Real Questions, Clear Answers
• What’s new in the Jetpack Compose December ’25 release
• Kotest : Modern Testing in Kotlin: Test Styles, Mocking and Writing Tests on Android
• Explore AI on Android with Our Sample Catalog App
• Exploring Jetpack Compose: ButtonGroup
• Let’s defuse the Compose BOM
• Stop Writing Boilerplate: Compose Helper Utilities for Everyday Use
• Lint Me: Test Sources
• Finger Shadows in Compose
• Bosch Android Developer Interview Experience
• Parallel API Calls in Kotlin: async vs Flow.zip vs Flow.combine
• Mastering Cooperation: Understanding yield() in Kotlin Coroutines
• 9 Kotlin Flow Mistakes You’re Probably Making
• Enhancing Android security: Stop malware from snooping on your app data
• The Android Show | XR Edition
• Getting started developing on AI Glasses
• What’s new in the Android XR SDK for Unity
• Designing interfaces for wired XR glasses
• Designing audio experiences on AI Glasses
• XR Journey: From Snapdragon Spaces to Android XR
• Design best practices for display AI Glasses
• What’s new in the Jetpack XR SDK for immersive experiences
• Bring your own model — Android Developers Backstage
• Bottom Nav With Multiple Back Stacks In Navigation3
• Nested Nav Graphs & Shared ViewModels With Navigation3
• FaceCut App — Create Beautiful Portraits in minutes
• Awesome Jetpack Compose Animations — коллекция анимаций Jetpack Compose
• MaterialKolor — динамическая цветовая схема Material3 из исходного цвета

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

• Создание приложения с меню на Flutter, которое не занимает много памяти
• Flutter MethodChannel: как подружить Dart с нативным Android (и iOS)
• Асинхронность и многопоточность в Dart/Flutter: Future, Stream и Isolates
• Flutter — везде (и даже в чайнике). Часть 2
• Когда виджетов мало: создаём свой RenderObject во Flutter
• Не просто WebView: Строим движок на Flutter для конвертации сайтов в приложения с Server-Driven UI
• BA x Flutter: взаимодействие отделов, запуск кроссплатформы и почему хорошее ТЗ — бич креативности
• Flutter’s Biggest Upgrade in 10 Years: FFI Just Became a Superpower
• Finally! Flutter has a working Liquid Glass solution
• Flutter Signals: A State management solution that gets attention
• How I Boosted Flutter Performance 3× by Rewriting a Dart Function in C++ Using FFI
• Flutter’s Great Thread Merge: What it means for your apps
• Why iOS Devs Struggle with KMP (and How to Fix It)

Разработка

• Превращаем сайт в мобильное приложение за пару шагов. Часть 2 + Часть 1
• 7 небольших UI-исправлений, которые могут сделать продукт более привлекательным
• Как мы использовали Codex, чтобы запустить приложение Sora под Android за 28 дней четырьмя инженерами
• Когда нужно закрывать проект
• Как прикрутить AI к табуретке
• Заменит ли AI разработчика
• SWE-агенты — Пишем код, LLM, автономный ИИ
• Open Source: альтруизм или скрытая выгода?
• Как внедрить ИИ в разработку и подружиться с безопасниками
• Как выявлять баги до первой строчки кода: опыт внедрения тест-анализа и тест-дизайна
• Как мы делаем больше 10 релизов в день без регресса
• Avoid Turning Your App Into a Christmas Tree of Libraries
• How good engineers write bad code at big companies
• Building In Public is scary. Do it anyway.
• 5 micro-interactions to make any product feel premium
• Why write engineering blogs?

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

• Приложения, вышедшие с начала октября, и заработавшие больше $50,000
• Spotify тестирует более персонализированные ИИ-плейлисты
• ChatGPT — самое скачиваемое приложение в американском App Store в 2025 году
• Новая ИИ функция Hinge помогает людям выйти за рамки скучных светских бесед
• В App Store пик релизов за (почти) десятилетие
• ИИ сломал модели ценообразования приложений с подпиской
• Худший коэффициент конверсии
• AppsFlyer Performance Index 2025 — Рейтинг лучших медиа-источников в мобильной рекламе
• MKBHD закрывает приложение Panels
• Маркетологи в мобайле: Святослав Зее (Head of Performancе, Okko)
• Есть ли смысл выпускать платные приложения в 2026 году?
• Куда исчезают пользователи: современные фреймворки аналитики retention в 2025 году
• 8 UX decisions that silently increase revenue
• Gossip Harbor’s LiveOps Journey: From 20 to 100 Events a Month

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

• Как я воссоздал веб-сайт 1996 года при помощи Claude
• Нейросетевая модель интересов пользователя: как мы улучшили разнообразие и релевантность рекомендаций на главной Авито
• За секунду до открытия двери: что на самом деле происходит между вашей картой и считывателем?
• Mistral выпускает новые модели для программирования
• В Linux Foundation появилась группа по стандартизации ИИ-агентов
• Claude Code приходит в Slack
• Новые умные очки Google выйдут в 2026
• Лысеете? И для этого есть ИИ — MyHair AI

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