«Яндекс» опубликовал фреймворк для быстрой сборки Android-приложений

Цифровизация Системное ПО Открытое ПО

«Яндекс» выложил в открытый доступ фреймворк Yatagan, позволяющий ускорить сборку приложений на Android. Фреймворк автоматически генерирует код, который связывает между собой части приложения. Например, в «Браузере» он объединяет модули распознавания речи, «Алисы», перевода видео и все остальные компоненты.

Yatagan будет полезен разработчикам, которые используют фреймворк Dagger. Новый фреймворк задействует API Dagger, но имеет перед ним ряд преимуществ. Во-первых, он генерирует меньше кода и тем самым сокращает время сборки. Во-вторых, его можно применять к меньшему числу модулей — частей приложения, которые отвечают за разные функции. В-третьих, в Yatagan есть специальный режим, который связывает модули без генерации кода. Этот режим можно эффективно использовать в процессе разработки: он незначительно замедляет запуск приложения, но сильно ускоряет сборку.

Илья Богин, руководитель отдела мобильной разработки «Яндекса», сказал: «Изначально мы создавали Yatagan для своих целей. Перед нами стояла задача ускорить сборку таких приложений, как «Браузер» или «Яндекс с Алисой». Тогда мы изучили особенности работы Dagger и на его основе сделали свой фреймворк. В итоге нам удалось вдвое ускорить сборку. Это не значит, что все получат такой же результат: скорость сборки зависит от многих факторов. По нашим оценкам, в среднем она может вырасти на 40–50% — причём не только в таких больших приложениях как «Браузер».

Yatagan — это не первый продукт «Яндекса» с открытым кодом для мобильных разработчиков. Этим летом компания опубликовала фреймворк DivKit, который позволяет ускорить разработку мобильных приложений и быстрее обновлять интерфейсы. Оба фреймворка можно найти на GitHub.