These are example apps that can be used to manually test the behavior of the Flutter embedder.
TODO(akbiggs): Write integration tests that automatically verify the behavior of these example apps on each commit.
Follow the setup in the root README, then run from $FUCHSIA_EMBEDDER_DIR:
scripts/build_and_run_example.sh <example_folder_name>
For example:
scripts/build_and_run_example.sh hello_flutter
If the example is marked as Headless
in the table below, run the example with the --headless
flag to turn off rendering because the component does not support rendering (it is a Dart app with no UI instead of a Flutter app). For example:
scripts/build_and_run_example.sh hello_dart --headless
This script relies on the fuchsia_package
BUILD rule for the example being called <example_folder_name>_pkg
.
TODO(akbiggs): Migrate this workflow to Bazel and remove build_and_run_example.sh
. The ideal workflow is $FUCHSIA_EMBEDDER_DIR/tools/bazel run //src/examples/my_example/my_example_pkg
because it's consistent with other platforms and discoverable.
TODO(akbiggs): Headless examples will not work yet because there's no environment with the JIT allowlist to run them in. Find a suitable collection somewhere and run them there. For now, you can run without --headless
, which will lead to an infinite loading spinner but run the app.
Example | Headless? | Desired behavior | Does it work? |
---|---|---|---|
animation_example | No | Renders glowing square without jank | Janky (renders animation with glitches) |
hello_dart | Yes | Prints “Hello World!” to ffx log | Yes |
hello_flutter | No | Renders with clickable button | Yes |