В этом выпуске борьба с утечками памяти и 10 самых распространенных ошибок с Jetpack Compose, подходы к многомодульной функциональной архитектуре и реализация pixel-perfect тестирования дизайн-системы, 2.5 тысяч экрано-состояний и тесты на сотнях устройств, причины не использовать Server Driven UI, «осознанные» истории Calm и многое другое. Подключайтесь!

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



iOS

• Обновление CocoaPods: пошаговое руководство
• Карточка навигации для iOS 18 на SwiftUI
• Проверяем пакет iOS-приложения
• Шина данных и Swift: применение в слабосвязанных архитектурах
• SwiftUI AlignmentGuide
• Стратегия автотестирования для iOS приложений
• 5 вопросов для iOS разработчика
• Борьба с утечками памяти: от задачи до победы
• ARC в Swift: лучшие практики для предотвращения утечек памяти
SwiftUI for Mac 2024
Understanding container values in SwiftUI
Exploring SwiftUI: Working with Rotate Gesture
Dynamic Library vs. Static Library: Optimising iOS App Performance
SwiftUI Tip: Avoid Nesting ObservableObjects
How to make ZStack content fully scrollable in a SwiftUI ScrollView
Send data Between iOS Apps and Extensions Using Darwin Notifications
Transcribing audio from a file using the Speech framework
SwiftUI Modifiers Deep Dive: containerBackground
Marking Swift Properties Available by iOS Version
Working with UDP in SwiftNIO
Exploring WidgetKit: Creating Configurable Control Widgets in iOS 18 and SwiftUI
Everything you never thought you wanted to know about emoji flags
Mastering Navigation in SwiftUI Using Coordinator Pattern
Design Your Dark and Tinted Versions of Your App Icon for iOS 18
Import & Export Swift Data with Password
Interactive Expandable Header — SwiftUI
SwiftDraw — парсинг и отрисовка SVG-изображений
Settings iOS — Настройки на SwiftUI

Android

• 10 самых распространенных ошибок с Jetpack Compose
Kotlin Coroutines. От А до Я
• Подходы к многомодульной функциональной архитектуре на Android
• Автообновление через GitHub releases с помощью Hilt и Retrofit в Android
• Mapping объектов с помощью MapStruct
• Как переход на AGP&Gradle 8.* изменил взгляд на работу с производительностью сборки
• 5 уроков из опыта реализации pixel-perfect тестирования дизайн-системы в Android
• Gradle-сборка. Измеряем самое важное
• Шифруем файлы в Android
• Выпуск Android 15 перенесен на октябрь
Effective Map Composables: Draggable Markers
Kotlin Granular Analytics With Lifecycle Delegate
Add powerful analytics modifiers in Jetpack Compose with ModifierLocal
Strikt Unit Testing In Kotlin
Adding 16 KB Page Size to Android
NFC on Android: Creating a prepaid payment system using NDEF tags
Hard-earned Learnings From Navigating Google Play App Rejections
Kotlin Extensions: A Complete Guide to Extension Functions in Kotlin
An effective testing strategy for Android – Unit Testing
Convergence in a multi-module application
How to implement Synchronization in Room Database in Kotlin
Jetpack Compose and collectAsLazyPagingItems
Create a Gradle Convention Plugin for Effortless Library Publishing
Why using Channels is considered anti-pattern?
Data structures and Algorithms are used in Android’s Architecture and Components
Mastering Color Theming in Jetpack Compose
Custom Koin Test Rule & Instrumented Android Tests in Multi-Module Architectures
Creating Pixel-Perfect UI with Jetpack Compose
Now in Android: 109 — Android 15 Beta 4, Samsung Galaxy Unpacked, Google Play’s new feature, & more
Hot Flows vs. Cold Flows In Kotlin — When to Use What?
5 Kotlin Coroutine Secrets I Wish I Knew Earlier
Kotlin After 2.0
Revamping and Extending Kotlin’s Type System
The state of code coverage for Kotlin
Supercool App — пример использования паттерна Use Case
Compose Stopwatch — секундомер на Jetpack Compose
ArtMaker — рисование с Jetpack Compose

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

• Апгрейд с Xamarin.Native на .NET 8
• Как я ускорил свое мобильное приложение BookDesk на React Native в 3 раза?
• Flutter vs Kotlin Multiplatform: что выбрать
Pushing the Boundaries of Compose Multiplatform with AGSL Shaders
A deep dive into freezed: Data classes, cloning, and (de)serialization
White-label mobile apps with Flutter & Fastlane
Enums on Steroids with Dart. Best Enum features ever!
Cross-Platform Swift: Building a Swift app for the browser
Flutter Reload: What’s Under the Hood
There’s more than a mouse in Compose Multiplatform for Desktop
Flutter tutorial: Sliding and resize image with CustomScrollView and Slivers

Разработка

• 2,5 тысяч экрано-состояний и тесты на сотнях устройств: как мы с нуля делали темную тему в приложении
• Server Driven UI: 6 причин не использовать его
• Как Google победил Skynet или подготовка обучения модели на мобильном устройстве
• Сложно ли пронести гаджет в школу
• Снифферы трафика в мобильном тестировании: Обзор инструментов и их особенности
• Большое UX/UI исследование мобильных приложений аптек
• О важном: инклюзивность интерфейсов, в которой нуждаются
• Кайфовый дизайн: Как сделать приложение, которое не захочется удалить
• Как писать чистый код — угадываем что ввел юзер и дизайним с нуля Clean Code Approach
• Егор Бугаенко про ТикТок, Huawei и ленивых разработчиков
• Зачем учить язык Си в 2024 году — Как выбрать между C или C++ или Rust
• Зарплаты разработчиков в первом полугодии 2024
• Самые популярные языки программирования 2024 от IEEE Spectrum
Less Is More: Principles for Simple Comments
Better CI/CD with GitHub Actions and deployment tracking
Designing Apps: 5 Methods to improve your workflow
How we run migrations across 2,800 microservices
How we sped up Notion in the browser with WASM SQLite
Programming With ChatGPT
Cognitive Load is what matters

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

• Calm запускает «осознанные» истории
• Snapchat запустился на iPad
• Niantic стремится создать более насыщенную 3D-карту мира с помощью новой версии приложения Scaniverse
• The Shippies — первый конкурс RevenueCat для приложений с подпиской
• У Telegram лучший месяц по доходам
• Самые скачиваемые и зарабатывающие приложения в мире в июле 2024
• Где найти стажеров и молодых сотрудников: создали приложение с 900+ тысячами скачиваний
Cheap! Cheap! The Perils of Low Cost Being your ONLY Advantage

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

• $1697 за выключатель кондиционера: DIY ремонт управляющего планшета
• Действительно ли большие языковые модели галлюцинируют? Эксперимент
• Насколько ChatGPT-4o подвержен когнитивным искажениям?
• IoT Geofencing: как мы сократили время определения функциональных зон, используя H3-индексы
• Реализуем машинное обучение на сервере с помощью Swift
• Codeium привлек $150 млн и стал единорогом
• Стартап Magic, занимающийся ИИ-программированием, получил $320 млн инвестиций

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

Комментарии (0)