Whassup?,
A couple years ago, I started a project for easily authoring GUIs with Ruby. The project is named Hokusai. It features the ability to compose reactive UI components with events and props, and uses a unique-ish template language.
More information on Hokusai can be found here: https://hokusai.skinnyjames.net/
Since then I've worked on Hokusai Native (https://github.com/skinnyjames/hokusai-native-builder/), which compiles a GraalVM native image / TruffleRuby version of Hokusai that can run / interpret these lil' gui apps. It's quite bloated though, as it has to ship all of truffle ruby + native image and supporting libs.
Recently, I applied for a grant to develop a more portable version of this library using MRuby, and got pretty far while waiting for the results. It is named Hokusai Pocket and I consider it to be the final form/approach of this project.
I wrote a builder in crystal-lang that embeds the entire Hokusai ruby code as MRuby bytecode, as well as the supporting C code. It can scaffold new projects by building tree-sitter/mruby/raylib, and outputs a binary from a source ruby file.
It produce pretty small binaries (~3mb for MacOS) and uses raylib as the rendering engine.
For an gif and example of a Hokusai Pocket demo please direct your mouse clicks to this gist: https://gist.github.com/skinnyjames/b510185c6bd83fd4e1a41324...
I'd love to hear how this project plays for people. Still working on building for different targets, but android and web should be possible. The project is still undergoing active development, but any help is appreciated. The license is MIT.
There also is a discord channel if you want to get help / chat / collaborate: https://discord.gg/SexXSEw8Hh
_ (^)
(_\ |_|
\_\ |_|
_\_\,/_|
(`\(_|`\|
(`\,) \ \
\,) | |
\__(__|
Comments URL: https://news.ycombinator.com/item?id=45639492
Points: 2
# Comments: 0