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

iOS

- 10 хаков для оптимизации производительности iOS-приложений
- Соединяем две точки с помощью отрезков прямых линий и закругленных углов в SwiftUI
- Дивный мир Swift Concurrency
- Задачи с собеседований: Leetcode — Недостающее число
- Разработка под Apple Vision Pro
- Размещение UI-компонентов в пределах отступов Safe Area
- Как встроить в TextField индикатор загрузки и кастомную View
- Евросоюз заставит Apple полностью раскрыть функции iPhone сторонним разработчикам
Rendering Pixel Art with SwiftUI How to Seamlessly Use Swift Package Manager (SPM) and CocoaPods (POD) Together with the Same SDK Parsing JSON using the Codable Protocol TabletopKit tutorial Identifying individual sounds in an audio file Exploring The LabeledContent View In SwiftUI Performing your app actions with Siri through App Shortcuts Provider SwiftUI: Simple Workout App with HealthKit Using Proxyman to Intercept and Simulate iPhone App Network Requests Interview Experience for SDE-II iOS at Flipkart Access Modifiers in Swift Dynamically adapting to available space with ViewThatFits Don’t rely on BGAppRefreshTask for your app’s business logic Vibe Coding with Cursor AI Why The Composable Architecture is Overrated Animated Async Button With Custom Spinner Using SwiftUI Master SwiftUI Layout With EASY Spacing And Padding ChatGPT Pro for iOS Devs: HONEST Review Create Custom Tab Bars in SwiftUI – An Alternative to Default Tabs VisionOS Style Menus for iOS Using SwiftUI Soundscape — 3D-звук для всех Go Cycling — велотрекер для iOS
Android
- Demeter в опенсорсе: реактивное профилирование Android-приложений
- Создаём многомодульную библиотеку на Android: как же собрать fat-aar?
- Protobuf против JSON для Android-разработки
- Передача данных от ESP32 по Bluetooth LE к Android
- Ликбез по разрешениям в Android
- Кастомные лейауты в Jetpack Compose
- Мапим данные из domain в ui модуль в многомодульном проекте
- Поиск Google и Play Store так же нарушают DMA, считает ЕС
Why Visual Testing Is Critical for Mobile App Quality Using the Android Context and Manifest to Unveil the Android System Mechanics Enhancing Dropdown Menus in Jetpack Compose: Implementing Searchable Selection How to Develop Firebase Genkit Flows Unit Testing Lifecycle and State in ViewModels 12 tips to mastering Kotlin Coroutines Kotlin for Seniors: Stop Writing Code, Start Crafting it. Infix. System Design for Airbnb’s Android Application Kotlin 2 Guard Condition Material3 Color System Basics for Android Developers Bump’s Journey into Delightful Experiences on Android with Jetpack Compose Android Studio Meerkat Feature Drop Avoiding Memory Leaks in Android: Best Practices for Context Usage Kotlin for Seniors: 3 Powerful Features You Should Know Android Studio Narwhal Canary 1 now available Firebender: Most powerful, privacy-first coding assistant for Android Studio Kotlin 2.1.20 Released Full 2025 Kotlin Crash Course For Beginners Create Boilerplate Files With ONE Click With Multi-File Templates In Android Studio Mastering UI Events and States in Jetpack Compose Parsing XML namespaces and trying not to lose our minds Fighting the Elephant — Gradle Convention Plugins Shader Ripple Effect Playground — библиотека шейдерных AGSL эффектов HandWriting — все для рисования OpenNote — Markdown редактор и блокнот для Android на Compose
Кроссплатформа
- Полезные библиотеки для React-приложений в 2025 году: на что обратить внимание
- Кроссплатформенные фреймворки поставили рекорд по распространению в 2024
- 5 причин плохого настроения. История одного Flutter-проекта, который заставил нас поломать голову
- Рецепт приготовления кроссплатформенного мобильного видеоредактора
How to Use Swift Packages in Kotlin Multiplatform using Koin Fastlane in Kotlin Multiplatform projects No macros in Dart, how to replace freezed? The final word on Flutter architecture Sharing Data and Files In Compose Multiplatform Implementing Keyboard Accessibility in Flutter Build a Video Streaming App like YouTube
Разработка
- Зумеры не просто слушают — они хотят, чтобы их слушали. Как баг изменил наш взгляд на продукт
- 20 идей из интервью с Питером Левелсом: про создание стартапов в одиночку, минимализм и жизнь цифрового кочевника
- Интерфейсы: к вопросу о размерах пальцев и кнопочек
- Что написание кода искусственным интеллектом значит для стартапов?
- Выжимаем максимум из код-ревью и спасаем нервные клетки
- Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов (#10)
- Javascript для бэкенда – отличная идея: Node.js, NPM, Typescript
- Собеседование по System Design: проектируем клон Авито
- TurinTech исправляет последствия «вайб кодинга»
- Discord запустил Social SDK
- Cursor сказал человеку, чтобы тот сам писал свой код
Systems Ideas that Sound Good But Almost Never Work Career advice in 2025 Software Development Has Too Much Software In It Building MCP with Kotlin: Claude Desktop Controls My Smart Home Lights Cursor Talk to Figma MCP — создание дизайна в Figma с помощью ИИ
Аналитика, маркетинг и монетизация
- Приложения с подпиской 2025 — отчет RevenueCat
- В Adapty выпустили FunnelFox — конструктор Web2App воронок
- Рост мобильного гейминга возобновляется: ИИ, гибридная монетизация и новые стратегии привлечения пользователей
- Galaxy Store снижает комиссию
- Самые скачиваемые и зарабатывающие приложения в мире в феврале 2024
Merge Mansion: +50% Revenue to Reclaim the Top Spot
AI, Устройства, IoT
- Как я победил в RAG Challenge: от нуля до SoTA за один конкурс
- Как машинное обучение увеличило доход Duolingo на миллионы долларов
- Machine learning на ESP32
- Tasmota + Алиса = любовь. Протокол Matter в самодельных и перепрошитых устройствах умного дома
- Тестируем YandexGPT-5. Когда хотелось быть ChatGPT, но в душе всё ещё Алиса
- Дедупликация объявлений: как мы боремся с одинаковыми размещениями
- Умный домофон SmartIntercom. Ещё один… ДВА
- Демистифицируем машинное обучение – из разработчика в ML-инженеры
- Новая ИИ-модель Roblox может генерировать 3D-объекты