Tutorials
The tutorials in this section gradually walk you through how to use FIDL and run code on Fuchsia. There are no prerequisites other than completing the [Getting Started][getting-started] section and being comfortable writing code in your chosen language, but the tutorials build on each other. The progression of tutorials is as follows:
- [Compiling FIDL][compiling-fidl], which is a basic introduction to writing and building FIDL files.
- Each binding has a "getting started" section which introduces you to the
basics of FIDL and contains an ordered sequence of tutorials covering:
- Compiling FIDL into generated bindings in your language of choice and using the bindings in a project.
- Implementing a server for a FIDL protocol.
- Implementing a client for a FIDL protocol.
- Running the client and server together, on Fuchsia.
- Besides the getting started section, each binding section has an assorted set of tutorials based on the specific features of each binding. These do not have any pre-specified order.
Each tutorial is accompanied by example code in the [FIDL examples][examples] directory. Feel free to follow along by reading the code, or by deleting the example code and rewriting it yourself based on the tutorials.
If you're using C++ and wondering which tutorial to follow, take a look at the [HLCPP and LLCPP comparison doc][c-family].
- [High Level C++ (HLCPP) Tutorial][hlcpp]
- [Low Level C++ (LLCPP) Tutorial][llcpp]
- [Rust Tutorial][rust]
- [Dart Tutorial][dart]
getting-startedfidl-conceptscompiling-fidlhlcppllcpprustdartcc-familyexamples