Build cross-platform GUI applications using 🦀 Rust.
Powered by 🎨 Skia.
Get Started Source Code Sponsor
Out of the Box Components
Freya ships with a rich set of built-in components, from simple ones like Button, Switch, and Slider to more complex ones like VirtualScrollView, Calendar, and ColorPicker.
Smooth Animations
Create transitions for colors, sizes, positions, and other visual properties. The animation API gives you full control over timing, easing functions, and animation sequences.
Rich Text Editing
Text editing capabilities that go beyond simple input fields. Build rich text editors with cursor management, text selection, keyboard shortcuts, custom formatting, and virtualization.
Code Editor
Create full-featured code editors with Rope-based text editing and tree-sitter syntax highlighting. State agnostic, so it works with any data source that can be turned into a Writable.
Routing & Navigation
Define routes, manage navigation state, and transition between different views. Build multi-page applications with a declarative routing API.
Advanced Plotting & Charts
Create charts, graphs, and interactive data visualizations directly within your application using the Plotters library integration.
WebView Integration
Embed web content into your native applications. Display web-based content alongside native UI components, or build hybrid applications with ease.
Terminal Emulation
Full PTY (pseudo-terminal) support for building integrated terminal applications, SSH clients, or development tools right inside your app.
Developer Tools
Examine the component tree in real-time with built-in developer tools. Inspect properties, debug layouts, and understand your UI structure as you build.
Ready to get started?
Build cross-platform, native GUI applications with Rust and Skia.