Темы



Мобильная разработка за неделю #548 (22 — 28 июля)

В нашей новой еженедельной подборке стенд для UI-тестирования iOS-приложений и реверсинг приложений под Android, Android Studio в вебе и будущее Flutter, результаты опроса разработчиков Stack Overflow 2024, дизайн-тренды 2025, топ быстрорастущих приложений в России в июле и многое другое. Подключайтесь!

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

ivls4tfpot0ijwp6tjfxv1zcxta.png

f1930ac4945596eb9707bc7a01bc5bdc.pngiOS

• Подсветка элементов онбординга. Spotlight onboarding / Highlight element. SwiftUI iOS15+
• Разворачиваем стенд для UI-тестирования iOS на базе Selenoid
• Как уменьшить расход памяти при загрузке UIImage с диска
• Удобная навигация в SwiftUI для iOS 16 и выше
• Разработка игр под Apple Vision Pro: ARKit, realityKit, Reality Composer Pro
• iOS 18 PHAsset URL из requestAVAsset
• Разбор SwiftUI проекта стартапа с AI на борту
• Вам не нужно хранилище в приложении
• В AltStore PAL появились первые сторонние приложения
• Slack представляет виджеты для iPhone
• Поваренная книга SwiftUI: кнопки — Часть 2
• 377ae0333d0f4b7b97307c9eea5ee21a.gifAdding values to the SwiftUI environment with Xcode 16«s Entry macro
• 377ae0333d0f4b7b97307c9eea5ee21a.gifExploring SwiftUI: Make SF Symbols Wiggle Wiggle
• 377ae0333d0f4b7b97307c9eea5ee21a.gifBest vs. Worst Coding Practices in Swift: 20 Key Examples
• 377ae0333d0f4b7b97307c9eea5ee21a.gifAsync await in Swift: The Full Toolkit
• 377ae0333d0f4b7b97307c9eea5ee21a.gifMemory consumption when loading UIImage from disk
• 377ae0333d0f4b7b97307c9eea5ee21a.gifSwift Enums: Best Practices and Hidden Features
• 377ae0333d0f4b7b97307c9eea5ee21a.gifSized-to-fit SwiftUI bottom sheet
• 377ae0333d0f4b7b97307c9eea5ee21a.gifFormatting time in a Text view in SwiftUI
• 377ae0333d0f4b7b97307c9eea5ee21a.gifLeveling Up Your Debugging Skills with LLDB Commands in Xcode
• 377ae0333d0f4b7b97307c9eea5ee21a.gifTop Interview Questions for Senior iOS Developer in 2024
• 377ae0333d0f4b7b97307c9eea5ee21a.gifWhat«s New in SF Symbols 6 — WWDC24
• 377ae0333d0f4b7b97307c9eea5ee21a.gif5 very useful functions from Swift Algorithms
• 377ae0333d0f4b7b97307c9eea5ee21a.gifExploring Indie Life: Reducing Friction by CI/CD
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngSwiftUI Coverflow Carousel
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngMy Story & iOS Dev Career Advice
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngBuilding iOS 18 Photos App UI
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngZoom Transitions SwiftUI
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngCustom Operators in Swift
• 96716bcb926741e79bb1c284a88083ca.pngHealthLens — экспорт данных для HealthKit
• 96716bcb926741e79bb1c284a88083ca.pngSwift Testing Revolutionary — конвертер XCTest в Swift Testing

e1a3cf2a8b65a0da69bbdd5c0ad040fe.pngAndroid

