В новом дайджесте укрощение анимаций и оживление смартфона, эффективный бэкграунд, уродливый код и глупые вещи, потери денег от плохого дизайна, индекс цифрового рынка за 4 квартал, Gemini Code Assist для всех и многое другое. Заходите!

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.
iOS
• Протокол Animatable: укрощение анимаций в SwiftUI
• Task.sleep() и Task.yield(): в чем разница
• Переходим на SwiftUI
• Задачи с собеседования: LeetCode — Перестановка в строке
•
SharingGRDB: A SwiftData Alternative
•
Using SwiftUI’s Improved TabView with Sidebar on iOS 18
•
Quick guide on home screen quick actions for SwiftUI
•
From Natural Language to Swift Action: Demystifying LLM Function Calling
•
Music recognition with ShazamKit
•
How I Slashed My Xcode Build Times by 85%
•
Tapping on Stack Views
•
How to write Metal Shaders on iOS
•
Equatable Vs Comparable Protocols in Swift
•
Visual Studio Code setup for iOS development with Copilot
•
An Ode to Swift Enums: The View Models That Could
•
SwiftUI: Peer-to-Peer (P2P) with Multipeer Connectivity Framework
•
SwiftUI: Locate Peers with Nearby Interaction Framework
•
Simple Modularization setup for a New App
•
What’s new in Swift 6.1?
•
Symmetrical and asymmetrical transitions in SwiftUI with the Scroll Transition modifier
•
Apple Books Scroll Animation — Complex UI — SwiftUI
•
Power of new Scroll APIs — Custom Scroll Indicators — SwiftUI
•
Mastering Images in SwiftUI – Assets, Bundles, Remote URLs & Effects
•
SwiftUI Ripple Transition Effects — Custom Transitions
•
Trie Data Structure Explained in Swift: The Ultimate Guide to Efficient Search
•
Capture & Share SwiftUI Views as Images with ImageRenderer & ShareLink
•
Xcodebuild.nvim — разработка iOS-приложений в Neovim
•
Yams — парсер YAML для Swift
Android
• Остерегайтесь READ_MEDIA_IMAGES
• Как оживает смартфон: Android на старте
• Эффективный бэкграунд: организация стабильной фоновой работы в связке двух мобильных медтех приложений
• Как я прототипирую цвета в Jetpack Compose
• Android на Snapdragon 8 Elite будет поддерживаться 8 лет
• Производительность sequence, stream и collection в JVM
• Непростые вопросы про Kotlin Coroutines
•
Flat approach for tabbed Navigation in Jetpack Compose
•
Gradle Plugins Best Practices
•
Handling Token Expiration in Retrofit: Automatic Token Refresh with OkHttp
•
Reliable Timekeeping with the TrustedTime API in Android
•
Why Your Network Calls on the Main Thread Aren’t Crashing your Android App
•
Versioning your Android app like a Leetcode problem
•
Deploy Android App on Play Store using Github Action
•
Making basicMarquee-Modifier More Accessible
•
Localization in Jetpack Compose
•
Server-Driven UI with Compose Remote Layout
•
Advanced Coroutines Patterns
•
Android System Design: Building a Stopwatch from Handlers to Coroutines (MVVM + Flow)
•
Single State Fields VS. State Data Class In Your ViewModel — What’s Best?
•
Junie — The New AI Coding Agent from JetBrains — Can it build a Compose Desktop app?
•
Video Player App — приложение для просмотра видео на MVVM и Kotlin
•
Lucky Wheel View Compose — колесо удачи на Compose
Кроссплатформа
•
Common mistakes with TextFormFields in Flutter
•
Kotlin Multiplatform Scalability Challenges on a Large Project
•
Flutter 3.29 and Dart 3.7: Making Our Dev Lives Even Easier
•
Customize Flutter DataGrid for Enhanced Data Visualization
•
How stable is Flutter?
•
Flutter. Gradient cheat sheet
•
Mastering Native Bridging in Flutter: A Deep Dive
•
Flutter Deep Linking: A Complete Guide
•
BikeShare — шаринг велосипедов на Kotlin Multiplatform
Разработка
• Полтора года с телефоном на «Авроре»: плюсы и минусы российской ОС с точки зрения обычного пользователя
• Уродливый код и глупые вещи
• Смартфон «из коробки» — большие риски маленького гаджета
• Сколько денег теряет бизнес из-за плохого дизайна? Мы посчитали
• Чем полезен Server Driven UI
• 5 лет опыта ИЛИ 5 раз по 1 году?
• Протестировал две российские системы работы с кодом. Что у меня (не) получилось
• Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов
• Самые высокооплачиваемые вакансии февраля в сфере разработки приложений
• Архитектурный надзор и анализ трейсов в Авито
• Логистические системы — Логистика, доставка, трекинг посылки
•
Minecraft from scratch
•
5 Code Review Anti-Patterns You Can Eliminate with AI
•
8 best open source analytics tools you can self-host
•
Cafe Maria. A functional cooking sim game played entirely in MariaDB.
•
How I Review Code As a Senior Developer For Better Results
•
Code, Sweat, and Tears: Why Imposter Syndrome Never Really Leaves Developers
•
Kubernetes and EKS for Beginners – Crash Course
Аналитика, маркетинг и монетизация
• Индекс цифрового рынка за 4 квартал 2024 года: цифровая экономика завершает 2024 год с новыми рекордами
• Фил Шиллер рассказал, что высказывал опасения по поводу комиссий App Store
• RuStore: молодые люди могут тратить в мобильных играх больше 2000 рублей в месяц
• Маркетологи в мобайле: Вячеслав Филимонов (директор по маркетингу Ёбидоёби)
• Дуо умер, да здравствует Duolingo
• Вопреки распространенному мнению, рынок приложений для знакомств продолжает расти — на 10% в 2024 году
• От MVP до приложения с миллионной аудиторией. Кейс развития мобильного приложения для ритейлера Kassir.ru
• Мышление аналитика: как цифры превращаются в деньги
• Apple объявила об инвестиционном плане на $500 млрд и 20 тысяч рабочих мест в США
AI, Устройства, IoT
• Встречаем YandexGPT 5 — в Алисе, облаке и опенсорсе
• Gemini Code Assist стал доступен для всех
• Распознавание текста в банке: трудности и решения
• Искусственный интеллект в ритейле: как он предсказывает вашу следующую покупку в приложении
• Получение SMS через SMPP Exolve на ESP8266
• Собираем прошивку NapiLinux и Raspberry Pi OS для микрокомпьютера с помощью Yocto
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.
iOS• Протокол Animatable: укрощение анимаций в SwiftUI
• Task.sleep() и Task.yield(): в чем разница
• Переходим на SwiftUI
• Задачи с собеседования: LeetCode — Перестановка в строке
•
SharingGRDB: A SwiftData Alternative•
Using SwiftUI’s Improved TabView with Sidebar on iOS 18•
Quick guide on home screen quick actions for SwiftUI•
From Natural Language to Swift Action: Demystifying LLM Function Calling•
Music recognition with ShazamKit•
How I Slashed My Xcode Build Times by 85%•
Tapping on Stack Views•
How to write Metal Shaders on iOS•
Equatable Vs Comparable Protocols in Swift•
Visual Studio Code setup for iOS development with Copilot•
An Ode to Swift Enums: The View Models That Could•
SwiftUI: Peer-to-Peer (P2P) with Multipeer Connectivity Framework•
SwiftUI: Locate Peers with Nearby Interaction Framework•
Simple Modularization setup for a New App•
What’s new in Swift 6.1?•
Symmetrical and asymmetrical transitions in SwiftUI with the Scroll Transition modifier•
Apple Books Scroll Animation — Complex UI — SwiftUI•
Power of new Scroll APIs — Custom Scroll Indicators — SwiftUI•
Mastering Images in SwiftUI – Assets, Bundles, Remote URLs & Effects•
SwiftUI Ripple Transition Effects — Custom Transitions•
Trie Data Structure Explained in Swift: The Ultimate Guide to Efficient Search•
Capture & Share SwiftUI Views as Images with ImageRenderer & ShareLink•
Xcodebuild.nvim — разработка iOS-приложений в Neovim•
Yams — парсер YAML для Swift
Android• Остерегайтесь READ_MEDIA_IMAGES
• Как оживает смартфон: Android на старте
• Эффективный бэкграунд: организация стабильной фоновой работы в связке двух мобильных медтех приложений
• Как я прототипирую цвета в Jetpack Compose
• Android на Snapdragon 8 Elite будет поддерживаться 8 лет
• Производительность sequence, stream и collection в JVM
• Непростые вопросы про Kotlin Coroutines
•
Flat approach for tabbed Navigation in Jetpack Compose•
Gradle Plugins Best Practices•
Handling Token Expiration in Retrofit: Automatic Token Refresh with OkHttp•
Reliable Timekeeping with the TrustedTime API in Android•
Why Your Network Calls on the Main Thread Aren’t Crashing your Android App•
Versioning your Android app like a Leetcode problem•
Deploy Android App on Play Store using Github Action•
Making basicMarquee-Modifier More Accessible•
Localization in Jetpack Compose•
Server-Driven UI with Compose Remote Layout•
Advanced Coroutines Patterns•
Android System Design: Building a Stopwatch from Handlers to Coroutines (MVVM + Flow)•
Single State Fields VS. State Data Class In Your ViewModel — What’s Best?•
Junie — The New AI Coding Agent from JetBrains — Can it build a Compose Desktop app?•
Video Player App — приложение для просмотра видео на MVVM и Kotlin•
Lucky Wheel View Compose — колесо удачи на Compose
Кроссплатформа•
Common mistakes with TextFormFields in Flutter•
Kotlin Multiplatform Scalability Challenges on a Large Project•
Flutter 3.29 and Dart 3.7: Making Our Dev Lives Even Easier•
Customize Flutter DataGrid for Enhanced Data Visualization•
How stable is Flutter?•
Flutter. Gradient cheat sheet•
Mastering Native Bridging in Flutter: A Deep Dive•
Flutter Deep Linking: A Complete Guide•
BikeShare — шаринг велосипедов на Kotlin Multiplatform
Разработка• Полтора года с телефоном на «Авроре»: плюсы и минусы российской ОС с точки зрения обычного пользователя
• Уродливый код и глупые вещи
• Смартфон «из коробки» — большие риски маленького гаджета
• Сколько денег теряет бизнес из-за плохого дизайна? Мы посчитали
• Чем полезен Server Driven UI
• 5 лет опыта ИЛИ 5 раз по 1 году?
• Протестировал две российские системы работы с кодом. Что у меня (не) получилось
• Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов
• Самые высокооплачиваемые вакансии февраля в сфере разработки приложений
• Архитектурный надзор и анализ трейсов в Авито
• Логистические системы — Логистика, доставка, трекинг посылки
•
Minecraft from scratch•
5 Code Review Anti-Patterns You Can Eliminate with AI•
8 best open source analytics tools you can self-host•
Cafe Maria. A functional cooking sim game played entirely in MariaDB.•
How I Review Code As a Senior Developer For Better Results•
Code, Sweat, and Tears: Why Imposter Syndrome Never Really Leaves Developers•
Kubernetes and EKS for Beginners – Crash Course
Аналитика, маркетинг и монетизация• Индекс цифрового рынка за 4 квартал 2024 года: цифровая экономика завершает 2024 год с новыми рекордами
• Фил Шиллер рассказал, что высказывал опасения по поводу комиссий App Store
• RuStore: молодые люди могут тратить в мобильных играх больше 2000 рублей в месяц
• Маркетологи в мобайле: Вячеслав Филимонов (директор по маркетингу Ёбидоёби)
• Дуо умер, да здравствует Duolingo
• Вопреки распространенному мнению, рынок приложений для знакомств продолжает расти — на 10% в 2024 году
• От MVP до приложения с миллионной аудиторией. Кейс развития мобильного приложения для ритейлера Kassir.ru
• Мышление аналитика: как цифры превращаются в деньги
• Apple объявила об инвестиционном плане на $500 млрд и 20 тысяч рабочих мест в США
AI, Устройства, IoT• Встречаем YandexGPT 5 — в Алисе, облаке и опенсорсе
• Gemini Code Assist стал доступен для всех
• Распознавание текста в банке: трудности и решения
• Искусственный интеллект в ритейле: как он предсказывает вашу следующую покупку в приложении
• Получение SMS через SMPP Exolve на ESP8266
• Собираем прошивку NapiLinux и Raspberry Pi OS для микрокомпьютера с помощью Yocto
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.