Инструмент свободно распространяется через GitHub. Перед публикацией в открытом доступе фреймворк долгое время применялся во внутренних проектах компании. Решение основано на API Dagger.
Возможности решения
Фреймворк Yatagan разработан для ускорения сборки приложений, разработанных под ОС Android. Он автоматически генерирует код, который связывает между собой части программы. К примеру, эта технология использована в «Яндекс.Браузере» для объединения модулей распознавания речи, голосового помощника «Алисы» и перевода видео.
Yatagan предназначен для разработчиков, которые используют фреймворк Dagger. Инструмент «Яндекса» задействует его API и дает пользователю ряд преимуществ. Прежде всего, Yatagan генерирует меньше кода и сокращает время сборки проекта. Также фреймворк допустимо применять к меньшему числу модулей, отвечающих за разные возможности программы.
Инструмент поддерживает специальный режим для связи некоторых частей приложения без создания кода. Функцию можно применять непосредственно в процессе разработки, потому что она лишь незначительно замедляет запуск ПО, но существенно ускоряет сборку.
Будущее проекта
Как поясняют разработчики «Яндекса», изначально Yatagan был создан для внутренних целей компании. Фреймворк использовался для ускорения сборки таких приложений, как «Яндекс.Браузер» и «Алиса». Команда изучила особенности работы Dagger и на его основе разработала собственное решение.
По словам представителей российского поисковика, скорость сборки приложений компании возросла в два раза. Однако такой результат получат не все пользователи Yatagan – ускорение зависит от многих факторов. По оценкам разработчиков «Яндекса», стоит ожидать прироста на 40-50%, даже если приложение небольшое.
Компания намерена развивать Yatagan далее. В случае интереса сообщества к фреймворку команда планирует реализовать поддержку Kotlin Multiplatform с выделенным KSP-only режимом. Для всех желающих поучаствовать в разработке инструмента «Яндекс» рекомендует заводить issue в репозитории проекта на GitHub.
Курс на open source
В 2022 году «Яндекс» выложил в свободный доступ сразу несколько инструментов, ранее применявшихся только для внутренних нужд компании:
- Userver для переноса приложений с монолитной архитектуры на микросвервисную;
- DivKit для управления мобильным интерфейсом программы с сервера;
- Managed Service for OpenSearch для быстрого поиска в больших данных.