Мобильная разработка за неделю #617 (26 января — 1 февраля)
В новом дайджесте простые синтаксические приёмы и Android Developing через вайбкодинг, холодный старт Android-приложения и MVVM-курильщика, разработка браузера для iPad, тренды UX/UI-дизайна 2026, железо для ИИ и многое другое. Заходите!
Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А еще завел себе новый канал про инди, соло, пет и прочие проекты.
iOS
• Простые синтаксические приёмы в Swift
• Старые и новые проблемы Safari на iOS
• Отлаживайте Swift как Senior
• Почему PWA на iOS всё ещё не торт — и что на самом деле разрешает Apple
• Когда данных от Apple недостаточно: собираем метрики производительности UI
• Пишем игру-головоломку под macOS на SwiftUI [StarDust Collector]
• MVVM-курильщика: почему ваша ViewModel — это помойка на 2000 строк, и как это исправить
• Сохранение позиции прокрутки и состояния курсора при переходах по навигации в iOS
• Как мы адаптировали проект к Strict Concurrency Checking — Swift 6
• Как избежать утечек памяти при использовании Task, Combine, CurrentValueSubject и AsyncStream
• Apple приобрела Q.ai
• Разработчик Camo подал иск к Apple по поводу «копирования» в Continuity Camera
• Uber Asked Me This in an iOS Interview — and I Froze
• Managing simultaneous, in sequence and exclusive gestures
• Designing a Scalable App-Wide Theming System in SwiftUI
• Your Swift Tests Are Great. Until a Mutant Shows Up
• SwiftUI Navigation the Easy Way
• Swift: Array vs Set vs Dictionary — Does 1,000 Elements Change the Winner?
• Async Inside Task in Swift: The Clean, Correct, and Modern Way (Most Devs Get This Wrong)
• Domain Models vs API Models in Swift
• 10+ Things You Don’t Know About Core Data (Even If You’ve Been Using It for Years)
• The Secret to Buttery Smooth SwiftUI
• Reverse masking in SwiftUI using blend modes
• Sharing content among apps using AppEntity and Transferable protocol
• SwiftUI Sortable Grid View
• Managing Undo/Redo State in SwiftUI
• I Built a macOS Transcription App with Codex 5.2 + Xcode (Real Workflow)
• SwiftUI Pickers Deep Dive
• App Store Toolkit — инструменты локализации iOS-приложений
• Typhoon — легковесная библиотека для повторных попыток выполнения задач
Android
• Бессерверный ИИ для Android-приложений с Firebase AI Logic
• Как я решил войти в Android Developing через вайбкодинг
• Swipe-to-Dismiss в Compose Material 3
• Как я ускорил холодный старт Android-приложения в 10 раз
• Universal Ambient Light: Как я создал современное приложение для Ambilight под Android
• Kotlin и Arrow: функциональное программирование с Either, Validated и эффектами
• Безопасный обмен данными между приложениями на Android: intents, URI schemes, shared preferences
• Паттерн Memento в Android: полный разбор сохранения состояния
• Код в машине. Android Automotive: С чего начать и куда жать
• Доступ к Google Store для Huawei
• Пишу свой телеграм клиент на Android по TDD
• Построение multi-app архитектуры
• Старт карьеры в Android-разработке до 18 лет
• Compose Navigation Codelab: проходим кодлаб от Google
• В Android 17 тоже может появиться «жидкое стекло»
• Утекли скриншоты интерфейса Android для десктопов
• Google согласился выплатить $135 млн за сбор данных в Android
• How to fix the Compose preview naming problem
• Dependency Injection with Koin, interfaces and qualifiers
• Kotlin DSLs in 2026: Patterns That Stood the Test of Time
• How to Create a Tubelight Effect in Android Compose
• How I got tired of writing boilerplate in Compose and wrote my own Emmet-like plugin for Android Studio
• Kotlin Intrinsics on Android
• Don’t Block Suspend Functions
• Desugaring in Android: The Magic Potion for Modern Kotlin on Every Device
• Kotlin Idiomatic Collections — The Ultimate Guide
• Material 4.0 & Blur Effects — Elevate UIs with Modern Materials and Depth
• Cracking Android SDE2/SDE3 Interviews in 2026: Deep Dives, Code, Follow-ups
• Android: We Migrated From MVVM to MVI — Because MVVM Was Gaslighting Us
• What Kotlin 2.3 Means for Clean Architecture Projects
• Shaders on Android: From Fractals to Real UI
• Kotlin 2.0 — Main, IO, or Default? The Dispatcher Choice That Makes or Breaks Your App
• Offline-First System in Android
• Why you should delete your base classes on Android (BaseActivity, BaseViewModel, etc.)
• Making Apps Accessible with Kotlin and Compose
• Refactor Kotlin code from OO to functional — step by step, safely, and pragmatically
• Unused Return Value Checker in Kotlin 2.3
• Explicit Backing Fields in Kotlin 2.3 — What You Need to Know
• Stop using LaunchedEffect for passing an Argument to a ViewModel
• Cash Sense — Android-приложение для управления финансами
• VICE — KMP MVI фреймворк
• Yet Another Rapid Compose — интеллектуальный генератор сокращений
Кроссплатформа
• Идентификатор пакета. Боль кроссплатформы
• React Native. Часть 1: архитектура, производительность и варианты использования + Часть 2: Bare Workflow, Expo, стили и платформенные особенности
• Что нам стоит на КМП построить?
• Capacitor: от веба к мобильным приложениям. Часть 1. Миграция проекта на Capacitor
• Опасный Flutter… Или нет?
• Курс Dart и Flutter вместе
• Swift открывает рабочую группу Windows
• Building a Text Sentiment Classifier in Kotlin Multiplatform
• I Stopped Using JSON in My Flutter App — and My UI Stopped Janking
• Orient UI — Design System for Flutter without Material or Cupertino
• Building a Fully Adaptive Navigation System in Compose Multiplatform
• Why We Moved Back From React Native to Swift (After Shipping to Production)
• Built a Handwriting Scanner in Flutter — Here’s What Actually Worked
• How to Switch the App Language In KMP (Android & iOS)
• WiFi Mirror — шаринг экрана через Wi-Fi
Разработка
• Мне 16 лет, и я разработал браузер для iPad
• Навыки, которые вы теряете, пока ИИ берет на себя рутинные задачи
• Тренды UX/UI-дизайна 2026 года, которые будут повсюду
• Битва за миллисекунды: Как мы ускорили банковское приложение РСХБ в 60+ раз
• 8 трендов в дизайне интерфейса без эффектов ради эффектов
• AntiSOLID
• Эпоха «накачки и сброса» ПО
• 10 things I learned from burning myself out with AI coding agents
• How To Review Code
• Agentic development basics
• Our JetBrains Devs Switched to VSCode. They Hate VSCode.
• Today’s organisations don’t have an AI problem — they have a thinking problem
• Building a Tiny GPU to Understand AI Hardware Engineering
• Beyond the four nines: How we architect for reliability
• The Standup Is Dead. You Just Haven’t Noticed.
• After two years of vibecoding, I’m back to writing by hand
• Relational Database Design – Full Course
Аналитика, маркетинг и монетизация
• Одно небольшое изменение в тексте пейвола увеличило MRR со $100 до $700
• Самые скачиваемые и зарабатывающие приложения в мире в декабре 2025
• Skylight растет на фоне проблем TikTok
• Почему диплинки стали скрытым драйвером роста мобильных приложений
• Теперь Google Maps позволяет получить доступ к Gemini во время пеших прогулок и езды на велосипеде
• The $1B app category nobody’s paying attention to
• Why most activation metrics don’t predict who will stay (and what to use instead)
AI, Устройства, IoT
• Чистим аудиокниги от шума нейросетями
• ИК-пульт для Алисы на ESP32 своими руками
• Мониторинг и управление качеством мобильного интернета на микротике
• Железо для ИИ — AI, Hardware, GPU, Cerebras
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту