Мобильная разработка за неделю #584 (14 — 20 апреля). Аналитика мобильных приложений.. Аналитика мобильных приложений. Монетизация мобильных приложений.. Аналитика мобильных приложений. Монетизация мобильных приложений. Разработка мобильных приложений.. Аналитика мобильных приложений. Монетизация мобильных приложений. Разработка мобильных приложений. Разработка под Android.. Аналитика мобильных приложений. Монетизация мобильных приложений. Разработка мобильных приложений. Разработка под Android. Разработка под iOS.
В этом выпуске обеспечение архитектурных правил с SwiftLint и муляция бесконтактных карт, тестирование Android-приложений в масштабе Netflix и разрешения в Appium, полная инструкция по разработке PWA, защита данных пользователей от скриншотов, анти-этичный ИИ и многое другое. Заходите!

Мобильная разработка за неделю #584 (14 — 20 апреля) - 1

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

Мобильная разработка за неделю #584 (14 — 20 апреля) - 2 iOS

Расширенные архитектурные правила в SwiftLint
Как работать с запросами разрешений в Appium: распознаём, что от нас хочет iOS
Пишем свой дебаунсер на Swift
От модуляризации к Clang и обратно
Суперапп с чистого листа
А так ли нужна Swift Modern Concurrency?
Мгновенный фидбэк: как оперативно получать отзывы о приложении в App Store
Swift Reduce: объединение элементов в одно значение
В мобильной ферме Selectel появилось тестирование приложений для iOS
Интегрируем TimelineView в SwiftUI-приложение
Мобильная разработка за неделю #584 (14 — 20 апреля) - 3 Showing What’s New Screens using @AppStorage
Мобильная разработка за неделю #584 (14 — 20 апреля) - 4 Plurals with SwiftUI
Мобильная разработка за неделю #584 (14 — 20 апреля) - 5 Make your app content show on Spotlight
Мобильная разработка за неделю #584 (14 — 20 апреля) - 6 How to inspect .ipa files and secure your iOS app from common mistakes
Мобильная разработка за неделю #584 (14 — 20 апреля) - 7 SwiftUI Alert Guide + Code Examples
Мобильная разработка за неделю #584 (14 — 20 апреля) - 8 SwiftUI Colors – Exploring Overlooked Features
Мобильная разработка за неделю #584 (14 — 20 апреля) - 9 Gojek’s Journey to 3x Faster iOS Builds with Bazel
Мобильная разработка за неделю #584 (14 — 20 апреля) - 10 Swift Reduce: Combining elements into a single value
Мобильная разработка за неделю #584 (14 — 20 апреля) - 11 How to Create a Custom Loading Spinner in SwiftUI
Мобильная разработка за неделю #584 (14 — 20 апреля) - 12 Building an iOS Stickers App
Мобильная разработка за неделю #584 (14 — 20 апреля) - 13 Mastering Debouncers in iOS with Swift
Мобильная разработка за неделю #584 (14 — 20 апреля) - 14 SOLID Principles in Swift
Мобильная разработка за неделю #584 (14 — 20 апреля) - 15 Using .onAppear and .onDisappear in your SwiftUI
Мобильная разработка за неделю #584 (14 — 20 апреля) - 16 Using Instruments to profile a SwiftUI app
Мобильная разработка за неделю #584 (14 — 20 апреля) - 17 Introducing Swift Testing. Scoping.
Мобильная разработка за неделю #584 (14 — 20 апреля) - 18 Tracking Screen Views in SwiftUI with a Custom ViewModifier
Мобильная разработка за неделю #584 (14 — 20 апреля) - 19 Swift Charts: Animate Marks
Мобильная разработка за неделю #584 (14 — 20 апреля) - 20 iOS 18.4 — dlsym considered harmful
Мобильная разработка за неделю #584 (14 — 20 апреля) - 21 Drawing graphics with Canvas
Мобильная разработка за неделю #584 (14 — 20 апреля) - 22 Swift Measurements
Мобильная разработка за неделю #584 (14 — 20 апреля) - 23 SwiftUI Network Observer — Network Monitor
Мобильная разработка за неделю #584 (14 — 20 апреля) - 24 Animated Redacted Modifier — SwiftUI
Мобильная разработка за неделю #584 (14 — 20 апреля) - 25 Crafting Effective SwiftUI ViewModifiers
Мобильная разработка за неделю #584 (14 — 20 апреля) - 26 SwiftUI Skeleton View — Skeleton Loading Animations
Мобильная разработка за неделю #584 (14 — 20 апреля) - 27 ToastKit — информационные тосты
Мобильная разработка за неделю #584 (14 — 20 апреля) - 28 Kurozora — платформа аниме
Мобильная разработка за неделю #584 (14 — 20 апреля) - 29 StorySDK — истории для приложения

