Найти в Дзене
MVVM+Coordinator+Factory: Святая Троица внедрения зависимостей
Эта статья - финальный аккорд в нашей трилогии об архитектуре. Мы уже научились наводить порядок внутри экрана с помощью MVVM и управлять потоками переходов через Coordinator. Но остался один неудобный вопрос: кто создаст все эти зависимости? Если ваш Координатор превратился в свалку из десятка сервисов, которые он просто пробрасывает дальше, значит, пришло время внедрить Factory...
7 часов назад
Kotlin Symbol Processing: создаём свой процессор
Dagger/Hilt генерирует DI‑классы, Room генерирует DAO и сущности, Moshi генерирует JSON и т.д. Это экономит тонны времени. Но долгие годы для Kotlin‑проектов приходилось использовать KAPT — Kotlin Annotation Processing, прослойку для совместимости с Java‑аннотациями. KAPT работал, но имел свои минусы. Он генерирует Java‑стабы из Kotlin‑кода и прогоняет стандартный Java Annotation Processor. Эта махинация замедляет компиляцию: сначала компилятор Kotlin должен переварить ваши исходники в промежуточные Java‑классы, потом снова всё это компилировать...
8 часов назад
Ахиллесова пята SharedPreferences и стоит ли внедрять Datastore как альтернативу
В этой статье я расскажу то, о чём не спрашивают на собесeдованиях и не рассказывают на курсах по Android-разработке — о неявной особенности Android, которая влияет на деградацию производительности и приводит к невоспроизводимым ANR в вашем приложении. Поделюсь исследованием производительности SharedPreferences, расскажу...
8 часов назад
HealthQL - SQL для HealthKit
HealthQL - язык запросов, похожий на SQL, для Apple HealthKit. Запрашивайте данные о своем здоровье, используя привычный синтаксис SQL или типобезопасный DSL Swift. SELECT avg(value), min(value), max(value) FROM heart_rate WHERE date > today() - 7d GROUP BY day Фичи: • Синтаксис, похожий на SQL — Запрашивайте HealthKit с помощью привычных операторов SELECT, FROM, WHERE, GROUP BY, ORDER BY, LIMIT • Типобезопасный Swift DSL — Гибкий API для программного построения запросов • Поддержка React Native/Expo...
8 часов назад
Обратное уменьшение зависаний
По традиции - новый еженедельный дайджест. В этом выпуске модульная архитектура и уменьшение зависаний, переходы между общими элементами и продажа рефакторинга, слежка за акулами, жестокая реальность App Store, придуманные ГОСТы ChatGPT и многое другое...
8 часов назад
Под капотом Android Automotive: Что такое VHAL и почему это сердце машины
В прошлой статье мы запустили эмулятор и убедились, что Android Automotive OS (AAOS) — это не просто зеркало вашего телефона. Это самостоятельная экосистема. Но пока мы запускали только стандартные медиа-плееры, мы скользили по поверхности. Настоящая магия начинается там, где софт встречается с «железом». В телефоне у вас есть стандартный набор датчиков: GPS, акселерометр, гироскоп. В современном автомобиле таких датчиков тысячи: от давления в шинах и температуры масла до угла поворота руля и статуса каждой двери...
3 дня назад
📺 Видео и подкасты за неделю
• (iOS En) Code-along: Experiment with coding intelligence in Xcode 26 • (iOS En) Meet agentic coding in Xcode  • (iOS En) Complex 3D Animation Effect Using SwiftUI - BlueNote's 3D Paywall Effect • (iOS En) How to build a better tagging UI in SwiftUI with Antigravity • (iOS En) SwiftUI Dynamic Island QR Code Scanner • (And Ru) kotlinx.fuzz: почему фаззинг имеет значение • (And En) Talking Kotlin #144 | Kotlin 2.3 Release Special (Audio Only) • (Crs En) How to Encrypt Local Preferences...
3 дня назад
Kotlin Android MVVM Template - шаблон Android-приложения
Kotlin Android MVVM Template - простой и легкий шаблон для приложения Jetpack Compose с полностью настроенной навигацией, Retrofit и Dagger-Hilt для вашего удобства, чтобы вы могли сосредоточиться только на важном. Фичи: • Полностью на Jetpack Compose • Jetpack Compose Navigation • Полностью настроенный Retrofit  • MVVM • Kotlin DSL • Gradle Version Catalog для инъекции...
3 дня назад
Gizmo, приложение, похожее на TikTok, для создания интерактивных мини-приложений, предлагает новый способ создания медиаконтента
Это относительно новое мобильное приложение от стартапа Atma Sciences позволяет любому создавать интерактивные проекты, используя текст, фотографии, звук и тактильные ощущения, которые затем отображаются в вертикальной ленте, подобно TikTok или Reels. Но в отличие от традиционных приложений для коротких видеороликов, в Gizmo вы не просто смотрите и прокручиваете — вы играете. Эти Gizmo — это не просто игры, а скорее цифровые игрушки — интерактивные головоломки, мемы, произведения искусства, анимация или все, что только может придумать создатель - вы можете просто ввести запрос в ИИ, чтобы объяснить свою идею на естественном языке...
3 дня назад
Android
Настоящая магия начинается там, где софт встречается с «железом». В телефоне у вас есть стандартный набор датчиков: GPS, акселерометр, гироскоп. В современном автомобиле таких датчиков тысячи: от давления в шинах и температуры масла до угла поворота руля и статуса каждой двери. Как Android-разработчику получить доступ к этому океану данных? Не будем же мы тянуть провода к OBDII разъему? Конечно, нет. Для этого Google построила мощный мост, по которому мы сегодня и пройдемся...
3 дня назад
iOS
Модульность — это не «проектирование под гипотетические платформы будущего» и не просто «быстрое перемещение блоков UI». Модульность позволяет строить так, чтобы при неизбежном изменении требований вы могли среагировать мгновенно. Время, которое вы инвестируете в модульность сегодня — это время, которое вы не потратите на переписывание всего приложения завтра. • Модульная архитектура — это не просто теория,...
3 дня назад