В новом дайджесте обсуждаем прошедшую I/O, проводим карантин UI-тестов и смотрим как Notion ускорил запуск на Android в 2 раза, отмечаем новые Flutter и Dart, боремся с догмами программирования и многое другое. Подключайтесь!

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



iOS

• Карантин UI-тестов в iOS
• Просим ИИ сделать рефакторинг Swift кода
• SwiftUI: наконец-то пора? Опыт разработки на SwiftUI в контексте UIKit приложения
• Что нам показывают карты
• Почему получение пакетов в Swift Package Manager занимает слишком много времени
• Как зарегистрировать Apple Developer в App Store для физических лиц. Гайд 2024 года
Добавляем объём в visionOS-приложение
• SwiftUI уроки (часть 12)
• TextField с автодополнением
• SwiftUI-навигация: просто, нативно и декларативно
• Удивительный мир внутри .ipa
• Core Motion framework в финансовых приложениях
• Как Apple боролась с мошенничеством в App Store в 2023
• Вышла iOS 17.5 с поддержкой веб-распространения приложений
•  Apple started cheating me out of App Store bundle purchases
•  Use and Then Reduce Open Source Dependencies
•  A Deep Dive into Dynamic Widget — Swiggy’s Server Driven UI System
•  How to reduce iOS App Size
•  How to hide API keys in Xcode code Swift UI — The most efficient way
•  Swift Concurrency: Safeguarding Data with @Sendable and Actors
•  Animations: Bringing the Host Passport to Life on iOS
•  Migrating from CocoaPods to Tuist at Playtomic
•  Preventing Retain Cycles in Automated Tests Using addTearDown
•  Pointfree’s SyncUps App: A Great Example Architecture for a SwiftUI App
•  The Dark Side of Unidirectional Architectures in Swift
•  How to profile your app’s performance and Main Thread usage with Instruments and os_signposts
•  Boost Performance by Over 100x Using the Accelerate Framework
•  React to network status updates in SwiftUI using AsyncSequence
•  Building a Swift package using the Swift 6 language mode
•  Using materials with SwiftUI
•  Refactoring to TipKit from AppStorage and Custom Views in SwiftUI
•  Unlock the power of grammatical agreement
•  Animate symbols in your app
•  Inspectors in SwiftUI: Discover the details
•  Demystify SwiftUI performance
•  SwiftUI Stacked ScrollView
•  Syncing ScrollView’s + Swipe To Dismiss
•  SwiftSecurity — современный фреймворк для Keychain API
•  Atoms — атомарное управление состоянием и инъекция зависимостей для SwiftUI

Android

• Второй пошел: Google опубликовала новую бета-версию Android 15
• Как я доказывал Google, что мне нужны данные юзеров, но я не скамер
• Notion на Android теперь запускается в два раза быстрее
• Как мы реализовали кнопку со свайпом на Jetpack Compose
• Как мы отслеживаем просадки FPS в Альфа-Мобайл?
• Как написать свой клиент для YouTube, не привлекая внимания санитаров
• Опыт публикации Андроид приложения в Google Play независимым разработчиком в 2024 году
• Копаемся в встроенном приложении камеры старого Xiaomi. Часть 2
• Открываем AndroidFragment: перенос навигации из Фрагментов в Compose
• Путешествие к центру Композиции
• Scout: новый фреймворк для ускоренного и безболезненного управления зависимостями
• Компиляторные плагины: модификация и анализ Сompose
• Как я code coverage внедрял да Gradle plugin для baseline писал
• Больше приложений в Android для автомобилей
• Project Gameface вышел на Android
• Более частые обновления для Android Studio
•  Cutting some Slack, for leaks and giggles
•  Preparing for K2
•  Leveraging Lazy Modules and Background Loading in Kotlin with Koin
•  An Updated Primer on Android Navigation
•  Conscious Compose optimization 2: Tackling composition
•  Exploring Advanced MVI Pattern in Android App Development
•  The Art of Logging in Android Apps
•  “if vs let” in Kotlin
•  Android: Use Cases hell in MVVM architecture
•  Kotlin Design Patterns: Flyweight
•  Understanding IPC in Android
•  Let Kotlin do the code for you — Part III: Mockito, Mockk, and Code Generation
•  Compose Navigation 2.8.0
•  Android Support for Kotlin Multiplatform
•  Google I/O 2024 — Android Keynotes
•  Injecting Composables with Dagger without losing it
•  Mastering Compose: Custom Layout and Scoped Modifiers
•  Compose Preview Screenshot Testing
•  What’s New in Jetpack Compose at Google I/O 2024
•  What’s new in Android
•  What’s new in Google Play
•  Все видео Google I/O 2024
•  Мобайл на Google I/O 2024
•  Все воркшопы Google I/O 2024
•  Дизайн на Google I/O 2024
•  Type-Safe Navigation with the OFFICIAL Compose Navigation Library
•  How to Implement a Shared Element Transition In Jetpack Compose
•  Mastering Kotlin in 7 Steps
•  Looking Forward to Kotlin 2.0
•  TetherFi — шаринг интернета
•  Navigation Compose Type — type-safe аргументы для Jetpack Navigation Compose

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

• DivKit теперь и для Flutter. Рассказываем об особенностях BDUI-фреймворка Яндекса
• Почему я верю в востребованность кроссплатформы и Flutter в частности?
• Ключи во Flutter
• Вышел Dart 3.4
Flutter 3.22: что нового
• Навигация в приложениях Flutter: разбираем Navigator, Router и лучшие библиотеки
• Flutter 3.22 — Что нового во Flutter?
• Анонс Dart 3.4
• Flutter и натив. Пример с Яндекс OAuth
• Полнодуплексное соединение во Flutter
•  How to publish a Kotlin Multiplatform iOS app on App Store with GitHub Actions
•  Flutter: Choosing Mobile UI Tests Automation Tool
•  I built the same app with Flutter, React Native, and Ionic
•  Say Goodbye to Future.wait([]) in Dart
•  How to use Coil in Compose Multiplatform
•  Get Dynamic Widget Size in Flutter
•  How to Share ViewModels in Compose Multiplatform (with Dependency Injection!)

Разработка

• Фокус на безопасность мобильных приложений
• Мантры программирования — это не догмы, а выражения
• Большой обзор обновлений iOS и Android
• Особенности построения интерфейса для разных платформ
• Грабим Дома на Собеседовании в Google •
• Avito QA meetup
• JetBrains выпускает Aqua — IDE для автоматизации тестирования
• Google открывает доступ к Home API
• Самая мощная ИИ-модель для создания изображений и чат-боты для работы, учёбы и поиска. Что представил Google на I/O 2024
• Итоги I/O 2024
• Developer Keynote Google I/O 2024: официальная поддержка KMP, развитие Gemini и AI в Андроиде
• Как изменились зарплаты айтишников за 2023 год
• Как я слил 3 млн руб и 2 года на мобильное приложение
•  You probably don’t need microservices
•  Stand Out and Dare to Disagree
•  Quantum Computing Course – Math and Theory for Beginners

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

• Топ быстрорастущих приложений в России в мае
• Маркетологи в мобайле: Ярослава Адаменко (М.Видео и Эльдорадо)
• Тенденции рынка игровых приложений от Adjust и AppLovin
• В App Store растет Airbuds, виджет с музыкой друзей
• Microsoft запустит мобильный магазин игр июле

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

• GPT-4o: больше мощи, но меньше цены. Почему так и что на самом деле умеет модель?
• Открыт конкурс Gemini API с призовым фондом в $3 млн
• Google запускает Firebase Genkit — открытый фреймворк для создания приложений на базе ИИ

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

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