Яндекс опубликовал в открытом доступе DivKit — фреймворк, позволяющий ускорить разработку мобильных приложений и быстрее обновлять интерфейсы.
DivKit можно использовать в рамках подхода server driven UI, когда интерфейсом приложения управляют с сервера. Это позволяет менять интерфейс на лету, без обновления приложений. Разработчик просто описывает элементы в специальном формате на сервере, а фреймворк превращает это описание в элементы приложения – причем сразу для нескольких платформ. Разработчику не нужно писать код для каждой из них.
DivKit поддерживает три основные платформы: Android, iOS и веб. С его помощью можно менять внешний вид компонентов или добавлять что-то новое: например, галерею или счетчик лайков.
Фреймворк удобен как для создания новых продуктов, так и для развития существующих. Он содержит библиотеки для разработки серверной части на Kotlin, TypeScript и Python. Интерфейсы на DivKit отличаются плавностью и быстродействием. Кроме того, фреймворк прост в применении — с ним можно познакомиться буквально за час-два.
Илья Богин, руководитель отдела мобильной разработки:
«На разработку этого фреймворка у нас ушло пять лет. Он зародился в команде приложения Яндекс, а сейчас задействован во многих сервисах. На нем построен весь интерфейс главного экрана приложения Яндекс, его применяют в Едадиле, Маркете, Алисе, Яндекс ТВ и других сервисах. Теперь использовать и развивать этот инструмент могут все желающие».
Исходный код DivKit опубликован на GitHub под открытой лицензией Apache 2.0. Подробнее о том, как работать с DivKit, можно прочесть здесь.
Напомним, в конце июля Яндекс опубликовал исходный код и документацию фреймворка userver. Это первый открытый набор инструментов, который позволяет создавать высоконагруженные приложения на языке С++ и протестирован на масштабах уровня Яндекса.