Мобильная разработка за неделю #555 (9 — 15 сентября)

В этой подборке детективное расследование утечки памяти с Xcode и перегруженная Android-разработка, удовольствие и боль BDUI, $50K на простой AI-обертке, дейтинг для трезвых, конец миллиардных стартапов, поддерживаемых рекламой, и многое другое. Подключайтесь!

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

ri3ap9buqqanycd9wxsooenbgds.jpeg

f1930ac4945596eb9707bc7a01bc5bdc.pngiOS

• Утечка памяти: детективная история с Xcode
• Изучаем WidgetKit: пишем виджет для Control Center в iOS 18
• Проверка доступности языка для перевода в фреймворке Translation
• Настоящая мощь Apple Intelligence проявится в сторонних приложениях
• iOS 18 выйдет 16 сентября
• Эволюция презентационных паттернов SwiftUI
377ae0333d0f4b7b97307c9eea5ee21a.gifJailbreak your Enemies with a Link: Remote Execution on iOS
377ae0333d0f4b7b97307c9eea5ee21a.gifMaking mistakes while learning Swift
377ae0333d0f4b7b97307c9eea5ee21a.gifHow to support tinted home screen widgets in iOS 18
377ae0333d0f4b7b97307c9eea5ee21a.gifSwiftUI: Dynamically Add Images to View (Canvas vs ZStack)
377ae0333d0f4b7b97307c9eea5ee21a.gifSwift Testing: Validate your code using expressive APIs
377ae0333d0f4b7b97307c9eea5ee21a.gifCheat sheet on VoiceOver gestures for iOS
377ae0333d0f4b7b97307c9eea5ee21a.gifSecurity Best Practices in iOS
377ae0333d0f4b7b97307c9eea5ee21a.gifPractical examples using The Composable Architecture (TCA)
377ae0333d0f4b7b97307c9eea5ee21a.gif@discardableResult in Swift
377ae0333d0f4b7b97307c9eea5ee21a.gifConverting an App from Obj-C
377ae0333d0f4b7b97307c9eea5ee21a.gifEventBus | Facilitate seamless event notifications within the application
377ae0333d0f4b7b97307c9eea5ee21a.gifMVC Template for Xcode: How It Can Accelerate Your Development Process
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngCustom Keyboards SwiftUI
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngSwiftUI — File / Folder & Architecture Setup for New Projects
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngiOS 18 SystemFormatStyle and TimeDataSource
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngSwiftUI Responsive UI Design — Adaptive Layout
96716bcb926741e79bb1c284a88083ca.pngHeat — LLM-клиент
96716bcb926741e79bb1c284a88083ca.pngDDLoggerSwift — работа с логами на устройстве

e1a3cf2a8b65a0da69bbdd5c0ad040fe.pngAndroid

• Android-разработка очень перегружена и в нее сложно вникнуть? — Обсуждение на Reddit
• Основы Jetpack Compose: как обеспечить стабильность вашего кода
• Избегаем ловушек автозавершения в Android Studio
• Ускоряем Android-приложения с помощью Baseline Profiles
• В Android блокируют установку приложений из сторонних источников. Почему это важно?
• Не слишком ли много мы разрешаем нашим приложениям?
• Пишем простенький DI для Android приложения
• Google Play Integrity API начал определять угрозы приложениям
• «Ленивый граф», или Как мы оптимизировали старт приложения
• В сетях сетевого слоя
377ae0333d0f4b7b97307c9eea5ee21a.gifCoroutine Testing — Controlling time
377ae0333d0f4b7b97307c9eea5ee21a.gifCreating a Custom Gauge Speedometer in Jetpack Compose
377ae0333d0f4b7b97307c9eea5ee21a.gifImprove Compose UI with Spacing Constants
377ae0333d0f4b7b97307c9eea5ee21a.gifShimmer animations in Jetpack Compose without extra dependencies
377ae0333d0f4b7b97307c9eea5ee21a.gifPreview and test your app«s edge-to-edge UI
377ae0333d0f4b7b97307c9eea5ee21a.gifHow to Create a Spinning Circles Loader in Jetpack Compose
377ae0333d0f4b7b97307c9eea5ee21a.gifJetpack Compose APIs for building adaptive layouts using Material guidance now stable
377ae0333d0f4b7b97307c9eea5ee21a.gifMastering TextDirection for Multi-Language Apps in Jetpack Compose
377ae0333d0f4b7b97307c9eea5ee21a.gifType safe navigation for Compose
377ae0333d0f4b7b97307c9eea5ee21a.gifHow we improved our 1Weather Android app cold startup time by over 70% and slow cold start sessions by over 24%+
377ae0333d0f4b7b97307c9eea5ee21a.gifAndroid Studio Ladybug Feature Drop
377ae0333d0f4b7b97307c9eea5ee21a.gifJetpack Compose: Setup Retrofit and Ktor using Dagger Hilt for Dependency Injection
377ae0333d0f4b7b97307c9eea5ee21a.gifHow to Create a Clock Wipe Animation in Jetpack Compose
377ae0333d0f4b7b97307c9eea5ee21a.gifHow to Create a Custom Animated Hole Effect in Jetpack Compose
377ae0333d0f4b7b97307c9eea5ee21a.gifHow to Create a Rainbow Loader Animation in Jetpack Compose
377ae0333d0f4b7b97307c9eea5ee21a.gifdebounce vs sample in Kotlin flow
377ae0333d0f4b7b97307c9eea5ee21a.gifKeep Your ViewModels Clean: A Guide to Event-Driven Architecture in Android
377ae0333d0f4b7b97307c9eea5ee21a.gifJetpack Compose custom navigation with KSP
377ae0333d0f4b7b97307c9eea5ee21a.gifCameraX and Jetpack Compose: A Guide for Android Developers
377ae0333d0f4b7b97307c9eea5ee21a.gifStreamlining Android authentication: Credential Manager replaces legacy APIs
377ae0333d0f4b7b97307c9eea5ee21a.gifThe val Property!= Immutable in Kotlin
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngВидео droidcon Berlin 24
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngCompose animations — Android Developers Backstage
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngNavigation Compose meet Type Safety
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngFlow layouts — Jetpack Compose Tips
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngFull Guide to Deep Linking With Type-Safe Jetpack Compose Navigation
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngUpload a File With Progress Bar Using Ktor
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngBuilding Responsive Applications with RxKotlin
96716bcb926741e79bb1c284a88083ca.pngPeristyle — простой, но мощный менеджер обоев для Android
96716bcb926741e79bb1c284a88083ca.pngMemory Guardian — очистка буфера обмена
96716bcb926741e79bb1c284a88083ca.pngLearn Kotlin Coroutines — изучаем корутины на реальных примерах

