SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Zig Open-Source Projects
-
zig
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
extism
The framework for building with WebAssembly (wasm). Easily load wasm modules, move data, call functions, and build extensible apps.
-
zls
A Zig language server supporting Zig developers with features like autocomplete and goto definition
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
libxev
libxev is a cross-platform, high-performance event loop that provides abstractions for non-blocking IO, timers, events, and more and works on Linux (io_uring or epoll), macOS (kqueue), and Wasm + WASI. Available as both a Zig and C API.
-
karmem
Karmem is a fast binary serialization format, faster than Google Flatbuffers and optimized for TinyGo and WASM.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
At Node Conference 2023, Jarred Sumner (creator of Bun) showed a demo of server components in Bun, so there is at least partial support in that ecosystem. The Bun repo provides bun-plugin-server-components as the official plugin for server components. And while I haven’t looked at it in-depth, Marz claims to be a “React Server Components Framework for Bun”.
When writing code in a scripting language, sometimes you need that extra bit of performance (or maybe an async feature from Zig).
Master syntax - language possibilities, so that you can read code. Ziglings (or github) does great job teaching it!
Project mention: Extism – make all software programmable. Extend from within | news.ycombinator.com | 2024-04-08
More info on the wiki https://github.com/riverwm/river/wiki
Project mention: Zig Software Foundation 2024 Financial Report and Fundraiser | news.ycombinator.com | 2024-01-18Myself and many others are betting on Zig in major ways, I truly think it has a bright future ahead.
In spare time, myself and a few others are working on a game engine in Zig[0], and the Zig core team has been very receptive to addressing issues our project faces and supporting us.
Others are working on pixel art editors[1], open source 2D RPG games[2], there's a group of independent folks working on a 3D massive immersive sim game[3], a group working on making Zig an amazing language for micro-controllers[4], etc.
Please consider donating $5-10 a month to the ZSF! They are a great group of people, and it has so many knock-on effects for others in the FOSS community. :)
[1] https://github.com/foxnne/pixi
[2] https://github.com/foxnne/aftersun
Project mention: Have questions/requests/issues related to the Zig Language Server? | /r/Zig | 2023-05-06There is no official documentation but the standard library provides definitions for the exchange format and an incomplete set of function for exchanging messages in Client.zig and Server.zig. You can find examples of the zig compile server in action in my PR for ZLS and a showcase of hot-code-swapping by kubkon. The code that implements the ZCS in the zig codebase can be found here.
Project mention: Show HN: macOS-cross-compiler – Compile binaries for macOS on Linux | news.ycombinator.com | 2024-02-17https://github.com/rust-cross/cargo-zigbuild
I’m curious what the blockers are for rustc to cross-compile like zig does natively.
Project mention: Buzz: A lightweight statically typed scripting language | news.ycombinator.com | 2023-12-26FYI, for the interested, https://github.com/buzz-language/buzz/issues/209
> You have to use the nightly build of zig.
ie. `brew install zig && zig build` will not work.
Related:
A fast Pascal (Delphi) WebAssembly interpreter:
https://github.com/marat1961/wasm
WASM-4:
https://github.com/aduros/wasm4
Curated list of awesome things regarding WebAssembly (wasm) ecosystem:
https://github.com/mbasso/awesome-wasm
Also, it would be nice if there was a WASM (soft) CPU for QEMU, which (if it existed!) would go here:
Project mention: libxev: A cross-platform, high-performance event loop | news.ycombinator.com | 2024-04-17io_uring support is obviously great & excellent, fulfills the "high performance" part well.
i was not expecting "Wasm + WASI" support at all. that's very cool. implementation is wasi_poll.zig (https://github.com/mitchellh/libxev/blob/main/src/backend/wa...). not to be unkind, but this makes me wonder very much if WASI is already missing the mark, if polling is the solution offered.
gotta say, this is some very understandable clean code. further enhancing my sense that i really ought be playing with zig.
Project mention: MicroZig: Unified abstraction layer and HAL for Zig on several microcontrollers | news.ycombinator.com | 2024-02-28
Possible reference as it requires to use the compiler as part of language abi: https://github.com/Vexu/arocc/issues/178 Not sure, where a better thread with explanations of the flaws is.
Zig and Rust both promote explicit error handling, however their mechanisms are different. Rust uses Result enums, while Zig uses a (global) error set type (though similar to an enum) and error propagation. Similarly, Rust uses the Option enum for optional types, while Zig uses a type modifier (?T). Both offer modern, syntactic sugar to handle those (call()? and if let Some(value) = optional {} in Rust, try call() and if (optional) |value| {} in Zig). Since Rust uses the standard library to implement error handling and options, users have the possibility to extend those systems which is quite powerful. However, I like the approach Zig takes in providing those things as language features. While their approach fits well into the C universe, I dislike that there is no pragmatic way to add more context to an error (but well, no allocations). Libraries like [clap](https://github.com/Hejsil/zig-clap) solve this by implementing a diagnostics mechanism.
Project mention: Zig Software Foundation 2024 Financial Report and Fundraiser | news.ycombinator.com | 2024-01-18Myself and many others are betting on Zig in major ways, I truly think it has a bright future ahead.
In spare time, myself and a few others are working on a game engine in Zig[0], and the Zig core team has been very receptive to addressing issues our project faces and supporting us.
Others are working on pixel art editors[1], open source 2D RPG games[2], there's a group of independent folks working on a 3D massive immersive sim game[3], a group working on making Zig an amazing language for micro-controllers[4], etc.
Please consider donating $5-10 a month to the ZSF! They are a great group of people, and it has so many knock-on effects for others in the FOSS community. :)
[1] https://github.com/foxnne/pixi
[2] https://github.com/foxnne/aftersun
Zig related posts
- How to Write a PHP Extension with Zig?
- Bun - The One Tool for All Your JavaScript/Typescript Project's Needs?
- Zig, Rust, and Other Languages
- MicroZig: Unified abstraction layer and HAL for Zig on several microcontrollers
- Asynchronous Clean-Up (in Rust)
- Show HN: macOS-cross-compiler – Compile binaries for macOS on Linux
- Show HN: Tokamak – A Dependency Injection-Centric Server-Side Framework for Zig
-
A note from our sponsor - SaaSHub
www.saashub.com | 19 Apr 2024
Index
What are some of the best open-source Zig projects? This list will help you:
Project | Stars | |
---|---|---|
1 | bun | 70,251 |
2 | zig | 30,295 |
3 | ziglings | 4,085 |
4 | extism | 3,728 |
5 | river | 2,919 |
6 | mach | 2,759 |
7 | zls | 2,337 |
8 | zig-gamedev | 1,965 |
9 | zap | 1,774 |
10 | capy | 1,322 |
11 | cargo-zigbuild | 1,181 |
12 | awesome-zig | 1,094 |
13 | buzz | 1,067 |
14 | wasm4 | 1,055 |
15 | libxev | 1,431 |
16 | microzig | 923 |
17 | awesome-zig | 846 |
18 | arocc | 753 |
19 | zig-clap | 741 |
20 | zigmod | 703 |
21 | karmem | 630 |
22 | pixi | 530 |
23 | zigup | 518 |