Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
edma
Discontinued EDMA is an interactive terminal app for managing multiple embedded databases system at once with powerful byte deserializer support. [Moved to: https://github.com/lowlevelers/edma] (by nomadiz)
There are apps that are built on ratatui that support mouse already including an example in the repo[1], and crates (and some internal changes to the buffer) to support iterm/kitty/sixel based images.[2]
[1]: https://github.com/ratatui-org/ratatui/tree/main/examples#cu...
[2]: https://crates.io/crates/ratatui-image
Compared to TurboVision, Ratatui has a lot of missing things:
- Containers
- Dialog types (I'm working on this in https://github.com/joshka/tui-prompts)
- Higher order combinations of widgets (e.g. combine the scrollbar and paragraph)
- Menus
- Any event system (apps bring their own - we just handle display)
- etc.
- There's lots of things in TV that are provided as external crates (like editors, treeview, etc.)
The main thing is that Ratatui is at least right now, just the display side of things. Things to do with events or application shell aren't built-in. This somewhat stems from the immediate vs retained mode approach to the library, but this may change in the future.
great to see tui-rs can be continued in this way!
should try ratatui for glicol-cli at some point:
https://github.com/glicol/glicol-cli
The worst part is there's absolutely nothing stopping anyone for making the same principles work in the browser. Zero. Nada. It's trivially proven by compiling apps to wasm and running in a terminal emulator but there's nothing stopping anyone from building react-terminal-like or whatever except that... I don't even know what since we've got https://github.com/Textualize/textual-web.
People have thrown out decades of UX research and engineering out of the window because it isn't cool anymore. Makes me sick.
We're working on a new TUI for managing local and remote executions of optimization solvers like CBC, HiGHS, and our own hardware-accelerated solvers [2].
Ratatui is a delight to work with. It uses immediate mode rendering [3] which feels very intuitive compared to other TUI frameworks.
[1] https://github.com/integrated-reasoning/napali
I think a lot of Ratatui apps will tend to land on similar concepts for your app. There's a few good examples of apps using a component approach rather than just widgets that I'm aware of:
- https://github.com/sxyazi/yazi
- https://github.com/TaKO8Ki/gobang
- https://github.com/nomadiz/edma
Perhaps the intuitive crate would make a good abstraction on top of Ratatui?
I think a lot of Ratatui apps will tend to land on similar concepts for your app. There's a few good examples of apps using a component approach rather than just widgets that I'm aware of:
- https://github.com/sxyazi/yazi
- https://github.com/TaKO8Ki/gobang
- https://github.com/nomadiz/edma
Perhaps the intuitive crate would make a good abstraction on top of Ratatui?
I think a lot of Ratatui apps will tend to land on similar concepts for your app. There's a few good examples of apps using a component approach rather than just widgets that I'm aware of:
- https://github.com/sxyazi/yazi
- https://github.com/TaKO8Ki/gobang
- https://github.com/nomadiz/edma
Perhaps the intuitive crate would make a good abstraction on top of Ratatui?
There are apps that are built on ratatui that support mouse already including an example in the repo[1], and crates (and some internal changes to the buffer) to support iterm/kitty/sixel based images.[2]
[1]: https://github.com/ratatui-org/ratatui/tree/main/examples#cu...
[2]: https://crates.io/crates/ratatui-image
Compared to TurboVision, Ratatui has a lot of missing things:
- Containers
- Dialog types (I'm working on this in https://github.com/joshka/tui-prompts)
- Higher order combinations of widgets (e.g. combine the scrollbar and paragraph)
- Menus
- Any event system (apps bring their own - we just handle display)
- etc.
- There's lots of things in TV that are provided as external crates (like editors, treeview, etc.)
The main thing is that Ratatui is at least right now, just the display side of things. Things to do with events or application shell aren't built-in. This somewhat stems from the immediate vs retained mode approach to the library, but this may change in the future.