tree: 1bc8f7a30452e05206d689bcc4dcc3c6c54262e1 [path history] [tgz]
  1. CONTRIBUTING.md
  2. OWNERS
  3. README.md
  4. _toc.yaml
  5. how-to/
  6. intro/
  7. reference/
  8. style.md
  9. tutorial/
docs/development/languages/fidl/README.md

FIDL

FIDL (Fuchsia Interface Definition Language) is the IPC system for Fuchsia.

Start here

The tutorial 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 Introduction section to get a brief overview of what FIDL is, including some of its design goals, requirements, and workflow.

Language support

The FIDL code generator creates code in a multitude of target languages. The following table gives you a reference to the details of the language implementation, as well as pointers to the code generated from the tutorial'sHello, world” client and server examples.

LanguageExamples
Cserver
Low-Level C++client, server
High-Level C++client, server
Dartclient, server
Rustclient, server

Contributing

Please read the CONTRIBUTING chapter for more information.

References

  • API Rubric — design patterns and best practices
  • Style Rubric — style guide
  • Attributes — describes the available FIDL attributes
  • Bindings — requirements for FIDL language bindings
  • Compiler — describes the organization of the compiler
  • Linter — describes how to check API readability with the FIDL linter
  • Editors — discusses support for FIDL in IDEs and stand-alone editors
  • FIDL Tuning Proposals — accepted and rejected changes for FIDL
  • Grammar — the FIDL grammar
  • Host — summary of the parts of FIDL that are allowed on host
  • JSON IR — a tour of the JSON Intermediate Representation (JSON IR) generator
  • Language — defines the syntax of the FIDL language
  • library zx — the Zircon system library
  • Wire Format — details the byte-by-byte organization of data

How To