mach-gpu-dawn
zig-clap
Our great sponsors
mach-gpu-dawn | zig-clap | |
---|---|---|
2 | 3 | |
143 | 744 | |
2.1% | - | |
8.6 | 6.4 | |
7 days ago | 8 days ago | |
Zig | Zig | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mach-gpu-dawn
-
What's your go to platform for developing with WebGPU?
It's using a Dawn a couple months out of date, but there's this: https://github.com/hexops/mach-gpu-dawn
-
zig-gamedev: audio experiments sample app (wgpu, cross-platfrom)
When reading "wgpu", I wondered if it used the WebGPU implementation of the same name (wgpu) rather than Dawn. It may be worth changing mentions of "wgpu" to "WebGPU" in zgpu (and these titles) similar to how its dependency, mach-gpu-dawn, uses these names,
zig-clap
-
After a day of programming in Zig
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.
-
Is it too early to use Zig for CLI tooling ideas?
It's somewhat early, but there are libraries like https://github.com/Hejsil/zig-clap that can make writing CLIs a bit easier.
-
Docco for printing, getting input, cmdline args?
Command line args: std.process or the zig-clap library
What are some alternatives?
wgpu - Cross-platform, safe, pure-rust graphics api.
zig-args - Simple-to-use argument parser with struct-based config
capy - 💻Build one codebase and get native UI on Windows, Linux and Web
known-folders - Provides access to well-known folders across several operating systems
zig-gamedev - Main monorepo for @zig-gamedev libs and example applications
zig-range - A range function to loop over an index without an extra variable.
mach - zig game engine & graphics toolkit
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
gpuweb - Where the GPU for the Web work happens!
zig-rocca-s - An implementation of the ROCCA-S encryption scheme.
mecha - A parser combinator library for Zig
zls - A Zig language server supporting Zig developers with features like autocomplete and goto definition