After some playing around a bit with it, I think I actually like slint?
It seems to fix some of the complaints I have with qml, and the hability to run the ui, change the code and immediately see the result is a huge plus on any ui framework.
Yeah, that means the UI part isn't written in rust, but déclarative language are actually just better suited to code UI anyway. I still dislike UI coding but it's way less painful this way.
( I lowkey wanted to rant about the licences but there is a GPLv3 licence available, and yes it's less convenient than a AGPLv3 or god forbid a BSD/MTI type licence, I'm not gonna trash a licence option which garanties code availability. I probably won't be able to use it at work for commercial project though... )
After some playing around a bit with it, I think I actually like slint?
It seems to fix some of the complaints I have with qml, and the hability to run the ui, change the code and immediately see the result is a huge plus on any ui framework.
Yeah, that means the UI part isn't written in rust, but déclarative language are actually just better suited to code UI anyway. I still dislike UI coding but it's way less painful this way.
( I lowkey wanted to rant about the licences but there is a GPLv3 licence available, and yes it's less convenient than a AGPLv3 or god forbid a BSD/MTI type licence, I'm not gonna trash a licence option which garanties code availability. I probably won't be able to use it at work for commercial project though... )
It was kind of a pain but I still happy to have learned how to do it.
WIL:
- setting up android sdk without android-studio is a pain.
- I manage to do it with the cmline android tools
- Still can't make the emulator to work for some reason
- you need build-tools, ndk, platform-tools, the platforms themselves. I think the system-images is only needed for the emulator
- you have to sign your apps to be able to make a release build
- use keytool to make a keystore. Don't use the mdp you always use for everything
- on related note I need to figure out how to use the keystore without putting the mdp in Cargo.toml
- the size of the main window needs to be flexible
- googledrive is the easiest way I found to transfer and install my app on my phone (it didn't want to install it from my phone file system)
@Ciantic Ok, I think you want to look into @slint
From their website:
"The #Slint runtime fits in less than 300KiB RAM, features a reactive property system, and is built with #Rust."
They support the Winit backend, so Wayland...✅
https://docs.slint.dev/latest/docs/slint/guide/backends-and-renderers/backend_winit/
...and all kinds of platforms:
https://docs.slint.dev/latest/docs/slint/guide/platforms/desktop/#tab-panel-46
Have a look at Material Toolkit:
https://material.slint.dev/
Pricing model: royalty-free, if not an embedded system:
https://slint.dev/pricing