Skip to content

Installation

This page is the first step of putting ZLink into an application. The framework is installed from the packages published to each language's package registry. The framework package pulls in the binding it depends on, and the binding package carries the Core engine's native runtime, so Core is never built separately.

Item Value
Published versions framework 0.11, binding 0.17.6
Supported platforms linux-x64, linux-arm64, macos-arm64, windows-x64, windows-arm64 (Intel Mac unsupported)
Registries nuget.org, Maven Central, npm, vcpkg/Conan plus GitHub Release

Framework packages

The tabs below give the install commands and the host registration code per language. Writing and running the first handler is covered by each language's "Installation and first run" chapter.

Start from the published packages only. The framework package installs the matching binding (which carries the Core engine), so Core is never built separately. Current versions are framework 0.11 and binding 0.17.6. Supported platforms: linux-x64, linux-arm64, macos-arm64, windows-x64, windows-arm64.

dotnet add package Zlink                       # Core messaging engine (.NET binding)
dotnet add package Zlink.Framework             # contracts and runtime
dotnet add package Zlink.Framework.AspNetCore  # DI and hosted-service registration
builder.Services.AddZLinkFramework(options =>
{
    options.AddHandlersFromAssemblyOf<Program>();
    options.AddRouteMesh("services").Listen("tcp://0.0.0.0:7101")
        .Channel("greeting").Server();
});

Continue with Installation and first run.

find_package(zlink CONFIG REQUIRED)            # Core: vcpkg `zlink` or Conan `zlink`
find_package(zlink_framework CONFIG REQUIRED)  # Framework: vcpkg overlay port `zlink-framework`
target_link_libraries(app PRIVATE zlink::framework)

Core comes from the vcpkg/Conan recipes; the framework from the GitHub Release source archive or the repository's vcpkg overlay port. IDEs open the project through the CMakePresets.json presets (vs2022, windows-ninja, linux-ninja, macos-ninja). Continue with Installation and first run.

dependencies {
    implementation("systems.zlink:zlink-framework-core")                // contracts and runtime
    implementation("systems.zlink:zlink-framework-spring-boot-starter") // DI and lifecycle registration
}

Spring Boot auto-configuration registers the host as a bean. Continue with Installation and first run.

dependencies {
    implementation("systems.zlink:zlink-framework-core")
    implementation("systems.zlink:zlink-framework-spring-boot-starter")
    implementation("systems.zlink:zlink-framework-kotlin")              // coroutine idiom
}

Continue with Installation and first run.

npm install @zlink-systems/framework   # contracts and runtime (brings the @zlink-systems/zlink binding)
npm install @zlink-systems/nestjs      # DI and module registration

Without NestJS, install only the framework package and start the host yourself. Continue with Installation and first run.

Bindings only

To use the Core API through a language package without the framework, pick a language in the Bindings guide. Seven languages (C, C++, .NET, Java, Node.js, Python, Go, Rust) have an installation procedure and a five-minute example there.

Building from the repository

Building Core from source, or building local packages from the current source, is owned by the repository's build guide and local package guide. Package consumers do not need either.