Blender отдал свой интерфейс разработчикам: вышел открытый фреймворк BUI
Blender отдал свой интерфейс разработчикам: вышел открытый фреймворк BUI
Интерфейс Blender десятилетиями шлифовался под задачи 3D-моделирования и считается одним из самых отзывчивых среди открытых приложений. Теперь его вынесли в отдельную библиотеку: проект BUI (Blender’s User Interface) позволяет подключать эту же систему интерфейса к приложениям на Python, Rust, JavaScript и C/C++.
В основе BUI лежит лёгкое ядро на C, отвечающее за дерево компонентов, раскладку, обработку событий ввода и отрисовку в стиле Blender. Этот код напрямую адаптирован из оригинального интерфейса 3D-редактора. Поверх ядра авторы сделали привязки для разных языков: Python (с поддержкой синтаксиса в духе tkinter и Qt), Rust (стили rsx и gpui), JavaScript/React, а также C/C++ в связке с Dear ImGui. По умолчанию рендеринг идёт через программную растеризацию на CPU, но можно включить и GPU-ускорение.
Главный аргумент проекта — производительность. По собственным замерам авторов, один и тот же код, скомпилированный на Rust, стартует примерно за 38 миллисекунд и почти не нагружает процессор в простое, а задержка до первого кадра в пять раз меньше, чем у конкурирующего фреймворка gpui. Библиотека уже опубликована в PyPI, crates.io и npm, на GitHub у неё больше тысячи звёзд и 26 форков, а вокруг проекта живёт активное сообщество в Discord. Подробности можно посмотреть на сайте.
Что это значит
Для команд, которые делают десктопные инструменты, это шанс получить проверенный годами интерфейс без необходимости писать его с нуля. Особенно интересен вариант для Rust и Python: именно там чаще всего не хватает зрелых и быстрых GUI-решений. А сама идея — вынести интерфейс из большого продукта в переиспользуемую библиотеку — хороший пример модульного подхода в open source.
Если вы интересуетесь тем, как устроены современные интерфейсы и кроссязыковые библиотеки, стоит присмотреться к подобным проектам внимательнее — узнайте больше о технологиях, которые меняют разработку.
📌 Чтобы не пропустить новые публикации, подписывайтесь там, где вам удобнее: Дзен или MAX.
💛 Если статья оказалась полезной, поддержите автора донатом.
Материал подготовлен на основе информации из открытых источников. Все права на исходные материалы принадлежат их авторам. Если вы являетесь правообладателем и возражаете против использования, свяжитесь с нами по адресу info@11st.press.