Capy – Cross-platform library for making native GUIs in Zig
There&#x27;s a severe lack of good libraries of this type; all the UI libraries want to invent their own controls and rendering instead.<p>I think this is a shame, demonstrating more than a small amount of NIH.  Yes, different platforms have different widgets and different design guidelines, so a cross-platform UI using greatest-common-denominator set of native widgets will never look quite native.  But at least text boxes will work the way text boxes should work, with keyboard shortcuts, the special characters menu, IME, the works.  That already puts you ahead of most cross-platform UI frameworks that aren&#x27;t browser engines!  Menus will work the way menus should work.  HiDPI will work (failing to support that is less common these days, but it still happens).  Text rendering will look native.<p>With custom rendering, you have to invest a mammoth amount of effort to even approach native platform behavior.  Which means that most small UI libraries produce UIs that feel like toys, and even the big ones have an uncanny valley feel.  With native controls, even with a relatively small library, you can make a UI that feels fundamentally _usable_.<p>While this project is immature, I hope it has a bright future.  If it matures into a high-quality library, I would learn Zig for the sole purpose of using it.  I&#x27;m also keeping my eye on libui and libui-ng, similar libraries which are written in C.