В нашем новом выпуске автоматическое обнаружение утечек памяти в CI/CD с помощью UI-тестов, эффективная работа с legacy кодом Medium и новая версия Flutter, знакомство с Mobile Farm, тестирование платежей в проде, дейтинг-приложение, работающее только по четвергам и многое другое. Подключайтесь!
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• Как автоматически обнаруживать утечки памяти в CI/CD с помощью UI-тестов
• Как iOS-команда Medium эффективно работает с legacy кодом
• Переводим текст в SwiftUI-приложении с помощью фреймворка Translation
• Как улучшить время сборки в iOS с помощью модуляризации
• Режимы наложения/смешивания в SwiftUI
• Apple объявила о новой структуре сборов для приложений в ЕС
• Дизайн-система в SwiftUI
• Как пиратские приложения обходят проверку App Store
• Итоги одного года мобильной разработки с использованием NLP
• Combine с нуля — реактивщина это просто
• Non-Sendable types are cool too you know
• Async await in Swift: The Full Toolkit
• How to add animation to MeshGradient in SwiftUI
• Olympic Logo in SwiftUI
• iOS App Launch Optimization: How Cityflo Achieved 2.22x Faster Load Times
• Useful packages to improve your SwiftUI development workflow
• Implementing Seamless App Version Management in iOS with CloudKit
• Exploring SwiftUI: Creating a BottomSheet
• Nested Grid Layout Anomaly: Analysis Approach and Resolution Strategies for SwiftUI Layout Issues
• How to automatically manage, monitor & rollout new machine learning models across your iOS app user base
• Exploring HealthKit: Working with State of Mind APIs
• iOS App Reverse Engineering
• Have Fun with Apple’s Virtualization.Framework
• Building Compositional Grid Layout With iOS 18 APIs
• The Best iOS Dev Portfolio Strategy
• How to Reduce Log Verbosity in the Xcode Debug Console
• Getting the MOST out of Xcode 16
• Building App Intro Animations with Shape Morphing Effect Using SwiftUI
• Disk — хранение структур, изображений и данных
• iOS Clean Architecture — чистая архитектура, MVVM и Combine
Android
• FPC/Lazarus и Android
• Что стоит знать о Jetpack Compose: руководство для начинающих
• Реализация Server-Driven UI в Android
• Пишем своё приложение для установки PIN на другие приложения
• Кастомная тема Jetpack Compose
• Google запускает базу знаний о безопасности Android-приложений
• В Android 15 режим edge-to-edge обязателен, но Google добавил возможность отказаться от него
• Google Play сможет обновлять сторонние приложения
• Hassle-free Snackbar in Jetpack Compose
• Making security easy: How we are helping you fix vulnerabilities in your Android apps
• Jetpack Compose Previews: Delving Deep Into Their Inner Workings
• Clean Data Sources in Android
• Full-Text Search in Android: Integrating FTS4 with Room
• My notes on Android optimization. Part 1. Measuring startup time
• Android Device Streaming: Announcing Early Access to Samsung, Xiaomi, and Oppo Device Labs
• Precise Intent Resolution — Android 15
• The best way to load data in ViewModels
• Building an effective abstraction layer for UI resources on Android
• How Suspend Functions Work in Kotlin: Under the Hood in Android
• MutableState or MutableStateFlow: A Perspective on what to use in Jetpack Compose
• Decompile and Recompile APK using APKTOOL: Beginners Guide
• Targeting Android 15 — Why Your App Is NOT Ready
• Channels in Kotlin Coroutines|
• Guide to Improving Compose Performance
• Background Work in Android: Strategies and Best Practices
• Applying the Strategy Pattern in Kotlin
• Zoomable — увеличение жестами в Jetpack Compose
• WhatsApp Clone Compose — копия WhatsApp на Compose и Stream SDK
• Compose Game Engine — 2D игровой движок
Кроссплатформа
• PWA вместо приложения: плюсы, минусы, подводные камни
• Flutter 3.24: что нового
• Архитектура Flutter проекта простым языком. Clean Arch (MVVM, DI, Bloc, Inversion of Control)
• Полный гайд по тестированию на Flutter. Часть 6: Тестовые двойники: Faking vs Mocking
• Understanding Composited Layers to improve the performance of Flutter apps
• Convert Your Native Project to Kotlin Multiplatform
• How BigPay Increased Flutter Developer Velocity
• Getting started with Flutter GPU
• Custom Render Boxes and Painting in Flutter
• How to Develop a Super App with React Native?
• Deep dive into writing macros in Dart 3.5
• Lifecycle path to Multiplatform
• Kotlin Multiplatform in Google Wo|rkspace
• KMP in Action A Production Case Study
Разработка
• ОС «Аврора» — веб-сервер в кармане
• Жутко, но факт: как Uber тестирует платежи в продакшене
• «Арендовал телефон — стал фермером»: знакомство с Mobile Farm
• Тулкиты кодогенерации Android vs iOS
• Ускоряем карьерный рост в FAANG
• Алгоритмы — самый провальный этап собеседований •
• VK проведет конференцию по мобильной разработке — VK JT Mobile
• How to perform geoqueries on Firestore (somewhat) efficiently
• The way we interact with apps is changing, so should the way they are designed.
• What Type of Loading and Progress Indicators Implement in the App?
• «20% for tech debt» doesn’t work
• The Senior Engineer Illusion: What I Thought vs. What I Learned
• Operating Systems Course for Beginners
Аналитика, маркетинг и монетизация
• Дейтинг-приложение Thursday работает только по четвергам
• Приложение ChatGPT поставило рекорд по выручке
• Маркетологи в мобайле: Денис Лазаричев (руководитель проектов performance-маркетинга ВТБ)
• Flighty использует машинное обучение, чтобы предсказывать задержки рейсов
• Самые скачиваемые и зарабатывающие приложения в России в июле 2024
• Trade My Spin строит бизнес на поддержанных тренажерах Peloton
• Кейс Ozon и Bidease: как снизить CAC и CPO более чем на 30%
AI, Устройства, IoT
• Да здравствует кастомный автозвук, или Мой DIY Bluetooth-пульт на основе ESP32
• Улучшаем многоквартирный умный дом: лифт сам нажимает кнопку
• Практический кейс реализации AutoML в банке
• KC868-AG Pro: Zigbee координатор (Tasmota и SLS)
• Apple готовит новый Mac Mini на M4
• Лучшие ноутбуки для студентов и школьников 2024
• Google TV Streamer — преемник Chromecast и центр умного дома
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• Как автоматически обнаруживать утечки памяти в CI/CD с помощью UI-тестов
• Как iOS-команда Medium эффективно работает с legacy кодом
• Переводим текст в SwiftUI-приложении с помощью фреймворка Translation
• Как улучшить время сборки в iOS с помощью модуляризации
• Режимы наложения/смешивания в SwiftUI
• Apple объявила о новой структуре сборов для приложений в ЕС
• Дизайн-система в SwiftUI
• Как пиратские приложения обходят проверку App Store
• Итоги одного года мобильной разработки с использованием NLP
• Combine с нуля — реактивщина это просто
• Non-Sendable types are cool too you know
• Async await in Swift: The Full Toolkit
• How to add animation to MeshGradient in SwiftUI
• Olympic Logo in SwiftUI
• iOS App Launch Optimization: How Cityflo Achieved 2.22x Faster Load Times
• Useful packages to improve your SwiftUI development workflow
• Implementing Seamless App Version Management in iOS with CloudKit
• Exploring SwiftUI: Creating a BottomSheet
• Nested Grid Layout Anomaly: Analysis Approach and Resolution Strategies for SwiftUI Layout Issues
• How to automatically manage, monitor & rollout new machine learning models across your iOS app user base
• Exploring HealthKit: Working with State of Mind APIs
• iOS App Reverse Engineering
• Have Fun with Apple’s Virtualization.Framework
• Building Compositional Grid Layout With iOS 18 APIs
• The Best iOS Dev Portfolio Strategy
• How to Reduce Log Verbosity in the Xcode Debug Console
• Getting the MOST out of Xcode 16
• Building App Intro Animations with Shape Morphing Effect Using SwiftUI
• Disk — хранение структур, изображений и данных
• iOS Clean Architecture — чистая архитектура, MVVM и Combine
Android
• FPC/Lazarus и Android
• Что стоит знать о Jetpack Compose: руководство для начинающих
• Реализация Server-Driven UI в Android
• Пишем своё приложение для установки PIN на другие приложения
• Кастомная тема Jetpack Compose
• Google запускает базу знаний о безопасности Android-приложений
• В Android 15 режим edge-to-edge обязателен, но Google добавил возможность отказаться от него
• Google Play сможет обновлять сторонние приложения
• Hassle-free Snackbar in Jetpack Compose
• Making security easy: How we are helping you fix vulnerabilities in your Android apps
• Jetpack Compose Previews: Delving Deep Into Their Inner Workings
• Clean Data Sources in Android
• Full-Text Search in Android: Integrating FTS4 with Room
• My notes on Android optimization. Part 1. Measuring startup time
• Android Device Streaming: Announcing Early Access to Samsung, Xiaomi, and Oppo Device Labs
• Precise Intent Resolution — Android 15
• The best way to load data in ViewModels
• Building an effective abstraction layer for UI resources on Android
• How Suspend Functions Work in Kotlin: Under the Hood in Android
• MutableState or MutableStateFlow: A Perspective on what to use in Jetpack Compose
• Decompile and Recompile APK using APKTOOL: Beginners Guide
• Targeting Android 15 — Why Your App Is NOT Ready
• Channels in Kotlin Coroutines|
• Guide to Improving Compose Performance
• Background Work in Android: Strategies and Best Practices
• Applying the Strategy Pattern in Kotlin
• Zoomable — увеличение жестами в Jetpack Compose
• WhatsApp Clone Compose — копия WhatsApp на Compose и Stream SDK
• Compose Game Engine — 2D игровой движок
Кроссплатформа
• PWA вместо приложения: плюсы, минусы, подводные камни
• Flutter 3.24: что нового
• Архитектура Flutter проекта простым языком. Clean Arch (MVVM, DI, Bloc, Inversion of Control)
• Полный гайд по тестированию на Flutter. Часть 6: Тестовые двойники: Faking vs Mocking
• Understanding Composited Layers to improve the performance of Flutter apps
• Convert Your Native Project to Kotlin Multiplatform
• How BigPay Increased Flutter Developer Velocity
• Getting started with Flutter GPU
• Custom Render Boxes and Painting in Flutter
• How to Develop a Super App with React Native?
• Deep dive into writing macros in Dart 3.5
• Lifecycle path to Multiplatform
• Kotlin Multiplatform in Google Wo|rkspace
• KMP in Action A Production Case Study
Разработка
• ОС «Аврора» — веб-сервер в кармане
• Жутко, но факт: как Uber тестирует платежи в продакшене
• «Арендовал телефон — стал фермером»: знакомство с Mobile Farm
• Тулкиты кодогенерации Android vs iOS
• Ускоряем карьерный рост в FAANG
• Алгоритмы — самый провальный этап собеседований •
• VK проведет конференцию по мобильной разработке — VK JT Mobile
• How to perform geoqueries on Firestore (somewhat) efficiently
• The way we interact with apps is changing, so should the way they are designed.
• What Type of Loading and Progress Indicators Implement in the App?
• «20% for tech debt» doesn’t work
• The Senior Engineer Illusion: What I Thought vs. What I Learned
• Operating Systems Course for Beginners
Аналитика, маркетинг и монетизация
• Дейтинг-приложение Thursday работает только по четвергам
• Приложение ChatGPT поставило рекорд по выручке
• Маркетологи в мобайле: Денис Лазаричев (руководитель проектов performance-маркетинга ВТБ)
• Flighty использует машинное обучение, чтобы предсказывать задержки рейсов
• Самые скачиваемые и зарабатывающие приложения в России в июле 2024
• Trade My Spin строит бизнес на поддержанных тренажерах Peloton
• Кейс Ozon и Bidease: как снизить CAC и CPO более чем на 30%
AI, Устройства, IoT
• Да здравствует кастомный автозвук, или Мой DIY Bluetooth-пульт на основе ESP32
• Улучшаем многоквартирный умный дом: лифт сам нажимает кнопку
• Практический кейс реализации AutoML в банке
• KC868-AG Pro: Zigbee координатор (Tasmota и SLS)
• Apple готовит новый Mac Mini на M4
• Лучшие ноутбуки для студентов и школьников 2024
• Google TV Streamer — преемник Chromecast и центр умного дома
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.