malx8hbgozt6lee8rmxmg96_s6a.pngКроссплатформа

• База джуна на Flutter
• Как понятия Patterns и Records в языке Dart упрощают жизнь разработчикам
• Многомодульное приложение на Flutter
• Архитектура white-label на Flutter: тонем в абстракциях
377ae0333d0f4b7b97307c9eea5ee21a.gifHow to develop an AI app with a local model in Kotlin Multiplatform
377ae0333d0f4b7b97307c9eea5ee21a.gifBest practices for optimizing Flutter web loading speed
377ae0333d0f4b7b97307c9eea5ee21a.gifFlutter Go Router: The Crucial Guide
377ae0333d0f4b7b97307c9eea5ee21a.gifServerpod 2.1, «Expressionism» — A game changer for real-time communication
377ae0333d0f4b7b97307c9eea5ee21a.gifFlutter Local Notification
377ae0333d0f4b7b97307c9eea5ee21a.gifFlutter: Concurrency and Parallelism?
377ae0333d0f4b7b97307c9eea5ee21a.gif5 Best Flutter UI Templates
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngCleaner Flutter code with Dart 3

7081c634ec176ab6b953d9d19e82a09a.pngРазработка

• BDUI: удовольствие или боль
• Девайс-холдер: кто такой, зачем нужен и насколько хорошо держит устройства
• C идет на спад
• Дизайн интерфейсов в России и других странах. Бигтехи и супераппы
• Junior-разработчики — обучение программированию, тестовое задание
• Аутсорсинг в IT: взгляд изнутри
• Мобильные приложения — кто и как их создаёт?
• Тестовый скрининг с карьерным ментором + Какие софт-скиллы необходимы разработчику
377ae0333d0f4b7b97307c9eea5ee21a.gifYour company needs Junior devs
377ae0333d0f4b7b97307c9eea5ee21a.gifTinder API Style Guide
377ae0333d0f4b7b97307c9eea5ee21a.gifDesign Patterns Are Temporary, Language Features Are Forever
377ae0333d0f4b7b97307c9eea5ee21a.gifCarpentopod: A Walking Table Project
377ae0333d0f4b7b97307c9eea5ee21a.gifWhy Copilot is Making Programmers Worse at Programming
gtu1iaz0-ajkbqpeq8n6dmql4zq.pngProductivity as a Developer — Full Course

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

• Как я заработал $50K на простой AI-обертке?
• В App Store заработали Win-back предложения
• Drybaby — дейтинг для трезвых
• Что такое сетевой эффект
• Конец миллиардных стартапов, поддерживаемых рекламой — приложения для вертикалей придут на смену
• Прощай Tinder, здравствуй Strava: стали ли приложения для «хобби» новыми социальными сетями?
• Sri Mandir помогает индуистам посещать храмы и делать пожертвования со своего телефона
• Самые скачиваемые и зарабатывающие приложения в России в августе 2024
• Лучшее лето Airbnb
377ae0333d0f4b7b97307c9eea5ee21a.gifMonetizing Social Trends: TikTok and AI Fueling Beauty App Success

8538129f5e7b404a720121cb9c3814db.jpgAI, Устройства, IoT

• Большие и чёрные (ящики): что мы знаем о том, как «думают» нейросети?
• Как мы учили Yandex Code Assistant помогать разработчикам с написанием кода и делать их счастливыми
• Как уменьшить образ Docker для работы с устройствами IoT
• Mojo: убийца Python и будущее Ai?
• Real-time-распознавание лиц: методы обучения быстрых и точных моделей для работы на мобильных девайсах

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

Habrahabr.ru прочитано 2775 раз