Show HN: Owlkettle – A Declarative user interface framework based on GTK 4(github.com)
github.com
Show HN: Owlkettle – A Declarative user interface framework based on GTK 4
https://github.com/can-lehmann/owlkettle
11 comments
Nice!
Of course it's not only "similar to many web frameworks", but also similar to how Tcl/Tk GUIs have been built in the last 30 years.
Of course it's not only "similar to many web frameworks", but also similar to how Tcl/Tk GUIs have been built in the last 30 years.
There are a million posts like X in Go or Y in Rust where the language doesn't matter and here this is like the one case where the language its written in is actually relevant/important and the README doesn't even say (it's nim).
Also it looks like this follows the elm architecture but that isn't usually necessary described as "delarative."
Also it looks like this follows the elm architecture but that isn't usually necessary described as "delarative."
I was unaware that GitHub's language metrics are moved to the bottom of the page on mobile, so I added a short note to the README stating that Owlkettle is written in Nim.
I have only used Elm briefly, but as far as I know, a major part of the Elm architecture is the usage of an Msg type which facilitates the communication between the view and the controller (https://guide.elm-lang.org/architecture/). Owlkettle does not require you to use this pattern.
Owlkettle is declarative because the GUI is automatically updated when the widget state changes. In this way it is similar to web frameworks such as React or Mithril.js. React also uses the term "declarative" to describe this behavior (https://reactjs.org/).
I have only used Elm briefly, but as far as I know, a major part of the Elm architecture is the usage of an Msg type which facilitates the communication between the view and the controller (https://guide.elm-lang.org/architecture/). Owlkettle does not require you to use this pattern.
Owlkettle is declarative because the GUI is automatically updated when the widget state changes. In this way it is similar to web frameworks such as React or Mithril.js. React also uses the term "declarative" to describe this behavior (https://reactjs.org/).
Sounds nice, I am interested in get ting started with GTK4 but I would only be able to do so with JS language, that language I didn't even recognized so its off limits for me :l
Nonetheless, I would love to see something that would simplify or abstract GTK4 development that I could actually use.
Nonetheless, I would love to see something that would simplify or abstract GTK4 development that I could actually use.
[deleted]
You might try it as Nim is really easy to pickup. In some ways it's even easier than JS!
This is very cool! Nice work OP. A lot cleaner and intuitive than even Vala (which in itself was a giant leap forward in GTK development).
I used Nim for hobby projects many years ago (when it was fresh out of being called Nimrod). Then it went through a phase of constant (breaking) changes and I couldn’t keep up. The code you shared looks beautiful - you’ve convinced me to take another look at it.
[deleted]
I wrote a framework which makes building native linux applications more ergonomic. Similar to many web frameworks, it automatically updates the GUI when the state of the application changes.
Let me know what you think!