Elements Platforms

Fuchsia

Explore Google's Fuchsia OS with CPU-native code in any Elements language.

Elements provides experimental support for building native Fuchsia software through Island, the compiler's native backend.

Your code compiles directly to CPU-native binaries for Fuchsia, without a managed runtime between your application and the operating system. You can work in any Elements language, call into the platform at a low level, and share suitable code with Island projects for other operating systems.

Native from Source to System

Fuchsia support follows the same Island model used for other native targets, while exposing the platform-specific pieces needed to work close to the OS.

CPU-Native Output

Elements compiles your project to native machine code instead of targeting the CLR or JVM, producing binaries designed for the Fuchsia environment.

Fuchsia Submode

Projects use the Island compiler mode with the Fuchsia submode, keeping the target explicit in the project and in automated builds.

Island RTL

Use portable Elements RTL APIs where they fit, then reach into Fuchsia-specific types and low-level platform facilities when your code needs them.

A Clear Native Target

Fuchsia is selected as a submode of Island. That keeps the project model familiar if you already build native Elements projects for Windows, Linux, Darwin, or other Island targets.

The same settings are understood by EBuild, so the target remains visible and reproducible from local development through command-line and automated builds.

Read about compiler modes and submodes

Fuchsia.elements
<Mode>Island</Mode>
<SubMode>Fuchsia</SubMode>

<OutputType>Executable</OutputType>

Close to Zircon

Fuchsia's foundation is Zircon, and native work often means dealing with platform handles, system services, and SDK-defined types directly. The Island RTL includes Fuchsia-specific platform definitions such as Zircon handle types, alongside the common native APIs used across Island targets.

Platform libraries can be described to the compiler through Island's .fx reference format. This supplies the type information Elements needs while the native linker connects your project to the corresponding Fuchsia libraries.

Explore the Island RTL API or learn how .fx references work.

Share What Makes Sense

Native does not have to mean isolated. Keep common logic portable and make the Fuchsia-specific boundary deliberate.

Portable Core

Share algorithms, data structures, parsers, protocol code, and other platform-neutral logic with your Island projects for additional operating systems.

Platform-Specific Edge

Keep Fuchsia SDK calls and Zircon-facing code in focused units, while the rest of the application continues to use common Elements and Island abstractions.

All Elements Languages

Fuchsia is available to the full Elements language family. Choose the language that suits your project, mix languages within the same solution, and use the same compiler, project system, and native backend throughout.

That makes Fuchsia another place where Oxygene, C#, Swift, Java, Go, and Mercury can meet the platform without forcing the application through a second language or managed runtime.