Quick start
This page does one thing: get your first interface running. If you have not added the dependencies to your own Cargo.toml yet, start with Installation and feature flags. If you are learning inside this repository, you can run the example directly.

This recording is generated by docs/tapes/hello-world.tape and runs examples/start/hello_world.rs from the repository.
Run it:
Application entrypoint
Section titled “Application entrypoint”Most applications can use .fullscreen() directly:
It creates the default CrossTerminal, enters Ratatui’s full-screen terminal mode, and restores the terminal after the render loop exits. Exit can come from Ctrl+C, or from an event handler that calls use_exit() as shown above.
If you need custom Ratatui TerminalOptions, use .render_loop(options):
Unless you are embedding a terminal, using a test backend, or working with a special viewport, start with .fullscreen(). Internally, the framework’s Terminal is only the raw event source. Keyboard and mouse events are not broadcast to all components; after each render, they are dispatched through the input layer system.
For now, remember four things:
element!(HelloWorld)creates the root declaration.#[component]connects the function component to the runtime.use_event_handlerregisters keyboard input and handlesqto exit.element!describes this frame’s UI; real component instances are preserved across frames by the runtime.
Next step
Section titled “Next step”Continue to the mental model to learn how those names cooperate. If you would rather write something interactive immediately, jump to the first moving example: the counter tutorial.