Найти в Дзене
Еще одна статья в копилку "идеальная архитектура — это миф
". Достаточно хорошая архитектура — это подход, в котором вы знаете, что нужно делать, что отложить, а что вообще не стоит использовать. Начните с простого. Когда возникнут проблемы, добавляйте уровни. И помните, что отзывы о вашем приложении в Play Store пишут пользователи, а не ваш граф внедрения зависимостей. Разработка • Software Is Dead — Long Live Software Маркетинг • Новая функция Audible синхронизирует электронные и аудиокниги • Google добавляет в приложение Gemini возможности генерации музыки Кроссплатформа • Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений...
7 часов назад
Как я за 2,5 месяца написал строительный калькулятор на Flutter с ИИ-прорабом, 45+ калькуляторами и 8000 тестами
В этой статье расскажу про архитектуру, покажу реальный код и объясню, почему переписал систему калькуляторов с нуля на полпути разработки, как впихнул ИИ с характером ворчливого прораба через OpenRouter и зачем написал 8180 тестов на проект, который делает один человек...
16 часов назад
Расцвет "достаточно хорошей" архитектуры в Android
Идеальная архитектура — это миф. Достаточно хорошая архитектура — это дисциплина, знающая, что нужно делать, что отложить, а что вообще не стоит использовать. Начните с простого. Когда возникнут проблемы, добавляйте уровни. И помните, что отзывы о вашем приложении в Play Store пишут пользователи, а не ваш граф внедрения зависимостей...
16 часов назад
Не убий: Гайд по UI/UX в Android Automotive, за который вас не посадят
В прошлой серии мы научились вытаскивать из машины данные. Мы знаем скорость, обороты двигателя и даже какая дверь открыта. Руки чешутся вывести всё это на огромный экран в 4K, добавить анимаций, графиков и запустить YouTube на фоне, да? Статья: https://habr...
17 часов назад
ListKit - быстрый diffable data source для UICollectionView
ListKit - быстрый, написанный на чистом Swift источник данных с возможностью сравнения изменений (diffable data source) для UICollectionView. Полная замена UICollectionViewDiffableDataSource от Apple с алгоритмом сравнения изменений Хекеля со сложностью O(n) и высокоуровневым декларативным API (совместим с NSDiffableDataSourceSnapshot)...
18 часов назад
После традиционной головоломки, Google объявил сегодня, что конференция I/O 2026 состоится 19-20 мая
В программе I/O 2026 — «ключевые доклады от руководителей Google, неформальные беседы, демонстрации продуктов и многое другое», начало в 10:00 по тихоокеанскому времени. Ожидаются «последние достижения в области ИИ и обновления продуктов компании, от Gemini до Android и других». С 2016 года Google проводит I/O на концертной площадке рядом со своей штаб-квартирой в Калифорнии, в этом году это снова двухдневное мероприятие. Google опубликует программу и список сессий ближе к дате проведения I/O 2026. Онлайн-регистрация бесплатна и начинается сегодня. Разработка • A Client Paid Me $1000 for a ‘Simple’...
1 день назад
Ошибка на 12 миллиардов долларов: почему Apple отказалась от сторибордов (и почему большинство команд до сих пор их используют
) Если вам это знакомо — ночные конфликты слияния, загадочные сбои Interface Builder, кошмары в онбординге — вы не одиноки. Apple тихо признала эти проблемы и уже много лет отговаривает разработчиков от использования сторибордов (Вы когда-нибудь замечали, как в недавних примерах кода WWDC используется SwiftUI или программный пользовательский интерфейс, без файла .storyboard? В стандартном шаблоне приложения SwiftUI даже нет файла сториборда). В этом подробном обзоре мы рассмотрим реальные...
1 день назад
Под капотом: MessageQueue без блокировок в Android 17
В Android 17 Google полностью переосмыслил работу базового механизма обработки сообщений в приложениях: MessageQueue. Ранее эта очередь использовала один блокирующий lock для синхронизации, что могло приводить к блокировкам UI-потока (например, при одновременной работе фоновых задач) и вызывать задержки в работе интерфейса. Новая реализация под названием DeliQueue отказалась от традиционных блокировок и вместо них применяет lock-free структуры данных: производители сообщений пушат задачи в lock-free...
1 день назад
В Android 17 Google полностью переосмыслил работу базового механизма обработки сообщений в приложениях: MessageQueue
Ранее эта очередь использовала один блокирующий lock для синхронизации, что могло приводить к блокировкам UI-потока (например, при одновременной работе фоновых задач) и вызывать задержки в работе интерфейса. Новая реализация под названием DeliQueue отказалась от традиционных блокировок и вместо них применяет lock-free структуры данных: производители сообщений пушат задачи в lock-free стек, а единственный поток UI (Looper) затем переносит их в собственную упорядоченную очередь (min-heap). Это позволяет значительно снизить конкуренцию за ресурсы, улучшить отзывчивость интерфейса и уменьшить количество пропущенных кадров...
1 день назад
ADB Device Manager - двойное управление Android для Windows
ADB Device Manager объедините Android и Windows в единую систему управления. Он позволяет, используя два режима (режим ADB и режим приложения), выполнять следующие действия: • Зеркальное отображение экрана вашего Android-устройства на Windows • Трансляция звука с устройства на ПК • Управление приложениями, уведомлениями, звонками и SMS • Запуск Android в режиме рабочего стола • Передача...
1 день назад
Практический опыт работы с ИИ от одного из стартапов (видимо, как раз Spotify
:)). Их стратегия — это не «использовать ИИ для ускорения кодирования». Это полная инверсия. Теперь работу выполняют агенты, а не инженеры. Инженеры следят за тем, чтобы агенты могли хорошо выполнять эту работу. То, что они делают — это самая наглядная версия того, как на самом деле работает инженерия сегодня. Разработка • Никакого программирования до 10 утра Маркетинг • Как построить e-commerce-продукт на данных: опыт крупных брендов и полезные инструменты • We stopped forcing the subscription model on our users. Here is what happened. Кроссплатформа • KMP vs CMP — The Difference Most Developers...
2 дня назад
Осваиваем шейдеры Metal
В отличие от модели анимации, управляемой представлениями в SwiftUI, Metal работает на уровне пикселей. Это позволяет создавать эффекты и анимации, управляемые временем, математическими функциями и данными, а не изменениями в иерархии представлений. Таким образом, работа с Metal требует изменения перспективы: от представлений...
2 дня назад