SixtyFPS v0.0.6 GUI Toolkit: Now with IDE Support
sixtyfps.io
sixtyfps.io
SixtyFPS is the first project with a company behind it which uses femtovg, a Rust nanovg port. https://github.com/femtovg/femtovg for rendering. SixtyFPS added WebGL support which lets you run femtovg in the browser https://tronical.github.io/femtovg/examples/index.html.
Recently, femtovg added an experimental wgpu backend which is for now in my fork of the project https://github.com/adamnemecek/femtovg.
Join the femtovg discord https://discord.com/invite/V69VdVu.
https://github.com/sixtyfpsui/sixtyfps#the-60-markup-languag...
- Library is under the GPL 3, vastly more restrictive than most existing GUI toolkits
- WebAssembly rendering in Firefox most certainly not living up to the name. I think the slide animations on the print example are managing around 5-10 fps
- Keyboard input / control focus seems absent in the demos. This would also suggest the much more important detail of accessibility also missing
- Compiles layouts to code. Is this really necessary? Visual cortex places severe restraint on how much complexity can go into a UI. Code generation on the other hand says a lot about how painful the dev-build-debug cycle is likely to be.
We went for dual licensing (GPL / commercial) in hope of creating a sustainable project.
We do have basic focus handling but the demos don’t really try to show that off - that’s more tailored towards touch based input at the moment. But we’d love to have a17y, full desktop like tab focused etc.
Regarding the compilation: the ability to live preview individual components or the entire design and seeing changes being applied on the fly (we have an interpreter for that) speeds the ui dev cycle a lot. Give it a try :)
EDIT: Profiler says CPU-wise the page is 95% idle.
Golang with the interpreter we well, but the RealThing(tm) would be a full code generator and binding to the runtime library. That would be awesome, but a little bit more work.
I quite like Go, it’s simplicity and GC is really convenient.
In short: we try to do one thing (UI) and do it well :)
and sure enough, i was right back in HN after a few clicks. https://news.ycombinator.com/item?id=24786721
in case Widgets and QML and HTML in one app wasn't bad though
Jokes aside, we added this embedding because of a specific user need.