cosmic
mach
Our great sponsors
cosmic | mach | |
---|---|---|
8 | 20 | |
258 | 1,500 | |
- | 7.2% | |
9.6 | 9.9 | |
4 months ago | 7 days ago | |
Zig | Zig | |
MIT License | GNU General Public License v3.0 or later |
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.
cosmic
-
Zig is becoming more production-worthy - zigmonthly
What if you could develop native applications in JavaScript or WASM, with a runtime that is not Electron? Cosmic is one answer to that, and a project to keep an eye on for sure:
-
Updates to Cosmic Graphics, Text, UI.
Example can be found at https://github.com/fubark/cosmic/blob/master/ui/examples/text_demo.zig
-
UI Engine in Zig
Definitely want to target Vulkan/Metal/DirectX. Also would like to support WebGPU when it's ready. The drawing is conveniently abstracted away in https://github.com/fubark/cosmic/blob/master/graphics/src/graphics.zig
More details about the UI engine and how to use it in your own zig projects can be found here: https://github.com/fubark/cosmic/tree/master/ui
mach
-
Help me contribute
I don't know if you're into game development at all, but we're always looking for contributors to Mach :) I should really do a "job board" type thing so it's more clear how folks could contribute, but here are some ideas:
-
Example of using ZGL and mach-glfw?
I want to try using ZGL and mach-glfw and I just can't get it to work.
-
Is there any way to interop with JS in Zig/RS/C/C++?
Still experimental - I haven't had a chance to do a proper write-up, publish this as a standalone repository, or provide examples.. but we have mach/sysjs which is a library that enables calling JS from Zig.
-
Our Machinery, extensible engine made in C, just stopped being available
Mach
-
what can i build with zig
[0] https://github.com/hexops/mach/issues/230
-
Why Am I Excited About WebAssembly?
Was watching your update in the Khronos Group meetup a few days ago, very impressive work. I'm excited for what this will mean for the web overall, it might finally reach that tipping point where more than .io games become standard to play in the web. That's huge, and will drive demand for more powerful web APIs too.
WebGPU in general is very nice. We're building a game engine[0] that uses Zig to build Dawn (Google Chrome WebGPU implementation) from source for running on desktop / Steamdeck, and working on browser support via WASM now.
The future is bright here.
-
Zig is becoming more production-worthy - zigmonthly
Although it's not ready for prime time yet, and not advised to test with it yet as many bugs are already known, we're already seeing it can compile parts of some major projects with a bit of finangling.
I do my best to get 40+ solid hours a week into a life-long passion project: the Mach game engine.
-
Because cross-compiling binaries for Windows is easier than building natively
* Linux (arm): 15 MiB
That's full cross compilation of WebGPU GUI applications to all desktop platforms in under ~217 MiB for most platforms.
-
Zig interop makes it easy to use raylib
Yeah, I'm always on the look for new graphics libraries, but there are far less good libraries out there than one may think. I tried sokol recently but it has a lot of problems that I don't find in raylib. raylib has a lot of disagreeable parts for me too, but at least it's extremely simple and very well maintained and you can get things done really quickly. The ultimate goal of course would be to go with something like https://github.com/hexops/mach that is actually written in Zig, but until that stuff evolves we will pretty much have to rely on external stuff (unless you specifically want to do very low-level graphics development in which case you could just interact with the APIs directly, of course).
What are some alternatives?
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
SDL.zig - A shallow wrapper around SDL that provides object API and error handling
zigstr - Zigstr is a UTF-8 string type for Zig programs.
mach-glfw-vulkan-example - mach-glfw Vulkan example
arocc - A C compiler written in Zig.
river - A dynamic tiling Wayland compositor
matrix.to - A simple stateless privacy-protecting URL redirecting service for Matrix
ComLightInterop - Cross-platform COM interop library for .NET Core 2.1 or newer
dmd - dmd D Programming Language compiler
glibc_version_header - Build portable Linux binaries without using an ancient distro
winget-cli - Windows Package Manager CLI (aka winget)
cc-rs - Rust library for build scripts to compile C/C++ code into a Rust library