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.
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."
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/).
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.
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.
11 comments
[ 3.8 ms ] story [ 33.6 ms ] threadI 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!
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.
Also it looks like this follows the elm architecture but that isn't usually necessary described as "delarative."
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/).
Nonetheless, I would love to see something that would simplify or abstract GTK4 development that I could actually use.