Темы



Мобильная разработка за неделю #572 (20 — 26 января)

В новом выпуске распознавание номеров телефонов для пикника и первая бета Android 16, не всеобъемлющее руководство по тестированию пуш-уведомлений и 5 лет React Native в Shopify, технический гайд по сторис, годовой отчет «Состояние мобильного рынка в 2024 году» от Sensor Tower и многое другое. Подключайтесь!

5g3hasft7uwyyou-cvwnnanmagq.jpeg

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

f1930ac4945596eb9707bc7a01bc5bdc.pngiOS

• Как мы сделали on-device-распознавание номеров телефонов для ИТ-Пикника
• Темы в современных iOS-приложениях с UITraitCollection
• Вызов защищенного API из iOS-приложения на Swift
• Архитектура для SwiftUI — VSURF
• Фото-пикер 2.0: как сделать фичу на 150%
• App Store запускает Advanced Commerce API
• Apple Intelligence включат по умолчанию
• Color mixing in SwiftUI
• 377ae0333d0f4b7b97307c9eea5ee21a.gifObserving properties on an @Observable class outside of SwiftUI views
• 377ae0333d0f4b7b97307c9eea5ee21a.gifReducing Motion of Animations
• 377ae0333d0f4b7b97307c9eea5ee21a.gifCreating a reusable action menu component in SwiftUI
• 377ae0333d0f4b7b97307c9eea5ee21a.gifDebugging An Undebuggable App
• 377ae0333d0f4b7b97307c9eea5ee21a.gifRemove unused code in a real-world iOS project
• 377ae0333d0f4b7b97307c9eea5ee21a.gifEffortless SwiftUI Theming
• 377ae0333d0f4b7b97307c9eea5ee21a.gifBringing App Intents to Your SwiftUI App
• 377ae0333d0f4b7b97307c9eea5ee21a.gifRemove background from image in SwiftUI
• 377ae0333d0f4b7b97307c9eea5ee21a.gifProtocol Extensions in Swift 6.0: New Tricks
• 377ae0333d0f4b7b97307c9eea5ee21a.gifiOS Modular Architecture: From Monolith to Hybrid Approaches
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngGuiding the Golden Age: Rebuilding Indoor Navigation for Rijksmuseum
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngMastering Color Views in SwiftUI
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngNotification Deep Linking | Open Specific View From Push Notifications
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngScalable Continuous Integration for iOS
• 96716bcb926741e79bb1c284a88083ca.pngRecall — календарь для продуктивности
• 96716bcb926741e79bb1c284a88083ca.pngSharing — универсальное решение для хранения и совместного использования данных

e1a3cf2a8b65a0da69bbdd5c0ad040fe.pngAndroid

• Вышла первая бета-версия Android 16
• Погружение в мир Lint’a в Android-проекте (часть 2)
• Абсолютно потрясающее, но определенно не всеобъемлющее руководство по тестированию пуш-уведомлений
• Jetpack Compose и Edge-to-Edge на Android 15
• Как синтаксический сахар Kotlin может сломать вам логику работы приложения
• Как сделать библиотеку, чтобы ей пользовались
• Как Класс производительности помог Google Maps предоствить первоклассный опыт
• 377ae0333d0f4b7b97307c9eea5ee21a.gifUsing new Camera extensions API
• 377ae0333d0f4b7b97307c9eea5ee21a.gifWidgets with Glance: Displaying Images
• 377ae0333d0f4b7b97307c9eea5ee21a.gifSubcomposition in Jetpack Compose: How to Use Measurement Phase Data in Other Children
• 377ae0333d0f4b7b97307c9eea5ee21a.gifDon«t let Maven block you!
• 377ae0333d0f4b7b97307c9eea5ee21a.gifMockk: My Favorite Mocking Library for Android
• 377ae0333d0f4b7b97307c9eea5ee21a.gifPlease don«t dox me Google: How to verify your Google Play account without exposing ALL of your information
• 377ae0333d0f4b7b97307c9eea5ee21a.gifApp taken down: Beware of adding a «surprise» free trial without updating the UI
• 377ae0333d0f4b7b97307c9eea5ee21a.gifCode Optimization with Proguard and R8 in Android
• 377ae0333d0f4b7b97307c9eea5ee21a.gifStop hopping threads!
• 377ae0333d0f4b7b97307c9eea5ee21a.gifAndroid Studio Meerkat Feature Drop
• 377ae0333d0f4b7b97307c9eea5ee21a.gifAnnouncing Tuist Registry
• 377ae0333d0f4b7b97307c9eea5ee21a.gifProgrammatic navigation with Tab View in SwiftUI
• 377ae0333d0f4b7b97307c9eea5ee21a.gifAuto Layout Made Easy: Master Constraints with a Powerful UIView Extension
• 377ae0333d0f4b7b97307c9eea5ee21a.gifComprehensive System Design of LinkedIn Android App
• 377ae0333d0f4b7b97307c9eea5ee21a.gifF-Droid«s Progress and What«s Coming in 2025
• 377ae0333d0f4b7b97307c9eea5ee21a.gifThe future is adaptive: Changes to orientation and resizability APIs in Android 16
• 377ae0333d0f4b7b97307c9eea5ee21a.gifFrom frustration to framework: Revamping UI testing at Qont
• 377ae0333d0f4b7b97307c9eea5ee21a.gifReal-World Solutions for Remote Localization in Jetpack Compose Apps
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngInputStreams & OutputStreams In Kotlin
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngWorking With Files In Kotlin
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngCompose Performance for Us Humans
• 96716bcb926741e79bb1c284a88083ca.pngCuteMusic — быстрый музыкальный плеер для Android
• 96716bcb926741e79bb1c284a88083ca.pngLumo-UI — плагин Gradle для создания компонентов Compose
• 96716bcb926741e79bb1c284a88083ca.pngAndroid Interview Questions — вопросы и темы с Android-собеседований

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

