The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 13 C Zig Projects
-
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.
-
cowasm
CoWasm: Collaborative WebAssembly for Servers and Browsers. Built using Zig. Supports Python with extension modules, including numpy.
-
raylib-zig
Manually tweaked, auto-generated raylib bindings for zig. https://github.com/raysan5/raylib
-
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.
I'm trying to work with sqlite in zig. I found this project https://github.com/vrischmann/zig-sqlite but it seems that it is broken with zig 0.11.0 (something to do with stage2 I guess).
Project mention: Zig cookbook: collection of simple Zig programs that demonstrate good practices | news.ycombinator.com | 2024-01-01Zig currently doesn't allow chained designators and also doesn't allow to partially initialize arrays and fill up the rest of the array with default values.
E.g. the closest Zig equivalent to this C99 code:
https://github.com/floooh/sokol-samples/blob/b3bc55c4411fa03...
...is this:
https://github.com/floooh/sokol-zig/blob/a4b3c287fadd153a504...
...note how part of the initialization had to be moved out into "code".
There's a ticket about this here, but it's currently not high-priority:
https://github.com/ziglang/zig/issues/6068
Project mention: We Put a Distributed Database in the Browser – and Made a Game of It | news.ycombinator.com | 2023-07-12I used my Zig port of NanoVG: https://github.com/fabioarnold/nanovg-zig which ultimately uses WebGL for rendering in the browser.
And furthermore, C and C++ code can participate in the Zig package ecosystem. For example, here is ffmpeg packaged for consumption by a Zig project:
https://github.com/andrewrk/ffmpeg
Why not use a system package? Well, because the user's system might not have such a package. They might be on Windows, for example. Or their package might be out of date. [Or the system might have chosen sides in a nasty fork war](http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html).
So, while system packages are nice for end users, they might not always satisfy the needs of upstream application developers.
I use Zig for all my hobby projects:
* A pixel art editor https://github.com/fabioarnold/MiniPixel
* A Mega Man clone https://github.com/fabioarnold/zeroman
* Zig Gorillas https://github.com/fabioarnold/zig-gorillas
And most recently I had the opportunity to build a visualization for TigerBeetle's database simulator: https://sim.tigerbeetle.com
Before I was using C++ and Zig has been an improvement in every way.
Call C directly. You can look at https://github.com/karlseguin/zqlite.zig for some insight into binding/reading.
C Zig related posts
- Epoll: The API that powers the modern internet (2022)
- Extend a C/C++ Project with Zig (2021)
- SDL.zig: A shallow wrapper around SDL for Zig
- SQLite with zig 0.11.0
- Zig now has built-in HTTP server and client in std
- Linker error in unsafe modes on Windows
- Module & Packages
-
A note from our sponsor - WorkOS
workos.com | 25 Apr 2024
Index
What are some of the best open-source Zig projects in C? This list will help you:
Project | Stars | |
---|---|---|
1 | zig-gamedev | 1,976 |
2 | zap | 1,787 |
3 | cowasm | 459 |
4 | raylib-zig | 362 |
5 | zig-sqlite | 313 |
6 | SDL.zig | 283 |
7 | sokol-zig | 277 |
8 | nanovg-zig | 160 |
9 | ffmpeg | 115 |
10 | Hidamari | 62 |
11 | zig-gorillas | 53 |
12 | fetch-them-macos-headers | 49 |
13 | zqlite.zig | 24 |
Sponsored