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.
Elements Platforms
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.
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.
Elements compiles your project to native machine code instead of targeting the CLR or JVM, producing binaries designed for the Fuchsia environment.
Projects use the Island compiler mode with the Fuchsia submode, keeping the target explicit in the project and in automated builds.
Use portable Elements RTL APIs where they fit, then reach into Fuchsia-specific types and low-level platform facilities when your code needs them.
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.
<Mode>Island</Mode> <SubMode>Fuchsia</SubMode> <OutputType>Executable</OutputType>
Fuchsia is built on Zircon, and lower-level native work often involves platform handles and SDK-defined types directly. The Fuchsia Island SDK exposes imported C SDK declarations through rtl.fx, including Zircon types such as rtl.zx_handle_t and rtl.zx_status_t. Island RTL consumes these declarations while providing the common runtime APIs shared across Island targets.
Platform APIs can be exposed to the Elements compiler through Island’s .fx reference format. This provides the type and function metadata needed at compile time and can describe native library dependencies. EBuild performs the final native link against the required Fuchsia libraries. Access to component services may additionally require FIDL bindings and capability declarations in the component manifest.
Explore the Island RTL API or learn how .fx references work.
Native does not have to mean isolated. Keep common logic portable and make the Fuchsia-specific boundary deliberate.
Share algorithms, data structures, parsers, protocol code, and other platform-neutral logic with your Island projects for additional operating systems.
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.
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.