Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.
iOS
- App Store блокирует аккаунты разработчиков, а банки всё равно в сторах. Рассказываем, как они это делают
- Расширяем Text в SwiftUI с помощью динамической стилизации содержимого
- SwiftUI или UIKit: что выбрать для iOS-приложений?
- SwiftUI: Реализация разделенного координатора совместно с DeepLink (Universal link)
- SwiftUI: Пишем простое фитнес-приложение с использованием HealthKit
- Воспроизведение и редактирование видео с AVFoundation. Часть 2. Ассеты продвинутые
- Что делать после блокировки ADEP: MDM-системы, PWA или Android?
- Нервное смузи из Swift Package Registry
- Альтернативы XCUITest, или Как и зачем разработчику писать автотесты
Swift 6.1 Released DocC for Multi-Platform Documentation Modern URL construction in Swift Cross Compiling Swift Why I never subclass UITableViewCell or UICollectionViewCell Create flexible interfaces in SwiftUI Testing remote iOS push notifications in a simulator with simctl SwiftUI: A Simple Copy Cat of the Calendar + Reminder App Disassembling Apple Exclaves Building WASM Applications with Swift Supercharging SwiftUI Text with Dynamic Content Styling Integrating TimelineView in a SwiftUI app Keeping your Swift apps’ sensitive data secret Set Up a Local Test Server with Swift in Under 5 Minutes + iOS app SwiftUI Expandable Header with Hero Effect — Slack Header Animation | SwiftUI SwiftUI — Scratch to Reveal animation What’s new in Swift 6.1? SwiftUI Micro-interactions — Slide To Confirm Xcode 16.3 is Available Today (What’s New?) DDKitSwift — набор инструментов отладки для iOS-приложений SmartCodable — лучшие Codable
Android
- Как я создал UI-конструктор с помощью Compose Multiplatform, который экспортирует код Compose
- Узнаём какое аниме будет самым рейтинговым еще до выхода
- Лучшие приложения с открытым исходным на Kotlin
- Демоприложения: как жить, когда у вас 90+ application-модулей
- Metro — новый фреймворк внедрения зависимостей для Android
- Kotlin-bench — тест ИИ-моделей для Android-разработки
- Плавная миграция на Kotlin 2.1.0
- Полное руководство по созданию многоцветных тематических и адаптивных иконок для Android-приложений
- A/B-тестирование в Android-разработке: гайд для middle+ разрабов
- Почему нельзя использовать RecyclerView в NestedScrollView и как это исправить?
- Modo в действии: быстрая и гибкая навигация для Jetpack Compose
- Как сделать своп движка звонков в легаси-коде и не выгореть
- Backup в Android, или Как сэкономить бизнесу миллионы
- Экзоскелет для ExoPlayer
- Gemini в Android Studio для предприятий
Routines to Coroutines: How Kotlin Revolutionized Asynchronous Programming Finding unnecessary Component Dependencies with Dagger SPI How to build offline maps with OpenStreetMap on android Fire and Forget with Kotlin Coroutines Improving the Modal Bottom Sheet API in Jetpack Compose Compose Meets YouTube: Production-Ready YouTube Playback with Jetpack Compose A gentle introduction to coroutines in Kotlin, for Android developers Adaptive Camera: Smooth Tabletop Mode with Animations Dynamic Language Switching in Android: Real-World Lessons From Google Play Bundles Top 3 Android Use Cases for Every SOLID Principle (with Code) 6 steps to make a “Slide to unlock” button in Jetpack Compose Creating and Publishing an Android SDK: A Simple Step-by-Step Guide That Actually Works Stop using Dispatchers.IO System Design of an Atlassian Android App Clean Permission Management in Android Linting on the Side of Caution: Safety & Security — Android Developers Backstage Google Play PolicyBytes — April 2025 policy updates Kotlin 2.1.20 — Atomics, UUIDs, and more! — TypeAlias Show Kyoku — музыкальный стриминг с 70 тысячами песен Escape — минималистичный лаунчер для Android
Кроссплатформа
- Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 1
- Это вам не игрушки: портирование кроссплатформенной С++ игры на iOS
- Accessibility Flutter-приложений, или Как увеличить трафик на 20
- Зачем мне Kotlin в iOS-разработке? Я только Swift выучил!
- Как мы сделали ставку на KMP
Flutter issues make apps look cheap and untrustworthy From Phone to Dashboard: Build an Android Auto App with Flutter Hot Reload For Flutter Web is Finally in Beta Flutter + Supabase + Metabase — The Best Tech Stack Combo Deep Dive into Background Processing in React Native Flutter vs React Native — My Highly Opinionated Experience Deep Dive into Background Processing in React Native Lynx Tutorial – JS Framework for Cross Platform Development Hot Reload For Flutter Web is Finally in Beta
Разработка
- Конец продуктовой разработки в том виде, в котором мы ее знаем
- Многопоточность в мобильных приложениях: руководство для QA-инженеров
- Почему компании не исправляют ошибки
- Google Firebase Studio – облачная AI-платформа для разработки приложений
- У нас в проекте был Compose Multiplatform, но снова я бы так не делал
- Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов
- Как дизайнить доступность для скринридера
- Проблемы маленьких приложений при увеличении нагрузки по данным
- Как выжать все соки из Jenkins
- Perl вернулся в TIOBE 20, а Kotlin и Swift выпали из нее
Google’s principles for measuring developer productivity The Reality of Tech Interviews in 2025 Using LLM To Transcribe Restaurant Menu Photos Don’t Mock Your Framework: Writing Tests You Won’t Regret The day I taught AI to think like a Senior Developer What it’s like to interview a software engineer preparing with AI Staying productive as an indie developer Top 5 Mobile System Design Concepts Explained Freelancing as Mobile Dev vs. Full-time Job — Which Path Is Best For YOU? Introducing Agent Development Kit
Аналитика, маркетинг и монетизация
- Самые скачиваемые и зарабатывающие приложения в России в марте 2025
- Как правильно проводить и оценивать A/B-тесты в ASO