Мобильная разработка за неделю #584 (14 — 20 апреля) - 30 Android

Тестирование Android-приложений в масштабе Netflix
• Сканирование баркодов c помощью камеры и внешних устройств в Compose
Как я сократил время сборки Gradle на 50%
• Как работает Robolectric и почему это важно знать
XML vs Compose, не можете решить? Часть 1: ВведениеЧасть 2: Что выбрать, и что нужно знать перед выбором
Универсальное демоприложение
Не два байта переслать: эмуляция бесконтактных карт на мобильных устройствах
Архитектурное собеседование Android разработчика (все собеседования)
Устройство Android Music SDK или как мы встроили музыку в суперапп-приложение
Интеграция MediaPipe в Android-приложение видеоконференцсвязи
От дашбордов к более глубокому пониманию приложений: обновления Play Console
Google внедряет функцию безопасности с автоперезагрузкой в Android
Google прекратил поддержку Android 12
Мобильная разработка за неделю #584 (14 — 20 апреля) - 31 Preloading Media: A Future-Forward Approach with ExoPlayer
Мобильная разработка за неделю #584 (14 — 20 апреля) - 32 Debugging Coroutines in IntelliJ and Android Studio
Мобильная разработка за неделю #584 (14 — 20 апреля) - 33 Enhancing Note-Taking with Jetpack Compose
Мобильная разработка за неделю #584 (14 — 20 апреля) - 34 Adaptive Camera: Smooth Tabletop Mode with Animations
Мобильная разработка за неделю #584 (14 — 20 апреля) - 35 Composition Over Inheritance: A Kotlin Perspective
Мобильная разработка за неделю #584 (14 — 20 апреля) - 36 Performance Optimization in Jetpack Compose
Мобильная разработка за неделю #584 (14 — 20 апреля) - 37 runCatching vs. try-catch in Kotlin: A Comprehensive Error Handling Comparison
Мобильная разработка за неделю #584 (14 — 20 апреля) - 38 Friendly Captcha 2.0 in Jetpack Compose with Hilt: A Ready-to-Use Solution
Мобильная разработка за неделю #584 (14 — 20 апреля) - 39 Making Android Code Cleaner with Use Cases: A Practical Approach Using Kotlin Coroutines
Мобильная разработка за неделю #584 (14 — 20 апреля) - 40 IntelliJ IDEA 2025.1 Released
Мобильная разработка за неделю #584 (14 — 20 апреля) - 41 Securing Android: Behind a few seconds of payment transaction…
Мобильная разработка за неделю #584 (14 — 20 апреля) - 42 Understanding the Internals of Side-Effect Handlers in Jetpack Compose
Мобильная разработка за неделю #584 (14 — 20 апреля) - 43 Avoid Redundant Network Checks in Android: Smart Offline-Aware API Handling
Мобильная разработка за неделю #584 (14 — 20 апреля) - 44 Handling UI Actions the Right Way in Kotlin ViewModels
Мобильная разработка за неделю #584 (14 — 20 апреля) - 45 Creating a Custom Observable Pattern with Lifecycle Awareness in Android
Мобильная разработка за неделю #584 (14 — 20 апреля) - 46 Clean Architecture: The ONE Change That Transforms Use Cases From Terrible to Super Useful
Мобильная разработка за неделю #584 (14 — 20 апреля) - 47 Troubleshooting Gradle and Maven builds with Develocity
Мобильная разработка за неделю #584 (14 — 20 апреля) - 48 Simple String Resources Obfuscation — пример обфускации константных строк
Мобильная разработка за неделю #584 (14 — 20 апреля) - 49 WriteBuddy — помощник в ведении заметок на Compose

Мобильная разработка за неделю #584 (14 — 20 апреля) - 50 Кроссплатформа

