В новом выпуске быстрый старт и дело правительства США против Apple, цена Чистой Архитектуры и Android 15 Developer Preview 2, современный способ организации зависимостей, сила последовательности, топ быстрорастущих приложений в России в марте и многое другое.
Подключайтесь!

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



iOS

• Быстрый старт, или Как ускорить запуск iOS-приложений
YandexMapKit и SwiftUI: обратный геокодинг
• Интерактивные виджет-подборки в Иви (iOS)
• Путь iOS-разработчика: как я много собеседовался и попал на стажировку
• Разработка под Apple Vision Pro
• Как встроить в TextField индикатор загрузки и кастомную View
• США подали в суд на Apple за незаконную монополию
• ЕС присматривается к Core Technology Fee
• Поваренная книга SwiftUI: тексты и шрифты — часть 1
• Apple может лицензировать ИИ-модели Google или OpenAI
•  Swift Tooling: Windows Edition
•  If you use UserDefaults in an app
•  SwiftUI Tasks Blocking the MainActor
•  Store a codable model into AppStorage
•  Oh Sh*t, My App is Successful and I Didn’t Think About Accessibility
•  Customizing a Chart in Swift Charts
•  How to support dark mode in SwiftUI programmatically
•  How SwiftUI & Concurrency Could Forward Fix Their Issues
•  How to migrate an iOS app to Bazel
•  XCUITest + SauceLabs + GitHub Actions = Incredible Mobile iOS CI/CD Automation
•  Async Unit Testing: The Comprehensive Guide
•  Mockirinha — a approach to write unit test for API requests
•  Getting Started with Structured Concurrency in Swift
•  Optimizing UI Testing Efficiency with Page Object Model
•  Our journey with Swift thus far — some notes and reflections
•  SwiftUI-Container View’s hierarchy
•  Prompt to code in Xcode with Claude 3
•  How to link to native type extensions in DocC
•  Tuist-ing TravelPerks iOS app for Faster Build Times
•  Your How-To Guide for Implementing Image Cropping and Rotating in iOS
•  Hacking Disneyland’s App to fix a Freeze
•  JSON Parsing With Pagination
•  Build 3D content for visionOS Apps
•  Long Press Button With Progress Bar
•  Create a 3D shiny card in SwiftUI
•  Sign In With Apple — Firebase
•  SwiftUI Horizontal Wheel Picker
•  JTAppleCalendar: библиотека календаря на Swift
•  Swiftfin: видеоплеер Jellyfin для iOS и tvOS

Android

Вы за это заплатите! Цена Чистой Архитектуры. Часть 1 + Часть 2
• Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 1
• Вышел Android 15 Developer Preview 2
Разработка под Android в 2024 году
• Зачем в мобильной разработке использовать Flow, если есть мощный ChannelFlow?
• Android TOML. Просто о каталогах зависимостей в Android Studio
• Современный способ организации зависимостей в Android. Version catalog (TOML) и Gradle convention plugin
• Разработка новостного приложения. Часть 4
• Мапим данные из domain в ui модуль в многомодульном проекте
•  Animations with Lookahead in Jetpack Compose
•  Adding Ktlint to your Android project
•  Optimize App Performance By Mastering Stability in Jetpack Compose
•  The Ktor Roadmap for 2024
•  Customize Clickables and Ripples
•  Stressing the JVM GC on Android
•  Automating Android App Deployment to Firebase App Distribution With Fastlane
•  Accessibility Checks with Jetpack Compose Previews
•  Jetpack Compose needs a Design System layer
•  Composition over Inheritance: My refactoring recipe
•  @Composable Modifier vs composed factory in Jetpack Compose
•  Stop Passing Event/UI-Action Callbacks in Jetpack Compose
•  Android Localization: List Formatter in Android
•  Kotlin’s JDK release compatibility flag
•  Build Wear OS application using Jetpack Compose
•  Detecting Banker Malware Installed on Android Devices
•  Optimizing CI/CD Processes with Selective Testing
•  Now in Android: 101 — Android 15 Developer Preview 2, TheAndroidShow, the Google I/O date, & more
•  How to Implement Biometric Auth in Your Android App
•  This Is My FAVORITE Error Handling Class
•  Java vs. Kotlin: The Ultimate Showdown of Virtual Threads & Coroutines
•  Gramophone: музыкальный плеер на Media3 и Material Design
•  Routine Tracker: календарь-планировщик для Android

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

• ViewModel + Kotlin Multiplatform. Пробуем нативное решение
• Тестирование пользовательского интерфейса во Flutter
• Dart 3.1 и ретроспектива программирования в функциональном стиле в Dart 3
• Рецепт приготовления кроссплатформенного мобильного видеоредактора
•  Fixing FVM with an open source mindset
•  Flutter & ML Kit 1.0: AI powered Apps
•  How to use KMP library inside the Flutter plugin?
•  The power of open-source. Making Maestro work better with Flutter
•  Flutter-Clean Architecture
•  Introducing the Redacted Widget for Flutter: Enhance Your Loading Experience!
•  Advanced Theming Techniques in Flutter: Leveraging Extensions for Dynamic UIs

Разработка

• Как растратить свою карьеру — один комфортный год за другим
• Перехват трафика мобильных приложений
• Сила последовательности в побочных проектах
• Как рождаются идеи pet-проектов?
• О вреде Test Driven Development
• Почему навигация в Google, Booking и Spotify именно такая, и какую лучше выбрать вам
• Собеседование по System Design: проектируем клон Авито
• Не работал в FAANG — не программист: полгода работы в Apple
• Программисты не нужны
• Как инсайт Netflix удвоил конверсию Gett
• GitHub предлагает автоматическое исправление уязвимостей в коде с помощью ИИ
• JetBrains запускает TeamCity Pipelines для упрощения работы с CI/CD
• Visual Studio App Center закрывается
•  Interviewing at Staff+ level
•  How Figma’s databases team lived to tell the scale
•  Vision Pro is an over-engineered «devkit»
•  Make CI/CD Part of Your Development Flow With TeamCity Pipelines
•  How Tinder Scaled to 1.6 Billion Swipes per Day
•  Empirically supported code review best practices
•  Tooltip: A small design element with a big UX impact
•  This is the moment to reinvent your product
•  How to Solve 1000 Leetcode Problems in 300 Days?
•  Will AI Devices Kill UX?
•  AutoDev: ИИ-помощник для разработки
•  Shattered Pixel Dungeon: кроссплатформенный «рогалик»

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

• Приложение для ведения бюджета Copilot переживает бум после закрытия Mint
• Epic Games запускает магазин на iOS и Android
• Топ быстрорастущих приложений в России в марте
• Sensor Tower покупает data.ai
• Приложение Apple Sports не смогло опередить конкурентов
•  Casual Gaming in 2024: Using Insights From 2023

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

• Quantization Deep Dive, или Введение в современную квантизацию
• Ищем Арнольда Шварценеггера среди мужчин, женщин и детей с помощью нейросети на С++
• Расчёт вкусов пользователя для ленты рекомендаций с применением item2vec-подхода
• Умный офис в «Москва-Сити» на Home Assistant: автоматизируем только нужное
• Демистифицируем машинное обучение – из разработчика в ML-инженеры
• Исследователи обнаружили неисправимую уязвимость в чипах Apple Silicon
• Google DeepMind разработал ИИ ассистента для футбола
• Лучшие механические клавиатуры 2024
• xAI Илона Маска открыл код ИИ-модели Grok
• Новый метод обучения ИИ от Apple сохраняет конфиденциальность

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

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