В новом выпуске создаем макросы без лида, ИТ-курсов и кредитов, прощаемся с XCAssets и пишем приложения для Android 1.0, программируем кастомные макеты в Compose и переосмысливаем Agile, определяем главный тренд экономики приложений, продвигаем аудиокниги в инновационной глобальной AR-кампании и многое другое. Подключайтесь!

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



iOS

• Пишем свой Swift макрос без лида, ИТ-курсов и кредитов
• Скрытая (на виду) сила KeyPath'ов
• Марко Армент переписал Overcast
• Как запустить нативный код из WKWebView
• Вышла первая открытая бета iOS 18
• Проверяем, есть ли новая версия приложения в App Store
• 10 вопросов с собеседования iOS-разработчика (+ все собеседования)
• Прощаемся с XCAssets. Экспорт картинок из Figma на CDN, а оттуда — в приложение
• SwiftPM — фреймворки вместо кофе
How to delay server requests for user’s search query with SwiftUI and Combine
New visionOS sample code
Some tips & tricks with the new iOS 18 ScrollView API
Blend Modes in SwiftUI
Creating custom particle emitters with RealityKit
Use FFmpeg to speed up iOS Simulator recordings
ScrollView phase changes on iOS 18
SwiftUI: Use SwiftData outside a View (In a Manager Class/ViewModel)
1000’s applications, 2 interviews. Whats wrong with my resume?
Developing an Infinite Four-Direction Scrollable Pager with SwiftUI
Swift 6: Future of iOS Development
Custom Button Styles like a PRO! (SwiftUI)
Facebook* Messenger Gradient Effect — SwiftUI
Custom SwiftUI Countdown Timer
SwiftUI: Drop Down Picker
Exploring the Swift Algorithms Package
BookPlayer — iOS-плеер для аудиокниг
Animatable — анимации для представлений SwiftUI
SwipeActions — свайпы для любого View

Android

• Самый первый Android-смартфон в мире: каким был HTC Dream? Пишем приложения для Android 1.0 в 2024
• Jetpack Compose: отличная идея, но плохая реализация? — обсуждение на Reddit
• Топ-5 плагинов для Android Studio
• Кастомные макеты в Compose — стопка карточек с кошками
• Samsung выпустит Android XR гарнитуру осенью
• Android-разработка в 2024 году
• Вынос сборки Android-проектов с машины разработчика на сервер
Overscroll animations in Jetpack Compose
Type Safe Bottom Navigation in Jetpack Compose
Stack vs. Heap in Kotlin: Understanding Memory
Restartable functions from first principles
Creating Custom Text Views in Android: A Fun Exploration with SampleView
Modeling Android Screen State
Android Studio Ladybug 2024.1.3 Canary 1 now available
Server-Driven UI Android Implementation
Real-Time Pose Detection in Camera with ML Kit in Android
Kotlin Serialization — Json mistakes I made with Polymorphism and More
Micro optimizations — Android Developers Backstage
Edge-to-edge and insets | Compose Tips
Exploring Exposed: A Kotlin Solution to Database Access
Debugging the Future: Exploring Coroutine Debugger Tools
Finch — меню для отладки Android-приложений
Film Time — фильмы в современной Android-разработке

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

• Реализация доступности веб-приложений с помощью Flutter
• Компонентная архитектура приложений на Flutter: почему выбрать BLoC недостаточно
• Макросы на Dart: первые ощущения от использования и лайфхаки на будущее
• Полный гайд по тестированию на Flutter. Часть 1: Знакомство с методами тестирования
Flutter Design Systems: Exploring Modern Alternatives to Material Design
How to Achieve Effortless List Item Animation and Reordering in Flutter
Compute in Flutter
Introducing KoVibes a Kotlin Multiplatform library
React Native + Expo: Simplifying Cross-Platform Mobile App Development
How to Generate Executables in KMP (apk, iab, msi, dmg, deb)
Local Preferences in Kotlin Multiplatform With DataStore
Enabling Kotlin Multiplatform Success: The Android Jetpack Journey
Making the Big Kotlin Multiplatform Decision

Разработка

• Соавтор Манифеста Agile говорит о «переосмыслении» проекта
• Вакансии-призраки и как защититься от них
• Видео Yandex BDUI Conf 2024
• Mobile Performance: расшифровка метрик
Why, after 6 years, I’m over GraphQL
We need visual programming. No, not like that.
Lessons learned in 35 years of making software
Building Pinterest Canvas, a text-to-image foundation model
How I build simple Mac apps using Go
Multithreading for Beginners

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

• Загрузки падают, а доходы растут — главный тренд экономики приложений
• Audible оживляет аудиокниги с помощью инновационной глобальной AR-кампании
• Presti использует генеративный ИИ для улучшения фотосъемки мебели
• Какие категории приложений получают больше всего загрузок и зарабатывают больше всего денег
• Самые скачиваемые и зарабатывающие приложения в мире в июне 2024
• Стресс-тест оплаты по QR на кассе в супермаркете. Сравниваем мобильные интерфейсы банков
How we use friction logs to improve products at Stripe

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

• В 48 собесах от оффера в Гугл
• Бюджетный умный климат: как я заставил дешевый кондиционер поумнеть и слушаться Алису
• Mistral представил две новые ИИ-модели — Codestral Mamba для кода и Mathstral для научных изысканий
Умная квартира с террасой на крыше: осталось уговорить мужа
• ProPainter, Удаление объектов на видео с помощью нейросети, Русская Портативная версия
• Особенности работы с беспроводными счетчиками импульсов Lora от Вега-Абсолют

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