Об этом проекте

Dioxus представляет собой фреймворк и набор инструментов для разработки кроссплатформенных приложений на Rust из единой кодовой базы. Согласно README, один и тот же проект может быть ориентирован на веб через WebAssembly и DOM, на десктоп (macOS, Linux и Windows) через webview или экспериментально через WGPU или рендерер Freya на базе Skia, на мобильные устройства (iOS и Android) с выводом в форматах ipa и apk и прямыми вызовами Java и Objective-C, а также на серверный рендеринг. Программная модель основана на функции, возвращающей Element, и макросе rsx! для декларативной разметки, при этом управление состоянием осуществляется через сигналы; в README указано, что этот подход заимствует идеи из React, Solid и Svelte. Для fullstack-разработки фреймворк интегрируется с axum и предлагает серверные функции, экстракторы, middleware, маршрутизацию, Suspense, гидратацию, генерацию статических сайтов, инкрементальную регенерацию, WebSockets, SSE, стриминг, загрузку и скачивание файлов, а также формы, с возможностью интеграции существующего бэкенда на axum. Инструментарий предоставляется через dioxus-cli. Команда dx serve запускает приложение с интегрированным hot-reloading для разметки, стилей и ресурсов, а экспериментальная опция dx serve --hotpatch обновляет код Rust в режиме реального времени. Команда dx bundle собирает и упаковывает приложения с оптимизациями; в README упоминается генерация avif, сжатие wasm и минификация для веба. Установка возможна через скрипт установки или cargo install из git, а примеры из репозитория можно запустить с помощью cargo run --example. Проект также поставляет набор встроенных примитивных компонентов, созданных по образцу shadcn/ui и Radix Primitives, документирует HTML-элементы и слушатели с использованием документации MDN, а сайт с документацией используется в качестве тестовой площадки для новых функций и проходит непрерывную интеграцию с самим Dioxus. Dioxus описывается как проект, управляемый сообществом, с активным Discord и трекером задач GitHub, SDK, поддерживаемым сообществом, и организацией GitHub для связанных крейтов, а также небольшой основной командой на полной ставке при поддержке FutureWei, Satellite.im и программы GitHub Accelerator. Репозиторий включает переведенные README на китайский, португальский (Бразилия), японский, турецкий и корейский языки. Лицензирование двойное: MIT или Apache-2.0.