blob: d30221b2502487efa6c018ff0d52ec091d6c544a [file] [log] [blame] [view]
# Introduction
The reference section provides the following material:
* [Attributes](attributes.md) — describes the available FIDL attributes
* [Compiler](compiler.md) — describes the organization of the compiler
* [Editors](editors.md) — discusses support for FIDL in IDEs and stand-alone editors
* [FIDL Tuning Proposals](ftp/README.md) — accepted and rejected changes for FIDL
* [Grammar](grammar.md) — the FIDL grammar
* [`library zx`](library-zx.md) — the Zircon system library
* [JSON IR](json-ir.md) — a tour of the JSON Intermediate Representation (**JSON IR**) generator
* [Language](language.md) — defines the syntax of the FIDL language
* [Wire Format](wire-format/README.md) — details the byte-by-byte organization of data
* [FIDL ABI and Source Compatibility Guide](abi-compat.md) — how to evolve FIDL APIs
* [Host](host.md) — summary of the parts of FIDL that are allowed on host
### Readability rubric
Fuchsia has adopted a [readability rubric](../../../api/fidl.md) for FIDL libraries.
## Bindings
* [Specification](bindings.md)
### C
- [Documentation](../languages/c.md)
- [Echo server example](/garnet/examples/fidl/echo_server_c/)
### High-Level C++
- [Documentation](../languages/cpp.md)
- [Echo server example](/garnet/examples/fidl/echo_server_cpp/)
- [Echo client example](/garnet/examples/fidl/echo_client_cpp/)
### Low-Level C++
- [Documentation](../languages/llcpp.md)
- [Echo server example](/garnet/examples/fidl/echo_server_llcpp/)
- [Echo client example](/garnet/examples/fidl/echo_client_llcpp/)
### Dart
- [Documentation](../tutorial/tutorial-dart.md)
- [Echo server example](https://fuchsia.googlesource.com/topaz/+/master/examples/fidl/echo_server_async_dart/)
- [Echo client example](https://fuchsia.googlesource.com/topaz/+/master/examples/fidl/echo_client_async_dart/)
### Go
- [Documentation](../tutorial/tutorial-go.md)
- [Echo server example](/garnet/examples/fidl/echo_server_go/)
- [Echo client example](/garnet/examples/fidl/echo_client_go/)
### Rust
- [Documentation](../tutorial/tutorial-rust.md)
- [Echo server example](/garnet/examples/fidl/echo_server_rust/)
- [Echo client example](/garnet/examples/fidl/echo_client_rust/)
## Learning
See the [tutorial](../tutorial/README.md) to learn about FIDL service development.
FIDL Plugins exist for multiple editors and IDEs. See the
[editor page](editors.md) to learn more.
## FIDL Tuning Proposals
Substantial changes to FIDL (whether the language, the wire format, or
language bindings) are described in [FIDL Tuning Proposals]. These
decisions are recorded here for posterity. This includes both accepted
and rejected designs. [FTP-001] describes the proposal process itself.
Use the [template](ftp/template.md) when starting a new proposal.
[FIDL Tuning Proposals]: ftp/README.md
[FTP-001]: ftp/ftp-001.md