# Rust tutorials

This section includes the following tutorials for using the Rust
FIDL bindings:

## Getting started

1. [Include FIDL in a Rust project][using-fidl]
2. [Write a server][server]
3. Write a client ([async][async] or [synchronous][sync])

## Topics

* [Request pipelining][pipelining]
* [Unified services][services]

<!-- xrefs -->
[using-fidl]: basics/using-fidl.md
[server]: basics/server.md
[async]: basics/client.md
[sync]: basics/sync-client.md
[pipelining]: topics/request-pipelining.md
[services]: topics/services.md
