Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А еще завел себе новый канал про инди, соло, пет и прочие проекты.
iOS
- Хардкорная агентская разработка под iOS, часть 1: отдельный Mac Mini для агентов
- Realtime-чат без WebSocket: long-polling, гонки переподключения и дубли пушей
- Copy-on-Write в Swift: подготовка к собеседованию
- «Люди вокруг» на SpriteKit: кольца-расстояния, инерция пальцем и виртуализация аватаров
- Opaque types vs Existential Types vs Generics
- Как нарисовать тысячи объектов на карте и не убить FPS: эволюция рендера на Mapbox GL
- Архитектура, перформанс, дебаг: как мы делали медиаленту
- SwiftSyntax: пишем свой DI framework
- Swift Package Index присоединился к Apple
- Дизайн киты для iOS, iPadOS и macOS 27
- Новая неустранимая уязвимость в чипах Apple открывает путь к взлому iPhone
SwiftUI: Observable macro under the hood Stop Using lazy in Swift Until You Read This Swift Developers With 5+ Years of Experience Still Get These Questions Wrong 7 Things I Automate in Xcode to Save Time How did Apple cut launch time by 30% in iOS 27? 10 Swift Features That Instantly Make You a Better Developer Core AI Announced WWDC 2026: AsyncImage Caching SwiftUI Best Practices for Views Swift Conditionals: if, switch, guard, and the Pattern Matching Taking control of toolbar items in SwiftUI New macros for SwiftNavigation 12 Ways to Save Time in iOS Development An AI Interviewed Me for an iOS Job iOS 27 Style Glass Sliders Using SwiftUI What’s new in Swift and SwiftUI (WWDC 2026) Setting up Gemini in Xcode’s Coding Agent Swift Macros Demystified: Build a Freestanding Expression Macro Weather App Style Sticky Scroll Section Using SwiftUI SwiftStreamingMarkdown — рендеринг Markdown с поддержкой стриминга AetherEngine — медиаплеер для iOS, tvOS и macOS JBird — быстрая, типобезопасная библиотека для работы с JSON в Swift
Android
- Web3-мессенджер размером в 3.5 Мб: инди-разработка с нулевым бюджетом
- Preview-Driven скриншот тестирование для локалей, ключей и масштабов шрифта
- Android-троян Mamont — теперь на Kotlin
- Как превратить Смарт ТВ в «почти» полноценную рабочую станцию на Linux
- Пять ошибок начинающих Android‑разработчиков при работе с жизненным циклом
- Пять ошибок при работе с Jetpack Compose, из-за которых тормозит recomposition
- Сетчатые градиенты в Jetpack Compose
Sliding Doors: ten years of RSS-Parser I was tired of testing AGSL shaders through a sample app, so I built an Android Studio plugin Writing Custom Detekt Rules That Auto-Correct Your Kotlin Code My AI Workflow for Android Development Beyond ExoPlayer: Designing a Production Audio Engine on Android with Media3, MediaSession, and JUCE DSP Android 17 Contact Picker Series Writing K2 Compiler Plugins: Type-Safe Validation and Resource Generation NEW Scoped ViewModels API in Jetpack Compose Mesh Gradients in Jetpack Compose A ViewModel Dies with Its Owner: There Are Only Three Owners in Navigation 3 How to understand Play’s expanded billing options and lower fees Is THIS How Android Apps Communicate In Future? — Exploring the NEW AppFunctions NEW Scoped ViewModels API in Jetpack Compose Anti-Vocale — транскрибация голосовых сообщений на Android Hydra — защита Android-приложения
Кроссплатформа
- Покой как фича: анти-шагомер на Expo, который ругает за активность
- Динамические иконки приложения на Flutter: подробная инструкция для ручного выбора и обновлений по воздуху
- Ручной DI в Kotlin Multiplatform: понравится и тебе, и твоему ИИ‑агенту
- Как подготовиться к собеседованию на Flutter-разработчика
- Как мы внедряли Compose Multiplatform в Я.Team
- yx_state + yx_scope + yx_navigation: единый стек Flutter-приложений
Warm Tyres: Image Loading and Caching in Compose Multiplatform with Coil 3 Stop Using copyWith() Blindly — Here’s What It Costs You in Flutter I Deleted a Million Lines of Code from an App 90 Million People Use How we built a Flutter-powered AI coffee shop From 4.1s to 0.9s — How We Fixed Our React Native Launch Time Flutter Lifecycle Callbacks: What I Learned After 7 Years of State Management
Разработка
- Apple просто убила App Store
- Тестирование UX для мобильных приложений: чек‑лист без софта и магии
- Backend-Driven UI для умного дома: как обучить сервер верстать интерфейсы
- T-Shape мобильный разработчик
- Найм в эпоху AI — собеседования, IT найм, рынок труда
- Компании начинают задаваться вопросом об эффективности ИИ
You should use AI for reviewing code especially when the diff is huge Nearly Half of LG Smart TV Apps Are Laced with Proxies I Built a Monster CLAUDE.md, And My Coding Agent Got Scary Good How to Write an Effective Software Design Document
Аналитика, маркетинг и монетизация
- Расширенные возможности оплаты и более низкие комиссии в Google Play
- Китайские разработчики подали антимонопольный иск против Apple из-за комиссий App Store
- Маркетологи в мобайле: Анастасия Луканова (руководитель направления по развитию рекламного бизнеса RuStore)
- Почему мобильные приложения начали мыслить как live-service игры
- Ribbie превращает бейсбольную статистику в аркадные пиксельные трансляции
Your app is perfectly optimized. That’s why nobody remembers it.
AI, Устройства, IoT
- Зоопарк протоколов и человеческий фактор: что внутри сложной IoT-интеграции климатического оборудования
- Погружаем модели в сказки русские, да рассказы древние – тестируем возможности Qwen и Whisper на дореволюционномъ
- Сплит на 36 клавиш — неочевидный путь к слепому десятипальцевому набору
- Переделка системы автоматизации в коттедже: ошибки прошлого интегратора, доработки, результат
- Как мне удалось уменьшить размер классификатора болезней растений с 16 до 5 МБ с потерей точности менее 1%

