https://github.com/ivanceras/sauron-native
Truly cross platform, truly native. multiple backend GUI for rust
https://github.com/ivanceras/sauron-native
gtk gui html native terminal tui
Last synced: 2 days ago
JSON representation
Truly cross platform, truly native. multiple backend GUI for rust
- Host: GitHub
- URL: https://github.com/ivanceras/sauron-native
- Owner: ivanceras
- License: apache-2.0
- Created: 2019-07-25T23:31:19.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-04-09T04:31:51.000Z (about 4 years ago)
- Last Synced: 2025-04-11T16:24:41.168Z (3 days ago)
- Topics: gtk, gui, html, native, terminal, tui
- Language: Rust
- Homepage:
- Size: 3.46 MB
- Stars: 633
- Watchers: 26
- Forks: 14
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE-APACHE
Awesome Lists containing this project
- awesome-rust - ivanceras/sauron-native - A truly native and cross platform GUI library. One unified code can be run as native GUI, Html Web and TUI. (Libraries / GUI)
- awesome-rust-cn - ivanceras/sauron-native - 一个真正的本地和跨平台GUI库。一个统一的代码可以作为本地GUI、Html (库 Libraries / GUI GUI)
- awesome-list - sauron-native
- awesome-code-for-gamedev - sauron-native - conquers all platforms ranging from desktop to mobile devices. An attempt to create a truly native, truly cross platform UI for your rust applications. (UI / Tween)
README
## WIP: Sauron-native
a rust UI library that conquers all platforms ranging from desktop to mobile devices.
An attempt to create a truly native, truly cross platform UI for your rust applications.One UI to rule them all
Sauron native extends the [sauron](https://github.com/ivanceras/sauron) web framework
which is heavily inspired by [The Elm Architecture](https://guide.elm-lang.org/architecture/).
Sauron native can target multiple GUI backends.## Currently supported backend
- gtk
- html
- tui## Screenshot




## Running the example
```bash
git submodule init
git submodule update
cd examples/cross_widget
./run_gtk.sh
./run_terminal.sh
# if you have wasm-pack installed
./start_web.sh
```## TODO General
- Depracate itui, in favor of titik which is much simpler to maintain## TODO widgets
- [X] button
- [x] checkbox
- [X] column ( vbox )
- [x] row ( hbox )
- [ ] container
- [x] image
- [ ] progress_bar
- [x] radio
- [ ] scrollable
- [ ] slider
- [ ] space
- [x] text
- [X] text_input (textbox)## TODO platforms
- [X] Linux (gtk)
- [X] Windows ([native-windows-gui](https://github.com/gabdube/native-windows-gu))
- [ ] Mac ([appki-rs](https://github.com/ryanmcgrath/appkit-rs))- [X] Browser(html)
- [X] TUI[](https://www.patreon.com/ivanceras)