В новом дайджесте конвейеры мобильного развертывания за $0 и нестрашный Metal, Selenoid без симуляции и странные описания в Play Store, адаптивная верстка на React Native, упадок мобильной разработки, оптимизация пейвола и многое другое. Подключайтесь!
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
![](https://habrastorage.org/webt/dg/-s/q8/dg-sq88_thadzeiijjeb-lqx76u.png)
iOS
• Конвейеры мобильного развертывания за $0
• Водитель приедет через 3 минуты: реализация Uber Live Activity на iOS
• Apple выпустила библиотеку гомоморфного шифрования для Swift
• Вышла бета-версии iOS 18.1 с зачатками Apple Intelligence
• Почему Metal перестал быть страшным
• Локализация iOS-приложения за 1$ в 2024 году
•
Accessibility Setting Nuggets from iOS 18
•
Async and Await in Swift: Advanced Guide for Senior iOS Developers
•
The Meme that gave me Imposter Syndrome
•
SwiftUI app lifecycle: issues with ScenePhase and using AppDelegate adaptors
•
Using @DebugDescription in Xcode 16
•
Building Swift Executables
•
Creating a Sunburst Chart
•
How to Tile Images in SwiftUI
•
Xcode is actually a great IDE
•
Navigation Patterns in SwiftUI
•
How to programmatically parse the contents of an XCResult bundle
•
Translating text in your SwiftUI app with the Translation framework
•
How the Medium iOS team works effectively with legacy code
•
Building an iOS Networking SDK
•
SwiftUI Floating Bottom Sheets
•
How to Refactor SwiftUI into Reusable Views
•
SwiftUI App Intro Animation’s — Shape Morphing Effect
•
Xcode File Headers and Macros
•
How to Use TextField Keyboard Focus in SwiftUI with FocusState
•
SafeDI — безопасная Compile-time инъекция зависимостей в Swift
•
DominantColors — главные цвета на изображении
Android
• Selenoid без симуляции: настройка, отладка и автоматизация на физическом Android-устройстве
• Вопросы доступности при использовании кастомного макета стопки карт
• Gradle + GitLab: эффективный и бесплатный билд-кэш
• Нужно ли учить Java для Android-разработки в 2024
• ИИ генерирует странные описания в Play Store
•
Android MVVM Architecture Interview Questions
•
Command Your User Inputs with Jetpack Compose— Text Field Features Hidden in Plain Sight
•
Lint Revisit: Providing Alternatives
•
Creating Scalable Composables in Jetpack Compose
•
Using kotlin-inject in a Kotlin/Compose Multiplatform project
•
Architecture related decisions in Android — Response classes
•
Advanced Kotlin Coroutine Cheat sheet
•
Assisted Injection a New Update in Hilt
•
Android Interview Questions with Kotlin Coroutines
•
Mastering Regex Groups
•
Advanced layout animations in Compose (Shared elements)
•
Compose Tips for Delightful UI
•
Compose Migration Side Effects — What Can Go Wrong?
•
Building Libraries for the Next 25 Years
•
Turbocharge Your Data: Harnessing Kotlin and gRPC to Handle Real-Time Data From Connected Cars
•
Grow with the Flow: How Kotlin Flow Became a Game Changer for our Business
•
Coroutines: Concurrency in Kotlin
•
Kotlin Design Patterns & Best Practices — Part 1: Build a Chess Game
•
ImageCropView — обрезка изображений в Jetpack Compose
•
Giphy Trending — популярное с Giphy
Кроссплатформа
• Адаптивная верстка на React Native
• Полный гайд по тестированию на Flutter. Часть 5: Mocktail + Часть 4: продвинутое модульное тестирование
• Cтейт-менеджмент на Flutter. Введение в Bloc
• Упрощение Работы с Расширениями темам в Flutter: Инструменты и Пакеты для Генерации Стилей
• KMP на ОС Аврора: проблемы и пути их решения
•
Reducing App Size and Memory Usage in Flutter
•
Why Kotlin Multiplatform Teams Should Share Source, not Binaries
•
Desktop app development with Flutter
•
App clip wi7th React Native and New Arch (and Swift)
•
Shake It Up with CMPShakeDetection: Integrating Fun in Compose Multiplatform
•
The Kotlinx DateTime API for Compose Multiplatform
•
How to Implement Drag & Drop in Jetpack Compose
•
How to Combine animations with AnimatedBuilder
•
Hitchhiker’s Guide to Kotlin Multiplatform Libraries
•
Build an Uber clone with Flutter and Supabase
•
Fantasy Premier League — фэнтези-футбол на Kotlin Multiplatform
Разработка
• Упадок мобильной разработки
• Самые высокооплачиваемые вакансии июля в сфере разработки приложений
• Bumble и Hinge позволяли определять местоположение пользователей с точностью до 2 метров
• Алгоритмическая сессия на собеседовании
• Автоматическая генерация верстки под Server-driven UI из макетов Figma
• Учимся договариваться о деньгах — Офферы, Зарплаты, Повышение
• Дизайн системы — это слишком модно, возможно они вам не нужны
•
Going Indie: From Side Project to Going Independent
•
Google’s secret to painless code reviews
•
How Passwordless Authentication Works — A Deep Dive
•
Perfectionism — one of the biggest productivity killers in the engineering industry
•
I Built a 2D Game in 40 Minutes with Ebiten
•
80% of developers are unhappy. The problem is not AI, nor is coding
•
I recreated Shazam’s algorithm with Go
•
How to get a FAANG Dev Job in your 40s
Аналитика, маркетинг и монетизация
• Оптимизация пейвола — история успеха
• MONOPOLY GO! быстрее всех заработала $3 млрд
• Рынок приложений в первом полугодии 2024 года — отчет Apptica
• Топ-3 приложения Short Drama стриминга зарабатывают $3 млн в день
• Сеть Chick-fil-A запустила в приложении игру и достигла наибольшего количества ежедневных загрузок в истории
• Метрики продуктового дизайна в Домклик
AI, Устройства, IoT
• Мастер-аккаунт Zeekr. Как Arduino поможет Вашему китайскому авто?
• Инженер по машинному обучению — новый путь обучения от Google
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
![](https://habrastorage.org/webt/dg/-s/q8/dg-sq88_thadzeiijjeb-lqx76u.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• Конвейеры мобильного развертывания за $0
• Водитель приедет через 3 минуты: реализация Uber Live Activity на iOS
• Apple выпустила библиотеку гомоморфного шифрования для Swift
• Вышла бета-версии iOS 18.1 с зачатками Apple Intelligence
• Почему Metal перестал быть страшным
• Локализация iOS-приложения за 1$ в 2024 году
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• Selenoid без симуляции: настройка, отладка и автоматизация на физическом Android-устройстве
• Вопросы доступности при использовании кастомного макета стопки карт
• Gradle + GitLab: эффективный и бесплатный билд-кэш
• Нужно ли учить Java для Android-разработки в 2024
• ИИ генерирует странные описания в Play Store
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/webt/ma/lx/8h/malx8hbgozt6lee8rmxmg96_s6a.png)
• Адаптивная верстка на React Native
• Полный гайд по тестированию на Flutter. Часть 5: Mocktail + Часть 4: продвинутое модульное тестирование
• Cтейт-менеджмент на Flutter. Введение в Bloc
• Упрощение Работы с Расширениями темам в Flutter: Инструменты и Пакеты для Генерации Стилей
• KMP на ОС Аврора: проблемы и пути их решения
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• Упадок мобильной разработки
• Самые высокооплачиваемые вакансии июля в сфере разработки приложений
• Bumble и Hinge позволяли определять местоположение пользователей с точностью до 2 метров
• Алгоритмическая сессия на собеседовании
• Автоматическая генерация верстки под Server-driven UI из макетов Figma
• Учимся договариваться о деньгах — Офферы, Зарплаты, Повышение
• Дизайн системы — это слишком модно, возможно они вам не нужны
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
![](https://habrastorage.org/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• Оптимизация пейвола — история успеха
• MONOPOLY GO! быстрее всех заработала $3 млрд
• Рынок приложений в первом полугодии 2024 года — отчет Apptica
• Топ-3 приложения Short Drama стриминга зарабатывают $3 млн в день
• Сеть Chick-fil-A запустила в приложении игру и достигла наибольшего количества ежедневных загрузок в истории
• Метрики продуктового дизайна в Домклик
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• Мастер-аккаунт Zeekr. Как Arduino поможет Вашему китайскому авто?
• Инженер по машинному обучению — новый путь обучения от Google
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.