blob: 9754995116a3693c773c8991f0773ee7b6bb0034 [file] [log] [blame] [view]
# FIDL
FIDL (**F**uchsia **I**nterface **D**efinition **L**anguage) is the IPC system for Fuchsia.
## Start here
The [language tutorials][tutorials] presents a simple "*Hello, world*" client
and server, showing the FIDL language definitions and continuing with sections
specific to each supported target language (e.g., C++, Dart).
Read the [concepts doc][concepts] to get a brief overview of what FIDL is,
including some of its design goals, requirements, and workflow.
## Developer Guides
* [Running FIDL][cli] — quick CLI overview of the various programs in the
FIDL toolchain
* [Style Guide][style]
* [Designing APIs][designing-apis]
* [ABI and API compatibility guide][abi-api-compat] — details the possible
transitions for each FIDL type, taking into account ABI and API compatibility
* [Maxing Out Pagination][pagination] — help on determining how much data
can fit into a single message
* [C Family Binding Comparison][c-family] — how to decide which binding
(HLCPP, LLCPP, or C) to use
## References
The [bindings reference][bindings-ref] includes references of generated code in each binding and the FIDL
utility libraries available to each language.
The [language reference][language-ref] is for everything else, like the
[wire format][wire-format] and [FTPs][ftps].
## Contributing
Please read the [contributing doc][contributing] for more information.
<!-- xrefs -->
[cli]: /docs/development/languages/fidl/guides/cli.md
[style]: /docs/development/languages/fidl/guides/style.md
[designing-apis]: /docs/development/languages/fidl/guides/api-design.md
[abi-api-compat]: /docs/development/languages/fidl/guides/abi-api-compat.md
[pagination]: /docs/development/languages/fidl/guides/max-out-pagination.md
[c-family]: /docs/development/languages/fidl/guides/c-family-comparison.md
[tutorials]: /docs/development/languages/fidl/tutorials/overview.md
[concepts]: /docs/concepts/fidl/overview.md
[contributing]: /docs/contribute/contributing-to-fidl
[bindings-ref]: /docs/reference/fidl/bindings/overview.md
[language-ref]: /docs/reference/fidl/language/language.md
[wire-format]: /docs/reference/fidl/language/wire-format
[ftps]: /docs/contribute/governance/fidl/README.md