В новом выпуске отладка iOS-приложений на практике и решение для установки сторонних приложений на Android от Google, Remote Compose и Copy-On-Write, эффекты рисования и градиентного рендеринга, неверная реализация MVVM, рынок труда для джунов в 2026 году и многое другое. Заходите!

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А еще завел себе новый канал про инди, соло, пет и прочие проекты.
iOS
• Отладка iOS-приложений на практике: 3 реальных бага
• Собеседование на должность iOS-разработчика в Experian: когда все пошло не по плану
• Copy-On-Write в Swift: семантика, заблуждения и кастомная реализация
• Ой, всё упало: 4+ способа достать креш-отчет с iOS-приложения
• Изучаем эффекты рисования и градиентного рендеринга в SF Symbols
• Пишем декларативный Package.swift: DSL для модульной архитектуры iOS проекта
• Внедряем Yandex MapKit SDK в SwiftUI приложение. Пишем Demo проект
• Дивный мир Swift Concurrency
• Задачи с собеседований: Leetcode — Недостающее число
• Как встроить в TextField индикатор загрузки и кастомную View
• Apple незаметно блокирует обновления для популярных приложений вайб-кодинга
• Apple может удалять приложения «без указания причин»
• iOS: A Small Performance Problem I Often See in iOS Projects
• Swift at scale: building the TelemetryDeck analytics service
• A 9-Step Framework for Choosing the Right Agent Skill
• Coordinator Pattern Deep Dive: Removing Navigation from ViewControllers
• Learning to develop more accessible iOS games
• How SwiftUI’s Diffing Algorithm Actually Works
• Expanding Animations in SwiftUI Lists
• Swift Abstractions: Generics, some, and any
• Apple Doesn’t Show SwiftData iCloud Sync Status — So Let’s Build One
• Combine vs AsyncSequence vs Observation: The Evolution of Reactive Swift
• SwiftUI State in iOS: A Practical Guide
• Agentic AI Engineering Workflows for iOS in 2026
• A vision for networking in Swift
• MVVM Architecture with Repository Pattern in iOS (Swift & SwiftUI): Build Scalable, Testable Apps in 2026
• Secure Data Storage in iOS: A Practical Guide to Using Keychain in Swift
• How to Design a Networking Layer in iOS (Interview Guide)
• Threads App Swipe Up To Dismiss Interaction Using SwiftUI
• Backporting iOS 26 Concentric Rectangle for Older iOS Versions
• Build a Searchable, Sortable SwiftUI List with an Index Scrubber
• AppleTV App Animated Carousel Using SwiftUI
• NVActivityIndicatorView — индиакторы загрузки
• FuzzyMatch — нечеткое сопоставление строк в Swift
Android
• Google убивает независимый Android. Обращение и 19 аргументов против насильной регистрации разработчиков
• Remote Compose: назад в будущее
• Как безопасно хранить и открывать пользовательские файлы локально в Android
• Встроенный фото-пикер в Jetpack Compose
• Интеграция автоматической установки eSIM на Android
• Несколько мобильных приложений в одном Appium‑проекте: как это можно организовать
• Как заставить Android Studio ругаться на код по вашим правилам: создаем пользовательские Lint и Detekt
• Почему камера в Telegram Android снимает плохо
• Кастомные лейауты в Jetpack Compose
• Мапим данные из domain в ui модуль в многомодульном проекте
• Google представил решение для установки сторонних приложений на Android
• Room 3.0 — Modernizing the Room
• Exploring CompositionLocal API internals in Jetpack Compose
• Introducing Rebound: context-aware recomposition budgets for Compose
• Reclaiming Terabytes: Optimizing Android image caching with TLRU
• Why Putting All Your Logic in the ViewModel Is Still Wrong
• Refuelling your Jetpack
• Scoping ViewModels in Compose
• Enabling R8 optimization at scale with AI-assisted debugging
• Room 3.0 New Features and API Changes for Android Developers
• Uber Android Interview Experience: Rejected After Round 3
• Design Tokens in Material Design 3 with Jetpack Compose
• Android 17 for Developers: Everything New in API Level 37 You Need to Ship For Right Now
• How Many Ways Do You Know to Draw a Glowing Border in Jetpack Compose?
• Coroutine Dispatchers in Android: The Complete Guide
• 6 Ways to Make Your Gradle Builds Super Fast
• Rebound — мониторинг рекомпозиций
• Snappy Swipe — упругий swipe to delete
• Dejavu: тестирование рекомпозиций для Jetpack Compose
Кроссплатформа
• Прямая трансляция во Flutter через WebCodecs: как пришлось написать свой декодер
• ИИ-агенты и Flutter: как сделать интеграционные тесты частью процесса разработки
• Рецепт приготовления кроссплатформенного мобильного видеоредактора
• One await to Rule Them All: A Unified WebView Bridge for Android and iOS
• Dart Features You’re Probably Not Using (But Should!)
• Build Complex Flutter UI Without Images
• Dart Language Roadmap 2026: Compiler Upgrades & More for Backend Developers
• Let’s make a dynamic website with Dart. Dumb easy
Разработка
• Почему многие неверно реализуют MVVM или способы создания абстракций
• Автогенерация тестов в IDE: как RAG + LLM превращают ручные сценарии в код
• Проксирование в UI автотестах с mitmproxy
• Зачем и как вам контрибьютить в open source
• Внутренняя кухня SRE и информационной безопасности
• Senior Android за 12 тысяч, рабство в IT и угрозы — Е*аное IT #1
• Маленькие языковые модели — Open source, локальный ИИ, SLM
• Рынок труда для джунов в 2026 году
• Собеседование по System Design: проектируем клон Авито
• Лучшие ИИ-инструменты для программирования допускают ошибки в каждом четвертом случае
• The Structure of Engineering Revolutions
• How I used Google Stitch to Re-design the UI Flow for My Fashion App
• Database Sharding
• How The New York Times is scaling Unit Test Coverage using AI Tools
• Qwen 2.5 Coder Can Beat “GPT-4-Class” Models on Code — So Why Is Everyone Still Paying the Tax?
• Software is eating itself
• Run Claude Code Locally on Apple Silicon Using LM Studio and LiteLLM (Zero Cost)
• We Don’t Need Designers Anymore
• Software Testing Course – Playwright, E2E, and AI Agents
• Monkeyrun — хаос-тестирование Android и iOS приложений
Аналитика, маркетинг и монетизация
• Приложения с подпиской 2026 — отчет Adapty
• Сессии в мобильных играх выросли в 2025 году: удержание становится ключевой стратегией роста
• Маркетологи в мобайле: Глеб Нечунаев (старший менеджер по перформанс и медийной рекламе, Ozon fresh)
• Kagi переносит свой «маленький веб», созданный людьми, на мобильные устройства
• Vurt — мобильный стриминг для независимых кинематографистов, предпочитающих вертикальное видео
• В Apple Search Ads появилась расширенная аналитика
• Искусство просить отзывы: как легально поднять рейтинг до 4.9 и не взбесить пользователя
AI, Устройства, IoT
• OpenClaw: установка и первые впечатления
• Реверс-инжиниринг IoT: от UART до root-бэкдора
• Как отправлять email через LoRa mesh-сеть (Meshtastic + Python)
• Почему одного Whisper оказалось недостаточно и как мы создали полноценный сервис распознавания речи
• ИИ не сделает вас богатым. Но исправление ошибок в некачественном программном обеспечении, созданном ИИ, сделает.
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту
