Your first five minutes
One command with Homebrew, nothing to compile. Or build it from the sources: CMake 3.20+ and a C++20 compiler, nothing else (the libraries are vendored, Node.js is not needed).
Install
On macOS or Linux (x86_64 or aarch64), with Homebrew: the prebuilt
zincof the latest release, its SHA-256 checked, on your PATH.brew update && brew upgrade zincinstalls each new release.$ brew install frulko/zinc/zincOn Windows, or to work on Zinc itself, build from the sources (
git clone https://github.com/Frulko/zinc && cd zinc && cmake -S . -B build -DCMAKE_BUILD_TYPE=Release && tools/build zinc): CMake 3.20+ and a C++20 compiler, see the guide.Ask Zinc what it sees
zinc doctorThe engine, this machine's renderer, the tools it downloads by itself the day you build for a board, and the plugins.
Create a project
zinc new desktop-app my-app cd my-appzinc new --listprints the 13 templates: game, game-2d, 3d, desktop-app, dashboard, cli, server, service, iot, iot-board, eink, remarkable, plugin.Run it
zinc runA window opens. The first run compiles for this machine and takes a few seconds, the next ones start at once.
Edit with Fast Refresh
zinc devWatches the project and swaps every save into the running program: the window stays, and so does the state (the page you were on, what you typed, the game round in progress). Only the files you changed run again, and a component you edit renders again in place. When a change cannot be swapped (a native plugin, a module with a side effect it cannot undo), it restarts and says why in one line. A compile error is a red box on the screen. UI programs get the Chrome DevTools inspector. None of this is in what
zinc buildships.Build for another target
zinc build # this machine zinc build --target aarch64-linux # a Raspberry Pi 64-bitTarget Machines aarch64-macos, x86_64-macosMac, Apple silicon and Intel x86_64-windowsWindows 10 and 11 (console programs for now) x86_64-linuxPCs and servers aarch64-linuxRaspberry Pi 3, 4 and 5 (64-bit), reMarkable Paper Pro armhf-linuxevery 32-bit Raspberry Pi OS, Pi 1 and Zero included armv7-linuxNTC CHIP and PocketCHIP armv7-webosHP TouchPad on webOS 3 esp32flashes the board, or runs it in Espressif's QEMU Flash a board
zinc flash --target esp32Uses the pinned esptool. Without a board,
zinc run --simulate hp-touchpadand the ESP32 QEMU runner let you try a device you do not have.