• Разрабатываем PWA. Полная инструкция по работе с Web App Manifest и Service Worker
• Использование wildcard-переменной _ в Dart 3
• Telegram Web App: Интеграция с Flutter
• Offline First в мобильных приложениях. Кэширование
Как Kotlin Multiplatform изменил наши процессы
Мобильная разработка за неделю #584 (14 — 20 апреля) - 51 Why did you choose Flutter instead of React Native?
Мобильная разработка за неделю #584 (14 — 20 апреля) - 52 Flutter — Clean Architecture Repository Pattern
Мобильная разработка за неделю #584 (14 — 20 апреля) - 53 ViewModel in Flutter
Мобильная разработка за неделю #584 (14 — 20 апреля) - 54 Persistent State Management in Flutter with hydrated_bloc
Мобильная разработка за неделю #584 (14 — 20 апреля) - 55 Understanding the Flutter Widget Lifecycle: A Practical Guide
Мобильная разработка за неделю #584 (14 — 20 апреля) - 56 Build an agent-powered travel planning app with Generative AI
Мобильная разработка за неделю #584 (14 — 20 апреля) - 57 React Native Isn’t as Popular as You Think
Мобильная разработка за неделю #584 (14 — 20 апреля) - 58 Vibe Coding an Online Card Game with Flutter

Мобильная разработка за неделю #584 (14 — 20 апреля) - 59 Разработка

• GrapheneOS: Pixel, но не Google
• Какой фреймворк выбрать для MVP стартапа: опыт разработчика и фаундера
• XR на производстве: Инженерные хитрости создания VR-тренажеров для металлургов
• Разработали мобильное приложение для криптобиржи EVEDEX — функциональное решение для быстрой и безопасной торговли
• Не подсматривай: защищаем данные пользователей от скриншотов
Fusion, или Как мы реализовали нашу версию BDUI
Что показали на АврораКонф?
Crystal – это Ruby без недостатков
Amazon планирует внедрить ОС Vega в телевизоры
Copilot Studio теперь может «использовать компьютер» для запуска ИИ-агентов
OpenAI представила Codex CLI — открытый программный агент для командной строки
Copilot Code Review теперь доступен для всех
Мобильная разработка за неделю #584 (14 — 20 апреля) - 60 The Best Programmers I Know
Мобильная разработка за неделю #584 (14 — 20 апреля) - 61 Overclocking dbt: Discord’s Custom Solution in Processing Petabytes of Data
Мобильная разработка за неделю #584 (14 — 20 апреля) - 62 Every Caching Strategy Explained in 5 Minutes
Мобильная разработка за неделю #584 (14 — 20 апреля) - 63 How to Avoid Massive Blows When Releasing New Features
Мобильная разработка за неделю #584 (14 — 20 апреля) - 64 Your App Codebase is Slowly Turning Into a Monster
Мобильная разработка за неделю #584 (14 — 20 апреля) - 65 Ktor vs. Spring Boot — Which Backend Framework Is Best For Mobile Developers?
Мобильная разработка за неделю #584 (14 — 20 апреля) - 66 Getting started with Agent Development Kit

Мобильная разработка за неделю #584 (14 — 20 апреля) - 67 Аналитика, маркетинг и монетизация

21 000+ установок и выход в топ RuStore: кейс продвижения мобильной игры от Rocket10 
Apple переименовала Search Ads в Apple Ads
Самые скачиваемые и зарабатывающие приложения в мире в марте 2025

Мобильная разработка за неделю #584 (14 — 20 апреля) - 68 AI, Устройства, IoT

• Яндекс.Разврат или анти-этичный ИИ
• Помощник читателя: визуализируем сюжет
• Популярные API для работы с искусственным интеллектом
Оповещение о РО через колонки Яндекса (Ну или в целом получение сигналов в УДЯ)
18% музыки, загружаемой в Deezer, генерируется искусственным интеллектом
OpenAI разрабатывает свою социальную сеть
Новые модели ИИ GPT-4.1 от OpenAI сосредоточены на программировании
Лучшие фитнес-трекеры, которые можно купить прямо сейчас
Мобильная разработка за неделю #584 (14 — 20 апреля) - 69 Hacking a Smart Home Device

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

Автор: RoboForm

Источник

Рейтинг@Mail.ru
Rambler's Top100