Найти в Дзене
37 000 unit-тестов против Gradle: как мы добились 12-минутного прогона
Привет я Федотов Михаил, технический лидер по Android-разработке в Альфа-Банке. Сегодня хочу поговорить про performance (ускорение) unit-тестов. Я работаю на проекте Android приложения Альфа-банка для физических лиц. Для нашего большого проекта это время — больная тема, так как у нас около 800 модулей и большая часть кода полностью покрыта unit тестами (за некоторыми исключениями, например, view классы). Сейчас у нас почти 6000 spec (тест-классов) в которых 37 000 тест-кейсов...
7 часов назад
Подводные камни миграции на Swift 6, о которых стоит знать
Swift 6 вводит более строгие проверки изоляции конкурентности и поддерживает поэтапную миграцию, модуль за модулем. Хотя рекомендуемая Apple стратегия выглядит мягкой, на практике вы можете столкнуться со скрытыми сбоями во время выполнения, особенно когда в проекте одновременно сосуществуют модули на Swift 5 и Swift 6. В этой статье разберем два реальных кейса, на которых команды регулярно спотыкаются при поэтапной миграции на Swift 6. Мы свяжем их с исходниками Swift...
7 часов назад
Собеседование в Zerodha - эти вопросы полностью изменили мое представление о мобильной разработке
Этот опыт заставил меня иначе взглянуть на мобильную разработку. Во-первых, мобильные приложения больше нельзя воспринимать как «тонкий UI-слой». В высокорисковых доменах вроде финансов клиент — это часть распределённой системы. Во-вторых, управление состоянием — это не вопрос вкуса в архитектуре. Это требование корректности. В-третьих, конкурентность — не продвинутая тема «на вырост». Это обязательная база. В-четвёртых, производительность — это не про плавные анимации...
7 часов назад
Магия вне unit-тестов
В новом еженедельном дайджесте происходит что-то серьезное: наложенные окна и 37 000 unit-тестов против Gradle, новый Flutter и эксперимент с эмоциональным банкингом, Developer Knowledge API от Google, опасности в Android, подводные камни миграции на Swift и многое другое...
8 часов назад
DevAnalyzer - анализатор среды разработки
DevAnalyzer — это кроссплатформенное настольное приложение, созданное с использованием Compose Multiplatform и Kotlin Multiplatform (KMP). • Анализатор проектов — анализирует модули проекта, конфигурации Gradle, примененные плагины, зависимости и связанные файлы сборки. • Очистка сборки — сканирует проекты Android Studio на наличие папок сборки во всех модулях и позволяет выборочно удалять их для освобождения дискового пространства. • Анализатор хранилища — сканирует SDK, данные IDE, кэши Gradle и каталоги библиотек для визуализации общего использования хранилища...
8 часов назад
Магия вне Хогвартса: как делать «дорогой» UI, не перегружая GPU
Часто можно увидеть такую картину: разработчик влюбляется в концепт из Dribbble, тратит два дня на реализацию сложнейшей цепочки переходов, а потом удивляется, почему его iPhone 15 Pro начинает греться через пять минут использования приложения. Анимация - это всегда сделка с дьяволом (железом)...
3 дня назад
Flutter 3.41 — Что нового во Flutter
? Сегодня мы с радостью объявляем о выпуске Flutter 3.41, что знаменует собой важную веху на нашем совместном пути! Это захватывающее время для разработчиков; этот релиз отражает наше стремление расширить возможности нашего сообщества в формировании направления развития Flutter. Благодаря 868 коммитам от 145 уникальных участников, Flutter 3...
3 дня назад
📺 Видео и подкасты за неделю
• (iOS En) SwiftUI foundations: Build great apps with SwiftUI | Meet with Apple • (iOS En) Toolbar Header Scroll Animation Effects Using SwiftUI • (iOS En) Xcode 26.3 - Agentic Coding with Free OpenAI Account • (iOS En) Sharing App Data with Uniform Type Identifiers and ShareSheets • (iOS En) Complex UI Animation: New Xcode's OnBoarding Animation Effect Using SwiftUI • (And Ru) А это понадобится после собеседования? • (And En) What Really Is Structured Concurrency In Kotlin? - Android Coding Interview...
3 дня назад
Google запустил Developer Knowledge API
Google объявил о публичной предварительной версии Developer Knowledge API и связанного с ним MCP-сервера. Эти инструменты предназначены для предоставления "машинного" доступа к официальной документации Google для разработчиков. Developer Knowledge API призван обеспечить прямой доступ к общедоступной документации Google для разработчиков. Компания заявляет, что вместо использования потенциально устаревших обучающих данных или ненадежного веб-парсинга, разработчики теперь могут искать и получать страницы...
3 дня назад
JavaScriptKit - взаимодействия с JavaScript через WebAssembly
JavaScriptKit - Swift-фреймворк для взаимодействия с JavaScript через WebAssembly. Он предоставляет удобный способ взаимодействия с JavaScript из кода Swift, скомпилированного в WebAssembly. Он позволяет разработчикам Swift: • Получать доступ к объектам и функциям JavaScript • Создавать замыкания, которые можно вызывать...
3 дня назад
​В преддверии пятницы - вот вам прикольный робо-стартап "Дети кукурузы" Upside Robotics
Делает автономных роботов, которые ездят по полям и вносят удобрения. Занятная история как пара основателей дневала и ночевала на полях, но теперь у них есть инвестиции и, что более, интересно - 100% лояльности первых клиентов. Более того, у них стоит очередь из клиентов, так как они сокращают использование удобрений на 70%, что составляет около 150 долларов экономии на акр за сезон. Разработка • Происходит что-то серьезное • Upside Robotics сокращает использование удобрений и потери при выращивании кукурузы • Everyone Is Talking About AI Replacing Developers...
3 дня назад
Heavy Artillery: Как гарантированно разбудить Samsung и Xiaomi на Android 14 без Firebase (FCM
) ERRATA сегодня — это не сырой прототип, а система версии v1.0 Production Ready, готовая к реальной работе "в поле". За интерфейсом приложения на Kotlin стоит надежная, хоть и невидимая пользователю инфраструктура: • Свой сервер (Node.js + SQLite), который занимается только валидацией лицензий и не хранит пользовательские данные. • Telegram-бот (Telegraf), через который реализован безопасный магазин и активация ключей...
4 дня назад