Инструменты10 июля 2026 г., 05:45 МСК🤖 Auto

Dioxus 0.6: Rust-фреймворк для кроссплатформенных приложений с горячей перезагрузкой

DioxusLabs представили стабильную версию 0.6 фреймворка на Rust, позволяющего создавать веб, десктоп и мобильные приложения из единой кодовой базы с производительностью, сравнимой с React, и весом бинарников менее 50 КБ.

Баннер новости 3266

Единая кодовая база для всех платформ

Dioxus позиционируется как инструмент для создания кроссплатформенных приложений с использованием языка Rust. Фреймворк позволяет разрабатывать интерфейсы для веб-браузеров, настольных операционных систем (macOS, Linux, Windows) и мобильных устройств (iOS, Android) из одного проекта. Ключевая особенность — отсутствие необходимости в IPC (межпроцессном взаимодействии) для десктопных приложений благодаря нативному рендерингу через Webview или экспериментальный движок WGPU.

Производительность и размер бинарников

Разработчики подчеркивают высокую эффективность Dioxus, сравнивая его с популярными JS-фреймворками. "Hello world" приложение на Dioxus для веба весит около 50 КБ, что сопоставимо с React, но при этом использует WebAssembly. Для десктопных и мобильных приложений бинарные файлы оптимизируются до размера менее 5 МБ. Фреймворк использует сигнальную систему управления состоянием, заимствуя лучшие практики из React, Solid и Svelte, что обеспечивает реактивность без лишних вычислений.

Инструменты разработки и горячая перезагрузка

Основной упор сделан на скорость итераций. Команда `dx serve` запускает встроенный сервер разработки, который поддерживает горячую перезагрузку (hot-reloading) разметки и стилей за миллисекунды. Экспериментальная функция `dx serve --hotpatch` позволяет обновлять код на Rust в реальном времени без полной пересборки. Для сборки проектов используется CLI-инструмент `dx bundle`, который автоматически применяет сжатие WASM, минификацию и генерацию изображений в формате .avif.

Полноценный Fullstack-фреймворк

Dioxus глубоко интегрирован с фреймворком `axum` для Rust, предоставляя встроенные возможности для серверной части. Среди них: WebSockets, Server-Sent Events (SSE), стриминг, загрузка файлов, серверный рендеринг (SSR), гидратация и middleware. Это позволяет создавать полноценные fullstack-приложения, где клиентская и серверная логика тесно связаны, а серверные функции (Server Functions) вызываются напрямую из клиентского кода.

Платформа Метод рендеринга Особенности Размер бинарника
Web WebAssembly (DOM) SSR, Hot-reload, ~50kb ~50 KB
Desktop Webview / WGPU Нативный доступ, без IPC < 3 MB
Mobile Webview / WGPU Android (.apk), iOS (.ipa) < 5 MB

Поддержка сообщества и лицензирование

Проект развивается командой инженеров, поддерживаемой FutureWei, Satellite.im и GitHub Accelerator. Исходный код доступен под двойной лицензией MIT или Apache-2.0. Для установки CLI рекомендуется использовать `cargo binstall` или скрипт установки с официального сайта. Примеры кода доступны в репозитории GitHub, где стабильная версия 0.6 находится в ветке `0.6`, а экспериментальные функции — в `main`.

Источник: Github ↗