# Dart tutorials

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

## Getting started

1. [Include FIDL in a Dart project][using-fidl]
2. [Write a server][server]
3. [Write a client][async]

## Topics

* [Request pipelining][pipelining]

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