Very impressive project, almost 100% written in Racket!
Racket is by far one of the languages I still use the most. I’ve tried looking at other languages, but Racket provides a lot of convenience for me. I’ve never tried writing a complicated GUI with it, but this looks like an excellent project to get ideas and learn from. Kudos to Alex for the work he’s done on this!
racket’s gui toolkit is extremely pleasant to use, and when you factor in packaging the result as a cross-platform executable it beats pretty much everything else out there. the only downsides are that you will end up having to write a lot of custom widgets yourself (e.g. the last time i wanted a date picker i couldn’t find one, i ended up just using a text field), and that it takes up a ton of RAM. i really hope they fix the latter sometime soon; i currently stick with ocaml+gtk because it produces small executables with a small memory footprint, but i feel like writing gui apps would be more productive in racket than in any version of gtk.
How much RAM does it use compared to something like Electron or Swing?
i think less than electron, but ~200 megs just to load the basic gui framework and pop up a hello world message box.
FWIW last time I tried it, Electron Hello World was about 40MB of RAM on Windows.
I’m genuinely interested if that GUI can be used with framebuffer “backend” on Linux for embedded devices, using the DRM only.
Currently it isn’t possible. It would require implementing the base widgets (rendering and input events.) Part of an implementation could be simplified by using the existing racket/draw library which sits on top of cairo.