В новом дайджесте добавляем Image Playground в приложение и разбираемся с Android 15, делаtv свой DI за 10 минут и заставляем крутиться таймер, раскрываем внутреннюю архитектуру Flutter, проектируем мобильное приложение маркетплейса, оцениваем годовые доходы App Store и Google Play и многое другое. Подключайтесь!
Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.
iOS
• Фоновая загрузка файлов на сервер в iOS
• Добавляем Image Playground в приложение
• Как заставить крутиться таймер – инструкция для iOS-разработчиков
• Ищем неиспользуемый код с Periphery
• iOS-разработчики игнорируют важную системную фичу, и это ломает их приложения
• Впервые в App Store эмулятор Delta добавил ссылку на Patreon
• Apple работает над складывающимся планшетом
• Noncopyable types in Swift
• The Case for Another Cache
• Translating an iOS/Mac app with AI and humans
• Exploring TabView Advancements in SwiftUI
• Integrating Extensions into Large-Scale iOS apps
• Enabling Tuist Cache: Enhancing the Developer Experience at Trendyol
• SwiftUI Button: Custom Styles, Variants, and Best Practices
• The Ultimate Guide to Validation Patterns in SwiftUI
• Traps and Countermeasures for Abnormal onAppear Calls in SwiftUI
• Sending vs Sendable in Swift
• A generic SwiftUI Animated Segment Control
• Be careful wrapping a throwing function in a Task
• Avoid Crashes in Swift: How Overflow Operators Work
• Stacked Cards — Looping Cards — SwiftUI
• First Look at Xcode 16.2: New Swift Testing Feature
• SwiftUI Searchable Modifier: Build a Search Feature in 15 Minutes
• Ifrit — нечеткий поиск на Swift
• SRNetworkManager — современный сетевой слой
• CoordinatorX — навигация для SwiftUI
Android
• Всё, что нужно знать об Android 15: архивирование, защита данных и новые API
• Почему никогда не следует использовать!!! в Kotlin
• Dagger 2: как сделать свой DI за 10 минут
• Создание Custom Layout в Jetpack Compose
• Tracer для Android вышел в версии 1.0.0
• Вышла вторая Developer Preview версия Android 16
• Публикация Android и KMP библиотеки в Maven Central
• SDK Development; The Good, The Bad, The Ugly
• Understanding ViewModel Persistence Across Configuration Changes in Android
• Automate Android Feature Creation with Gradle
• Koin’s Isolated Context
• LLM Based Android UI Testing – “Journeys with Gemini”
• Get your apps ready for 16 KB page size devices
• How to Enforce Type Constraints for Slot Parameters — Jetpack Compose
• 5 minute guide on understanding Hilt annotations
• Koin IDE Plugin: A Koin Configuration Tree
• What’s new in CameraX 1.4.0 and a sneak peek of Jetpack Compose support
• Understanding Low Memory Management in Android: Kswapd & LMK
• Now in Android: 112 — Android 16 Developer Preview 1, Passkeys Spotlight Week, and more
• Designing apps for Android XR
• Adapting Android apps for XR
• Build immersive apps & experiences with OpenXR & Unity
• How to Draw On a Canvas In Jetpack Compose
• Multi-dollar String Interpolation in Kotlin
• Inure — красивый менеджер приложений для Android
• ADBR-Server — Android Debug Bridge на Rust
Кроссплатформа
• Как мы раскрыли внутреннюю архитектуру Flutter и затащили его на собственную платформу
• Flutter в своей продакшн-эре и другие откровения на Flutter in Production
• Совместить DDD и MVVM: Разработка приложения-трекера расходов по правилу 50-30-20 на .NET MAUI
• Flutter Dev Podcast #49: многомодульность на Flutter
• Debugging Kotlin in Xcode with SPM Builds
• Adaptive Layouts in Compose Multiplatform
• Publish your Flutter app to App Store with Codemagic CI/CD
• Designing the Unexpected with CircularProgressIndicator
• How to develop an AI app with a local model in Kotlin Multiplatform
• Master KMP as an Android Developer by Building a Joke-Generator App
• Remind users to Rate your App — Compose Multiplatform
Разработка
• Бесплатный доступ к GitHub Copilot в VS Code
• Как спроектировать мобильное приложение маркетплейса за 7 шагов
• Приземление дизайн-концепта на примере экрана платежей
• Как проектировать дизайн на космической скорости?
• Compose и SwiftUI: найди 10 отличий
• Запускаем мобильные UI-тесты эффективно
• Как мы писали проигрыватель с нуля под каждую платформу
• Как ВКонтакте измеряет перфоманс приложений
• Очевидные и неочевидные дыры безопасности в мобильной разработке
• Страх и ненависть в мобильных автотестах. Строим своё облачное решение
• Лучший UI фреймворк для разработки на Java — JavaFx, Swing, UI разработка
• Куда едут разработчики из России
• Firebase Data Connect в открытом превью
• Doing projects to learn can be bad advice
Аналитика, маркетинг и монетизация
• В 2024 доходы App Store и Play выросли на 15.7%, но загрузки упали на 2.3%
• В MyTracker появился AI-ассистент для аналитики
• Temu — самое скачиваемое приложение в американском App Store в 2024 году
• Самые скачиваемые и зарабатывающие приложения в мире в ноябре 2024
• Рекламодатели смогут улучшить продвижение мобильных приложений
• How Ladder onboards and keeps users engaged
• The best growth advice of 2024
AI, Устройства, IoT
• Как разработчик вышел на $400 000/мес на AI-сервисе для написания эссе
• Поднимаем в облаке расшифровку речи в текст с помощью нейросетей. VPS на пределе возможностей
• Как поднять Wi-Fi на ESP8266 и не зашквариться об Arduino
• Низкоресурсный блокчейн для Интернета вещей: как с пользой «скрестить ежа с ужом»
• Новый физический симулятор Genesis обучает роботов в 430,000 раз быстрее, чем в реальности
• Nvidia выпустила дешевый микрокомпьютер для ИИ
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков.
iOS
• Фоновая загрузка файлов на сервер в iOS
• Добавляем Image Playground в приложение
• Как заставить крутиться таймер – инструкция для iOS-разработчиков
• Ищем неиспользуемый код с Periphery
• iOS-разработчики игнорируют важную системную фичу, и это ломает их приложения
• Впервые в App Store эмулятор Delta добавил ссылку на Patreon
• Apple работает над складывающимся планшетом
• Noncopyable types in Swift
• The Case for Another Cache
• Translating an iOS/Mac app with AI and humans
• Exploring TabView Advancements in SwiftUI
• Integrating Extensions into Large-Scale iOS apps
• Enabling Tuist Cache: Enhancing the Developer Experience at Trendyol
• SwiftUI Button: Custom Styles, Variants, and Best Practices
• The Ultimate Guide to Validation Patterns in SwiftUI
• Traps and Countermeasures for Abnormal onAppear Calls in SwiftUI
• Sending vs Sendable in Swift
• A generic SwiftUI Animated Segment Control
• Be careful wrapping a throwing function in a Task
• Avoid Crashes in Swift: How Overflow Operators Work
• Stacked Cards — Looping Cards — SwiftUI
• First Look at Xcode 16.2: New Swift Testing Feature
• SwiftUI Searchable Modifier: Build a Search Feature in 15 Minutes
• Ifrit — нечеткий поиск на Swift
• SRNetworkManager — современный сетевой слой
• CoordinatorX — навигация для SwiftUI
Android
• Всё, что нужно знать об Android 15: архивирование, защита данных и новые API
• Почему никогда не следует использовать!!! в Kotlin
• Dagger 2: как сделать свой DI за 10 минут
• Создание Custom Layout в Jetpack Compose
• Tracer для Android вышел в версии 1.0.0
• Вышла вторая Developer Preview версия Android 16
• Публикация Android и KMP библиотеки в Maven Central
• SDK Development; The Good, The Bad, The Ugly
• Understanding ViewModel Persistence Across Configuration Changes in Android
• Automate Android Feature Creation with Gradle
• Koin’s Isolated Context
• LLM Based Android UI Testing – “Journeys with Gemini”
• Get your apps ready for 16 KB page size devices
• How to Enforce Type Constraints for Slot Parameters — Jetpack Compose
• 5 minute guide on understanding Hilt annotations
• Koin IDE Plugin: A Koin Configuration Tree
• What’s new in CameraX 1.4.0 and a sneak peek of Jetpack Compose support
• Understanding Low Memory Management in Android: Kswapd & LMK
• Now in Android: 112 — Android 16 Developer Preview 1, Passkeys Spotlight Week, and more
• Designing apps for Android XR
• Adapting Android apps for XR
• Build immersive apps & experiences with OpenXR & Unity
• How to Draw On a Canvas In Jetpack Compose
• Multi-dollar String Interpolation in Kotlin
• Inure — красивый менеджер приложений для Android
• ADBR-Server — Android Debug Bridge на Rust
Кроссплатформа
• Как мы раскрыли внутреннюю архитектуру Flutter и затащили его на собственную платформу
• Flutter в своей продакшн-эре и другие откровения на Flutter in Production
• Совместить DDD и MVVM: Разработка приложения-трекера расходов по правилу 50-30-20 на .NET MAUI
• Flutter Dev Podcast #49: многомодульность на Flutter
• Debugging Kotlin in Xcode with SPM Builds
• Adaptive Layouts in Compose Multiplatform
• Publish your Flutter app to App Store with Codemagic CI/CD
• Designing the Unexpected with CircularProgressIndicator
• How to develop an AI app with a local model in Kotlin Multiplatform
• Master KMP as an Android Developer by Building a Joke-Generator App
• Remind users to Rate your App — Compose Multiplatform
Разработка
• Бесплатный доступ к GitHub Copilot в VS Code
• Как спроектировать мобильное приложение маркетплейса за 7 шагов
• Приземление дизайн-концепта на примере экрана платежей
• Как проектировать дизайн на космической скорости?
• Compose и SwiftUI: найди 10 отличий
• Запускаем мобильные UI-тесты эффективно
• Как мы писали проигрыватель с нуля под каждую платформу
• Как ВКонтакте измеряет перфоманс приложений
• Очевидные и неочевидные дыры безопасности в мобильной разработке
• Страх и ненависть в мобильных автотестах. Строим своё облачное решение
• Лучший UI фреймворк для разработки на Java — JavaFx, Swing, UI разработка
• Куда едут разработчики из России
• Firebase Data Connect в открытом превью
• Doing projects to learn can be bad advice
Аналитика, маркетинг и монетизация
• В 2024 доходы App Store и Play выросли на 15.7%, но загрузки упали на 2.3%
• В MyTracker появился AI-ассистент для аналитики
• Temu — самое скачиваемое приложение в американском App Store в 2024 году
• Самые скачиваемые и зарабатывающие приложения в мире в ноябре 2024
• Рекламодатели смогут улучшить продвижение мобильных приложений
• How Ladder onboards and keeps users engaged
• The best growth advice of 2024
AI, Устройства, IoT
• Как разработчик вышел на $400 000/мес на AI-сервисе для написания эссе
• Поднимаем в облаке расшифровку речи в текст с помощью нейросетей. VPS на пределе возможностей
• Как поднять Wi-Fi на ESP8266 и не зашквариться об Arduino
• Низкоресурсный блокчейн для Интернета вещей: как с пользой «скрестить ежа с ужом»
• Новый физический симулятор Genesis обучает роботов в 430,000 раз быстрее, чем в реальности
• Nvidia выпустила дешевый микрокомпьютер для ИИ
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.