ratatui/ratatui

GitHub: ratatui/ratatui

一个 Rust 终端 UI 框架,帮助开发者快速构建跨平台的交互式命令行应用界面。

Stars: 18914 | Forks: 594

目录 - [快速开始](#quickstart) - [文档](#documentation) - [模板](#templates) - [基于 Ratatui 构建](#built-with-ratatui) - [替代方案](#alternatives) - [贡献](#contributing) - [致谢](#acknowledgements) - [许可证](#license)
![Release header](https://github.com/ratatui/ratatui/blob/b23480adfa9430697071c906c7ba4d4f9bd37a73/assets/release-header.png?raw=true)
[![Crate Badge]][Crate] [![Repo Badge]][Repo] [![Docs Badge]][Docs] [![License Badge]][License] \ [![CI Badge]][CI] [![Deps Badge]][Deps] [![Codecov Badge]][Codecov] [![Sponsors Badge]][Sponsors] \ [Ratatui Website] · [Docs] · [Widget Examples] · [App Examples] · [Changelog] \ [Breaking Changes] · [Contributing] · [Report a bug] · [Request a Feature]
[Ratatui][Ratatui Website] (_ˌræ.təˈtu.i_) 是一个用于构建终端用户界面 (TUI) 的 Rust crate。它提供了一种简单且灵活的方式在终端中创建基于文本的用户界面, 可用于命令行应用程序、仪表板和其他交互式控制台程序。 ## 快速开始 Ratatui 提供了[模板][templates]以帮助您快速入门。您可以使用 [`cargo-generate`] 命令通过 Ratatui 创建一个新项目: ``` cargo install --locked cargo-generate cargo generate ratatui/templates ``` 选择 Hello World 模板会生成以下应用程序: ``` use color_eyre::Result; use crossterm::event::{self, Event}; use ratatui::{DefaultTerminal, Frame}; fn main() -> Result<()> { color_eyre::install()?; let terminal = ratatui::init(); let result = run(terminal); ratatui::restore(); result } fn run(mut terminal: DefaultTerminal) -> Result<()> { loop { terminal.draw(render)?; if matches!(event::read()?, Event::Key(_)) { break Ok(()); } } } fn render(frame: &mut Frame) { frame.render_widget("hello world", frame.area()); } ``` ## 文档 - [Docs] - docs.rs 上该库的完整 API 文档。 - [Ratatui Website] - 解释库的概念并提供逐步教程。 - [Ratatui Forum] - 一个提问和讨论该库的地方。 - [Widget Examples] - 演示如何使用该库的示例集合。 - [App Examples] - 演示如何构建应用程序的更复杂示例集合。 - [ARCHITECTURE.md] - 解释 crate 组织结构和模块化工作区结构。 - [Changelog] - 由 [git-cliff] 利用 [Conventional Commits] 生成。 - [Breaking Changes] - 库中的重大变更列表。 您还可以观看 [EuroRust 2024 talk] 以了解 Ratatui 的常见概念以及用它能够构建什么。 ## 模板 如果您希望快速入门,可以使用 [`cargo-generate`] 从 [templates] 仓库中选择一个可用的模板: ``` cargo generate ratatui/templates ``` ## 基于 Ratatui 构建 [![Awesome](https://awesome.re/badge-flat2.svg)][awesome-ratatui] 查看网站的 [showcase] 部分,或 [awesome-ratatui] 仓库,获取使用 Ratatui 构建的精选 应用和库列表! ## 替代方案 - [Cursive](https://crates.io/crates/cursive) - 一个基于 ncurses 的 TUI 库。 - [iocraft](https://crates.io/crates/iocraft) - 一个声明式 TUI 库。 ## 许可证 该项目基于 [MIT License][License] 授权。
标签:CLI, Crate, Crossterm, Dashboard, Ratatui, Rust, Termion, TUI, WiFi技术, 可视化界面, 后端开发, 开发框架, 开源库, 搜索引擎爬虫, 文本界面, 终端用户界面, 编程, 网络流量审计