Мобильная разработка за неделю #547 (15 — 21 июля)
В новом выпуске создаем макросы без лида, ИТ-курсов и кредитов, прощаемся с 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 от Вега-Абсолют
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.