It is currently written in C/Ruby and uses a custom tree sitter grammar to describe templates.
Features include: composable UI components, template directives, event and prop handling, slots, styles and automation capabilities baked in.
One of the goals of the project is privileging easy to write custom components via a drawing API over providing a fixed set of components.
At the time of this writing it should install on Windows, Mac, and Linux, but sometimes it is hard to test the install on all platforms.
I'd love to hear any feedback or suggestions on the project. It is still in an early stage, but it would be great to hear thoughts.
Docs are here: https://hokusai.skinnyjames.net/ Repo is here: https://codeberg.org/skinnyjames/hokusai
Licensed under the PPL
whalesalad•9h ago
zero-st4rs•9h ago
Since Hokusai uses MRI, one can pull in from that ecosystem of gems.
RubyMotion also appears to support (iOS, Android, OSX) whereas Hokusai intends to support OSX, Linux, and Windows.
Implementation-wise, the framework itself seems different. Looking at the following [RubyMotion app](https://github.com/HipByte/RubyMotionSamples/tree/master/ios...), the logic is spread out over separate files and it doesn't appear to have a templating language.
On the other hand, Hokusai UI components are just a class that inherits from Hokusai::Block, and are self contained blocks that can be stitched together.
Hokusai is more like Vue Single file components in this regard. Hokusai also doesn't make a distinction between a "component" and an "app", they are all just Blocks.
Does that answer your question?