В новом дайджесте iOS-разработка в Zed и Picture-in-Picture в 2ГИС, автоматизация версионирования и системные идеи, которые никогда не работают, посудомойка в облаке, дело асинхронного программирования, ускорение Android-сборки и многое другое. Заходите!



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

iOS

• Настраиваем работу с iOS-проектами в Zed
• Расследуем дело асинхронного программирования с Леонидом Каневским
• Как 40 строк кода ускорили End to End тесты на iOS более чем на 50%
• SwiftUI. Навигация по строке в разделяемом координаторе
• Исследуем мир фото и видео редакторов
• Найди и исправь ошибки в коде — Задачи с собеседования
• Запускаем приложения на своем iOS-симуляторе
• Осторожно, Combine!
• Позаботимся о памяти при использовании value-типов
• Swift – больше, чем язык для iOS
• WWDC 25 пройдет с 9 по 13 июня 2025
• SwiftUI TabView: Explained with Code Examples
• Public-key cryptography with CryptoKit for iOS
• The Composable Architecture: How Architectural Design Decisions Influence Performance
• Strategies to avoid merge conflicts in Xcode Projects
• Creating and Using Protocols in Swift
• Awaiting multiple async tasks in Swift
• The Simple Life(cycle) of a SwiftUI View in 2025
• Clean Up Your Sheet API
• OptionSet vs. enum in Swift: A Deep Dive with Use Cases
• SwiftUI MVVM Explained (Beginner Friendly)
• My checklist before submitting a new app to App Store Connect
• Beyond Video Transcription: How to work with Videos in Gemini 2.5 Pro Experimental in Swift
• How to turn a SwiftUI color into a gradient
• Designing for Apple Intelligence: Extending your app features to the system
• The Vibe Shift Amongst Apple Developers
• Detecting Barcodes on an image with the Vision Framework
• Using StoreKit’s ExternalPurchaseLink
• Building Flexible, Styled ListItems in SwiftUI
• Optimize your Swift test suite to run faster
• Videos from Swift Heroes 2024
• Staggered Animated View Using SwiftUI
• Advanced SwiftUI Animations — PhaseAnimator
• A case for Custom Bindings in SwiftUI: Essential Tips and Tricks
• VoiceMemos Waveform Audio Scrubber Using SwiftUI — Waveform Visualization
• Step By Step — счетчик шагов с геймификацией
• AestheticText — строки равной ширины

Android

• Хакнуть Qt: как мы запускали Picture-in-Picture в навигаторе 2ГИС
• Как мы ускоряли Android-сборку «селлера»
• Топ-7 утечек памяти Android и как их избежать
• Dagger 2 и жизненный цикл
• Сценарии использования ServerSocket
• Как работать с Custom Layout в Jetpack Compose
• Основы цветовой системы Material3 для Android-разработчиков
• Как мы следим за качеством unit-тестов
• Kotlin и Jetpack Compose: портируем DOOM на смарт-часы
• ServerSocket на Android в пределах одной сети
• Практический GrapheneOS для параноиков
• Корутины Kotlin: быстрый старт
• С заботой о комфортном просмотре: как команда VK справляется с высокой нагрузкой на видеоплеер на Android-устройствах
• Распутываем легаси-код на Android проекте
• Почему вам стоит включить Gradle Configuration Cache
• Интеграция GeckoView в Dynamic Feature
• Последнее слово в Android-навигации
• Google будет разрабатывать Android в закрытом режиме
• Google укрепляет экосистему Android
• OpenAI vs. DeepSeek: Which AI Understands Kotlin Better?
• Exploring Jetpack Compose: SearchBar
• UseCases: Injectable Functions
• A new way of handling one-off events in your Android application (and even more)
• Understanding Notifications in Android: A Developer’s Guide
• Understanding ViewModel Scoping in Jetpack Compose
• Six Ways to Start a Coroutine in Kotlin, Ranked
• Compose Hot Reload is Now Available
• Android Context — Part 2: The Android Internals Deep Dive
• 10 Kotlin Coroutine Mistakes Seniors Should Avoid
• How to Automatically Test Jetpack Compose Navigation
• 3 neat animations you can create with Modifier.animateBounds
• Setting Up Dependency Injection Using Anvil: A Step-by-Step Guide
• Introduction to the SDK Runtime
• How to Refactor Legacy Android Code With a Clear Step-By-Step Approach
• Applying the Observer Pattern in Kotlin
• Validating the chaos of RSS feeds with JetBrains’ Junie & some domain modeling sorcery
• MCP Kotlin SDK — Kotlin-реализация Model Context Protocol
• Scratchify — скретч-карты на Jetpack Compose Multiplatform

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

• Автоматизация версионирования в Kotlin Multiplatform: Решение для Android и iOS
• Kotlin не для Android
• Как мы делали суперапп «Дилер онлайн», и что из этого получилось
• Совместная работа Kotlin/Native GC и ARC в iOS
• Streamline your KMP development with Pale Blue KMP Core
• From an Android to a Kotlin Multiplatform library
• Stunning Animations with Custom Fragment Shaders
• 10 Principles for Writing Clean Code in Dart
• Integrating Native Swift Code in a Kotlin Compose Multiplatform App
• Integrating GraphQL in Compose Multiplatform project

Разработка

• «Давайте просто…»: системные идеи, которые звучат хорошо, но почти никогда не работают
• Как я «взломал» популярное приложение и добыл корпоративный токен OpenAI
• Самые высокооплачиваемые вакансии марта в сфере разработки приложений
• Забытые концепции прошлого: как Дзен Palm взрастил лучшую мобильную ОС и приложения для неё более 25 лет назад?
• Основные принципы создания иконок
• Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов
• Правовой статус кода
• Пишем рекомендательную систему музыки на Java
• Задача из Моего Собеседования в Amazon
• Ада Лавлейс и программирование
• Осознанный подход к метрикам
• Revenge of the junior developer
• Cracking the code of vibe coding
• Getting Started with TDD: A Practical Guide to Beginning a Lasting Practice
• The role of developer skills in agentic coding
• How Apple Pay Handles 41 Million Transactions a Day Securely
• Mocking Star — мощный инструмент мокирования запросов
• Blocks — крошечный клон Minecraft на C и GLSL
• ttyd — шаринг терминала через веб

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

• Установки Signal после скандала выросли на 28%
• ЕС закроет антимонопольное расследование в отношении экрана выбора браузера Apple
• Arcade переходит в ИИ создании от ювелирных изделий к товарам для дома

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

• Не буду я подключать посудомойку к вашему дурацкому облаку
• ИИ совершил прорыв в прогнозировании погоды
• Разработчики вынуждены отбиваться от ИИ-парсеров
• Что такое ​Model Context Protocol

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