2 ms·
I should have stated that I am looking for desktop only. The reasons are performance, window management (I want to be able to manage multiple windows in a singl
by bmitc 4y ago
I should have stated that I am looking for desktop only. The reasons are performance, window management (I want to be able to manage multiple windows in a single application, easily), and OS integration.
I'm not necessarily new to the area, but I have already yak shaved down to the level of writing my own windowing framework, based on GLFW, and then graphics/GUI framework using Skia. Summary: GLFW (windowing) + Skia (2D graphics). I was curious if there is some other choice. Qt, GTK, Wx, etc. are all too complicated, tightly coupled to OOP, and are generally not fully portable between OS. I dislike their application frameworks, and I don't want to use their widgets. I've already taken on all this because of that, but you are correct that it is indeed pain. Bugs in Skia or GLFW or drivers or what-have-you are frustrating and blocking.
Let's say I have a desktop windowing framework (which I essentially do with GLFW, although I've threatened to throw my bindings for it out and write my own bindings against Win32, X11, Wayland, and Cocoa), and I'd like to draw to the window. Is there a better option than Skia? Is there a WebAssembly (wasm) or WebGPU (wgpu) or some HTML Canvas abstraction available?
Flutter is basically the only solution like this, but desktop is not its primary support target, it currently lacks multiple window support, and it requires Dart.
Skia is actually pretty nice and not hard to use, but I was curious if there is something more simple and lightweight but still featureful.
- yw3410 4y agoHonestly, if it's a desktop application and you're not using heavy 3D graphics, why not use wgpu with Cairo? With some smart region tracking it should be plenty performant.
- jffhn 4y ago>I am looking for desktop only. >I have already yak shaved down to the level of writing my own windowing framework. >Qt, GTK, Wx, etc. are all too complicated (...) I dislike their application frameworks, and I don't want to use their widgets. >Bugs in Skia or GLFW or drivers or what-have-you are frustrating and blocking. I'm subject to similar simplicity and dependencies-averse tendencies, and made that: https://github.com/jeffhain/jolikit/blob/master/README-BWD.md https://github.com/jeffhain/jolikit/blob/master/README-BWD.m... PS: I've been building a toolkit on top of that, which I use for a file explorer/editor, but it's not stable yet, still many little design points to think more thoroughly.