• Я победил замедление YouTube
• MVI в Eventbrite
• Как публиковать библиотеку в Maven Central Portal в 2024 году
• Разбираемся с новой уязвимостью Android-библиотеки Jetpack Navigation: как открыть любой фрагмент из вашего приложения?
• PinLockSreen на основе KeyStore. Kotlin. Jetpack Compose
• Разбираемся с MavenGate. Настолько ли он страшен на самом деле
• Реверсинг приложений под Android. Ищем уязвимости
• Как устроены аннотации в Kotlin. Часть 2
• Роман Елизаров про Kotlin, корутины и работу в Jetbrains
• Google объединяет 3 команды, чтобы сделать Play Store лучшей платформой для разработчиков
• В Google Play появились «Коллекции» и «Комиксы»
• Epic удаляет Fortnite из Galaxy Store
• Google переносит Android Studio в веб с помощью Project IDX
• Уязвимость в Telegram для Android позволяла скрывать файлы в поддельных видеороликах
• В Google Play начинается большая чистка
• 377ae0333d0f4b7b97307c9eea5ee21a.gifArchitecture related decisions in Android — Mapping
• 377ae0333d0f4b7b97307c9eea5ee21a.gifVariance (in & out) in Kotlin Explained
• 377ae0333d0f4b7b97307c9eea5ee21a.gifHow derivedStateOf works: a deep d (er)ive
• 377ae0333d0f4b7b97307c9eea5ee21a.gifDon«t Lock the Screen Orientation! Handling Orientation in Compose
• 377ae0333d0f4b7b97307c9eea5ee21a.gifBuilding On-Device Face Recognition In Android
• 377ae0333d0f4b7b97307c9eea5ee21a.gifContainer Transform in Jetpack Compose
• 377ae0333d0f4b7b97307c9eea5ee21a.gifKotlin sealed class VS sealed interface
• 377ae0333d0f4b7b97307c9eea5ee21a.gifPublish on Maven Central
• 377ae0333d0f4b7b97307c9eea5ee21a.gifEnhancing Code Quality with detekt for Static Analysis
• 377ae0333d0f4b7b97307c9eea5ee21a.gifPlaying with Compose Screenshot testing and Github Action
• 377ae0333d0f4b7b97307c9eea5ee21a.gifKotlin«s: Operator Explained
• 377ae0333d0f4b7b97307c9eea5ee21a.gifIntroduction of new Dependency Management (Version Control) and Kotlin DSL migration
• 377ae0333d0f4b7b97307c9eea5ee21a.gifMVI Made Easy: A Beginner«s Guide to MVI with Example and comparison with MVVM
• 377ae0333d0f4b7b97307c9eea5ee21a.gifBlinkit Interview Experience for SDE — Android Role 2024
• 377ae0333d0f4b7b97307c9eea5ee21a.gifRoom Tutorial (Part I): Grasping the Fundamentals
• 377ae0333d0f4b7b97307c9eea5ee21a.gifThe Path from Appium to Kaspresso
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngAdvanced layout animations in Compose (Shared elements)
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngRefactoring to Expressive Kotlin
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngFrom Zero to Billions: Building a High-Performance Kotlin App in Two Months
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngManaging Complexity With Ktor
• 96716bcb926741e79bb1c284a88083ca.pngPaperize — смена обоев с Kotlin, Jetpack Compose и Material 3
• 96716bcb926741e79bb1c284a88083ca.pngNext Player — видеоплеер для Android

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

• Flutter. Стиль кода — это все
• Как работают изоляты в Dart?
• Пишем собственный макрос на Dart 3.5: глубокий разбор
• Стать программистом: не с нуля не до профи (Flutter и не только)
• Полный гайд по тестированию на Flutter. Часть 3: Mocking и Stubbing + Часть 2: Простые модульные тесты
• Flutter Dev Podcast: навигация во Flutter
• Особенности сервиса Яндекс Про и будущее Flutter
• 377ae0333d0f4b7b97307c9eea5ee21a.gifXcode-Kotlin 2.0 Release
• 377ae0333d0f4b7b97307c9eea5ee21a.gifConvert Your Native Project to Kotlin Multiplatform: Why, When and How
• 377ae0333d0f4b7b97307c9eea5ee21a.gifHow to Create a Search Bar in Flutter
• 377ae0333d0f4b7b97307c9eea5ee21a.gifEnd-to-End Testing in React Native with Maestro: A Comprehensive Guide
• 377ae0333d0f4b7b97307c9eea5ee21a.gifsetState in Flutter — Exposed!
• 377ae0333d0f4b7b97307c9eea5ee21a.gifMigrating A Flutter Application From GetIt To Bloc
• 377ae0333d0f4b7b97307c9eea5ee21a.gifFree Flutter Icons by Hugeicons
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngThe Future of Flutter
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngPermission Handling in Compose Multiplatform
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngCreate a Splash Screen in Compose Multiplatform for iOS & Android
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngUniting Native SDKs into Kotlin Multiplatform
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngCompose Multiplatform on Mobile at Instabee for Over a Year

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

• Инженеры-программисты не являются (и не должны являться) техниками
• Результаты опроса разработчиков Stack Overflow 2024
• С какими проблемами сталкиваются дизайнеры, делая сервис для арабских пользователей
• Как модульное тестирование сокращает затраты программиста
• Дизайн-тренды 2025
• User-Centered Design (UCD) Process: Полное руководство
• Личный бренд разработчика
• Ход королевы: как российское шахматное приложение покорило мир
• 377ae0333d0f4b7b97307c9eea5ee21a.gifAudapolis: Edit audio files by word, not waveform
• 377ae0333d0f4b7b97307c9eea5ee21a.gif18 Ways Businesses are Launching New Products with Speech AI
• 377ae0333d0f4b7b97307c9eea5ee21a.gifThe Process That Kept Dying
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngBuilding an Effective Data Product Strategy
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngSystem Design Concepts Course and Interview Prep

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

• Топ быстрорастущих приложений в России в июле
• Как управлять вниманием пользователя
• Что такое Web-to-app
• 377ae0333d0f4b7b97307c9eea5ee21a.gifJapan App Trends 2024 Report
• 377ae0333d0f4b7b97307c9eea5ee21a.gifBuilding an Effective Data Product Strategy

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

• Самопаркующийся авто за 500 строк кода
• История планшетных компьютеров. От древних времен до конца двадцатого века
• Сеть 6G: введение в архитектуру гибридной спутниковой сети
• Mistral выпускает Large 2 как ответ ChatGPT и Llama
• Вышла Llama 3.1, самая большая открытая модель ИИ

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

© Habrahabr.ru