Zig monthly, August 2021
iOS support, tutorials, tree-sitter, a pathtracer, and more
Today, I am launching zigmonthly.org: a once-a-month publication where I curate all things Zig that I’ve seen since the past month from the Zig Discord channels, zig.news, Twitter, Reddit, etc. and do my best to come up with a nice showcase. Learn more
Zig cross compiling to iOS? Yes please!
Nearly matching up with Zig’s 6th birthday, @kubkon (a core team member and author of Zig’s MachO linker) has begun adding minimal support for building iOS binaries with Zig, from any OS. Here’s one running in the iOS emulator on a Mac:
Tree Sitter for Zig
(Tree-sitter is a parsing framework from GitHub used for a variety of editors and IDEs, such as NeoVim and OniVim for code navigation and syntax highlighting. It’s also used by static analysis tools like Semgrep and powers GitHub’s code navigation features - so having an implementation for Zig could prove quite useful!)
A twin stick shooter
@unvestigate shared in the Zig discord a video of their twin stick shooter they began building four days ago, with all gameplay code in Zig:
Prometheus-style metrics for your Zig applications
@vrischmann released a library that enables one to add Prometheus-inspired counters, gauges, and histograms to their Zig applications - for use primarily with VictoriaMetrics, a Prometheus alternative.
Positron - a web renderer frontend for Zig applications
@nektro continues her work on zigmod, a package manager for the Zig programming language - this month releasing v67 for various bug fixes. The project has now hit over 500 commits and 3.6k lines of code, when you add in the fact that zigmod uses a few handfuls of Zig dependencies - I think it’s an interesting large Zig project.
I should also note an official Zig package manager is planned.
A simple Karaoke player
@captainhorst shared in the Zig Discord their recent project: a simple Karaoke player (note: video has no audio.)
A path tracer
“I’ve to admit I went in completely ‘blind’, didn’t know much about the language other than some passing remarks posted on Twitter. I kinda expected another Rust, so initially was a bit put off by how “Spartan” Zig was. After I adjusted and started taking it for what it was – a modern “C+” alternative – it actually became a very fun experiment.”
Loris Cro, VP of community at the Zig Software Foundation has been putting together multiple beginner tutorials over on https://zig.news:
- Where is print() in Zig?
- How to Add Buffering to a Reader / Writer in Zig
- What’s a String Literal in Zig?
- What’s undefined in Zig?
- Full-Time Open Source With Andrew Kelley (podcast, transcribed)
Enjoying Zig monthly? Please consider supporting my work