kiwi-java
cssgrid
kiwi-java | cssgrid | |
---|---|---|
1 | 2 | |
24 | 22 | |
- | - | |
10.0 | 8.6 | |
over 4 years ago | 7 months ago | |
Java | Nim | |
BSD 3-clause "New" or "Revised" License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
kiwi-java
-
Declarative User Interfaces with constraints-based layout engine for Python
Nucleic also makes Kiwi one of the fastest Cassowary Constraint implementations. It is very useful for implementing custom GUIs as it can make building internal component layouts and general layout systems fairly straightforward and it’s very performant.
I highly encourage taking a look at it and it has also been ported to a wide range of language.
I’m using Nim kiwi with my own GUI library now. I’ll have to take a peak at how enaml is using kiwi for its layouts.
https://kiwisolver.readthedocs.io/en/latest/
https://github.com/alexbirkett/kiwi-java
https://github.com/PongoEngine/jasper
https://github.com/yglukhov/kiwi
cssgrid
-
So you want to write a GUI framework (2021)
( https://github.com/elcritch/cssgrid )
However, text input is hard and tedious! Then you ideally would need to handle the different keybindings for each OS. You also loose any plugins the OS'es provide. Not to mention the lack of accessibility.
I recall reading that browsers shim out to native OS text fields and wonder how that's done. It really seems like the best approach for small GUI libraries to enabled first class text input.
-
Declarative User Interfaces with constraints-based layout engine for Python
https://github.com/elcritch/cssgrid/blob/main/tests/tlayout....
Super easy to let autoflow pack around your main items which is great for UIs:
What are some alternatives?
enaml-web - Build interactive websites with enaml
traitsui - TraitsUI: Traits-capable windowing framework
fidget - Figma based UI library for nim, with HTML and OpenGL backends.
pyrract - A React-esque library for Python
sciter - Sciter: the Embeddable HTML/CSS/JS engine for modern UI development
Yue - A library for creating native cross-platform GUI apps
kiwi - Constraint solving library
serenity - The Serenity Operating System 🐞
jasper - Haxe port of Kiwi's implementation of the cassowary algorithm.
enaml - Declarative User Interfaces for Python