• 5 лет React Native в Shopify
• Создание на Flutter MMO, достигшей $14k MMR в закрытом тестировании
• YPay & YPay Inventory для Flutter приложений
• Такие разные Slivers: обзор и применение во Flutter. Часть 1
• Спасти проект: с какими трудностями мы столкнулись при разработке и поддержке мобильной кроссплатформы
• Аналитика в мобильном приложении на Flutter. Часть 1. Yandex AppMetrica
• 377ae0333d0f4b7b97307c9eea5ee21a.gifIntroducing card_game: A declarative Flutter package that makes building card games easy
• 377ae0333d0f4b7b97307c9eea5ee21a.gifCompose multiplatform is real
• 377ae0333d0f4b7b97307c9eea5ee21a.gifWriting Golden Tests in Flutter
• 377ae0333d0f4b7b97307c9eea5ee21a.gifDetecting Text with Camera in Compose Multiplatform
• 377ae0333d0f4b7b97307c9eea5ee21a.gifDesign Systems in Flutter. Why and How.
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngBecoming a KMP Expert
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngMulti-language Support in Kotlin/Compose Multiplatform
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngFlutter Animations Made Easy

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

• Технический гайд по сторис или как мы повысили конверсию в мобильном приложении в 9 раз
• Автоматизируем рутинные задачи и сокращаем бюджет на дизайн: Figma Variables в создании макетов мобильных приложений
• UI/UX тренды в 2025: угрожает ли ИИ будущему дизайнеров и какие визуальные тренды нас удивят?
• Токены цвета для приложения: Как создать, использовать и передать в разработку
• , Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов
• Управление ресурсами в DevOps: от облачных решений до «железных» серверов
• Универсальное решение для мобильного автотестирования
• Смена профессии в IT — Карьера, Профессиональный рост
• 377ae0333d0f4b7b97307c9eea5ee21a.gifI am (not) a Failure: Lessons Learned From Six (and a half) Failed Startup Attempts
• 377ae0333d0f4b7b97307c9eea5ee21a.gifYour Career is a Startup: Building Sustainable Growth, One Stage at a Time
• 377ae0333d0f4b7b97307c9eea5ee21a.gifWhy You Need a «NOT Doing» List, not a Todo List
• 377ae0333d0f4b7b97307c9eea5ee21a.gifWhy manual Release Notes and Versions are a chaos and how to fix it
• 377ae0333d0f4b7b97307c9eea5ee21a.gifThe fizzbuzz that did not get me the job
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngNeetcode 150 Course — All Coding Interview Questions Solved

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

• Состояние мобильного рынка в 2024 году — отчет Sensor Tower
• Никита Бир о том, как создавать виральные продукты
• Сокращается ли рынок приложений — Обсуждение на Reddit
• Супераппы «супергорода» или что такое Careem и Noon в Дубае? Обзор приложений. Часть 1: Careem
• Epic поможет покрыть расходы разработчиков на iOS
• Раскрываем секреты маркетинга в 5 квартале

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

• Заменяем хабраюзеров ИИ-агентами. Гайд по browser-use
• История бюджетной автоматизации отопления в Home Assistant)
• Home Assistant на Raspberry Pi 5
• Google и Samsung работают над AR-очками
• В SmartThings от Samsung появятся функции искусственного интеллекта
• Perplexity запускает Sonar, API для ИИ-поиска
• Tencent представила Hunyuan3D 2.0 — открытую ИИ-систему 3D моделирования

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

© Habrahabr.ru