Introduction
Welcome to Orbis - Where you build powerful desktop applications with plugin-driven architecture
Orbis is a plugin-driven desktop application platform built with Rust and React. It enables developers to create powerful, extensible desktop applications using a declarative JSON-based UI schema system.
What is Orbis?
Orbis provides a unique approach to building desktop applications:
- Plugin Architecture: Extend functionality through WASM-sandboxed plugins
- Schema-Driven UI: Define interfaces using JSON schemas instead of writing React code
- Rust Backend: High-performance, secure backend powered by Tauri
- Two Deployment Modes: Run standalone or in client-server mode for multi-user applications
- shadcn/ui Components: Beautiful, accessible UI components out of the box
Key Features
Declarative UI System
Plugins define their UI through JSON schemas that the Orbis renderer interprets:
json example-schema.json
{
"type": "Container",
"children": [
{
"type": "Heading",
"level": 1,
"text": "Hello, {{state.username}}!"
},
{
"type": "Button",
"label": "Click Me",
"events": {
"on_click": [
{
"type": "update_state",
"path": "clickCount",
"value": "{{state.clickCount + 1}}"
}
]
}
}
]
} Plugin Sandboxing
Plugins run in WASM sandboxes with configurable permissions, ensuring security:
- Network access control
- Filesystem restrictions
- Inter-plugin communication
- Resource limits
Reactive State Management
Built-in state management with Zustand provides reactive updates:
json
{
"state": {
"username": { "type": "string", "default": "Guest" },
"clickCount": { "type": "number", "default": 0 }
}
} Architecture Overview
graph TB
subgraph Frontend["Frontend"]
UI[Schema Renderer ]
State[Zustand State ]
Actions[Action Executor ]
end
subgraph Backend["Backend"]
Commands[Tauri Commands ]
PluginRuntime[Plugin Runtime ]
Auth[Authentication ]
end
subgraph Storage
SQLite[(SQLite)]
PostgreSQL[(PostgreSQL)]
end
UI --> State
State --> Actions
Actions --> Commands
Commands --> PluginRuntime
Commands --> Auth
PluginRuntime --> Storage
Auth --> Storage When you’re ready to get started, check out the Getting Started Guide to set up your first Orbis application!