Мобильная разработка за неделю #543 (17 — 23 июня)
В новом дайджесте деплоим свои приложения из XCode на старые iPhone и изучаем Swift Testing, исследуем приложение Zomato, чтобы создать свою собственную систему уведомлений, и добавляем Flutter в приложение, выкладываем приложение в Apple Store и Google Play, разбираемся в хороших сессиях и многое другое. Подключайтесь!
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• Эти айфоны ещё будут жить: пишем и деплоим свои приложения из XCode на старые iPhone
• Введение в Swift Testing +Введение в тестирование на Swift Testing
• Swift 5.10
• iOS-приложения под защитой Apple! Или нет?
• Поваренная книга SwiftUI: изображения и иконки — Часть 4
• AccessorySetupKit будет проще подключать сторонние устройства
• У Apple «очень серьезные» проблемы с DMA
• Apple отложила разработку второй Vision Pro ради более дешевой модели
• Apple дает разработчикам возможность номинировать свои приложения на фичеринг в App Store
• Highlights of new technologies introduced at WWDC24
• New GitHub Organization for the Swift Project
• A New Direction for Testing in Swift
• Advanced Core Image
• Zoom navigation transition in SwiftUI
• Enhanced replace transition for SF Symbols in iOS 18
• Bringing native AI to your mobile apps with ExecuTorch
• Create Node Modules in Swift
• Free, on-device translations with the Swift Translation API
• Creating Stunning Dynamic Text Effects with TextRender
• A preview of our upcoming UIKitNavigation library
• Preparing your App Icon for dark and tinted appearance
• Swift Testing: Getting Started
• iOS CI/CD With Azure DevOps: Automate Your Release Process
• Explore Swift performance
• Xcode 16 Navigation Shortcuts in 12 Minutes
• SwiftUI Scroll To Hide Header View — iOS 18
• Dark mode icons in iOS 18 and Xcode 16
• Mesh Gradient & Floating Tab bar (iPadOS)
• iOS 18 Control Center Widget — SwiftUI
• Image Carousel in SwiftUI
• TPPDF — создание PDF для iOS и macOS приложений
• Coobjc — корутины для Objective-C и Swift
• CodableWrapper — улучшения для Codable
Android
• Как я исследовал приложение Zomato, чтобы создать свою собственную систему уведомлений
• Что нового в безопасности пользователей на Android: доклад с Google I/O 2024
• Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 4 (3, 2, 1)
• Как избавиться от рекурсии, или Как мой код попал в Google
• Микширование аудиопотоков в Android
• Опыт внедрения Kotlin и Compose Multiplatform в продакшн-решение
• Как мы победили техдолг в проекте Android RuStore
• Android Device Streaming на базе Firebase в бета-версии
• Modernizing Application Settings in Kotlin Multiplatform with DataStore and Koin
• Building Jetcaster on all Form Factors
• Pride in Your App — Trying Out GraphQL on Android
• Kotlin DEVEX is not great, but Amper could fix it
• Choosing Between Sealed Classes and Enum Classes in Kotlin
• Data Mapping In Kotlin Explained
• Dive into Object-Oriented Programming with Kotlin
• Jetpack Glance
• Creating flexible components in Compose
• App Architecture: Deeplinks
• Top 10 Coroutines Questions 2024
• What is faster and in which tasks? Coroutines, RxJava, Executor?
• AI development assistance — Android Developers Backstage
• Simplifying Kotlin Build Configuration with Amper
• Why we can«t have nice things in Kotlin
• Kotlin Language Features in 2.0 and Beyond
• Mastering WebRTC for Large Conference Calls on Android
• Записи докладов KotlinConf»24
• Kaml — YAML для kotlinx.serialization
Кроссплатформа
• Flutter Add-to-App: как добавить Flutter в приложение
• От ручной работы к автоматизации: наш путь к идеальной доставке сборок Flutter
• Feature-Based Flutter Architecture
• Step-by-Step Guide to Dockerizing Dart and Flutter Web for Deployment
• How to Mock HTTP Clients in Flutter Tests
• Flutter Best Practices for 2024: Build Better Apps Faster
• KMP: Essential Tools and Plugins for Kotlin Multiplatform Application Development
• Introducing Solidart: A Simplified Approach to Flutter State Management Inspired by SolidJS
• Mastering Shapes and Clipping in Flutter
• How to Get the Height and Padding of the AppBar in Flutter
• The Ultimate Guide to React Native Optimization (2024 edition)
• 10 Takeaways for React Native Devs from the App.js conference
• What Is Kotlin Multiplatform And How Does It Work?
• Building Your First Compose Multiplatform Hello World App
• 10 Takeaways for React Native Devs from the App.js conference
• Connectivity — мониторинг сети для Kotlin Multiplatform
Разработка
• WebView: быстрый релиз, никаких ревью в сторах, а минусы есть?
• Как в 2024 выложить приложение в Apple Store и Google Play
• Легким движением руки приложение становится понятным. Как мы сделали уведомления в личном кабинете более заметными
• Усталость Senior-разработчиков
• Как решать задачи на Leetcode
• ИИ в работе: как упростить жизнь мобильного разработчика
• Дали менторить джуна… Все пропало?
• Как устроен сетевой код в играх
• Pair Programming Antipatterns
• Mocking is an Anti-Pattern
• How SMS Fraud Works and How to Guard Against It
• Let«s write a video game from scratch like it«s 1987
Аналитика, маркетинг и монетизация
• WWDC 24: что нового во встроенных покупках
• Что значит хорошая сессия в приложении — разбираемся в деталях
• Butterflies — новая социальная сеть для ИИ и людей
• Исследование приложений, которые могут стать ненужными в iOS 18
• Varioqub: за Mann-Whitney замолвите слово
• Топ быстрорастущих приложений в России в июне
AI, Устройства, IoT
• Я тебя с вертухи сломаю, если ещё раз заговоришь об ИИ
• Что умеет новая модель Claude 3.5 Sonnet?
• Кажется, LLM программирует лучше меня
• JetBrains интегрирует Gemini в AI Assistant
• Принтер печатает картинки из блоков Lego
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.