blob: e0d37b8a1524be7cf9cb9f961686ebb50225c10d [file] [log] [blame] [view] [edit]
# Explore Fuchsia {#explore-fuchsia}
In Fuchsia, components are the basic unit of executable software.
When a Fuchsia device or emulator is booted and displays the `$` prompt in the shell,
you can run [components](/docs/concepts/components/v2).
To try running an example component on your Fuchsia device, see
[Run an example component](/docs/development/run/run-examples.md).
## Run shell commands
Device commands in Fuchsia use the command `dm`. For example, to get a list
of device commands, use the following command:
```posix-terminal
dm help
```
To reboot Fuchsia, use the following command:
```posix-terminal
dm reboot
```
See
[Connect to a target shell](/docs/development/build/fx.md#connect-to-a-target-shell)
for more information on connecting to your Fuchsia device or emulator.
## Write software for Fuchsia
FIDL (Fuchsia Interface Definition Language) is the Interprocess Communication (IPC) system for
Fuchsia. For an example of writing [FIDL](/docs/development/languages/fidl) APIs and client
and server components, review the
[FIDL tutorials](/docs/development/languages/fidl/tutorials/overview.md).
You can also read the [FIDL concepts doc](/docs/concepts/fidl/overview.md) to get a brief
overview of what FIDL is, including its design goals, requirements, and workflows.
## Run tests
To test Fuchsia on your device, see
[Run Fuchsia tests](/docs/development/testing/run_fuchsia_tests.md).
## Launch a graphical component
Most graphical components in Fuchsia use the
[Scenic](/docs/concepts/graphics/scenic/scenic.md) system compositor. You can
launch such components (commonly found in `/system/apps`) using the
`present_view` command, for example:
```sh
present_view fuchsia-pkg://fuchsia.com/spinning_square_view#meta/spinning_square_view.cmx
```
See [Scenic example apps](/src/ui/examples).
If you launch a component that uses Scenic or hardware-accelerated graphics,
Fuchsia enters the graphics mode, which doesn't display the shell. To use the
shell, press `Alt+Escape` to enter the console mode. In the console mode,
`Alt+Tab` has the same behavior described in [Select a tab](#select-a-tab).
Press `Alt+Escape` again to return to the graphics mode.
## Contribute changes
To submit your contribution to Fuchsia, see
[Contribute changes](/docs/development/source_code/contribute_changes.md).
## See also
* [fx workflows](/docs/development/build/fx.md)
* [Workflow tips and questions](/docs/development/source_code/workflow_tips_and_faq.md)
* [Configure editors](/docs/development/editors/)
* [Source code layout](/docs/concepts/source_code/layout.md)
* [Build system](/docs/concepts/build_system/index.md)