SixtyFPS v0.0.6 - now with IDE support
Posted on April 27, 2021 by Olivier Goffart and Simon Hausmann
We have just released SixtyFPS v0.0.6, with many new features, including a Language Server Protocol (LSP) implementation for integration into popular IDEs.
SixtyFPS is a fresh, new graphical toolkit for desktop apps and embedded devices.
We're building a product to make UI development faster and easier, no matter what programming language, platform, or form-factor. Our toolkit consists of the following key components:
- A design-friendly markup language for UI elements
- An optimizing compiler to compile designs to native C++/Rust
SixtyFPS is Open Source and actively developed on GitHub. We also offer the option of a commercial license.
New in this version
Since our last release, we did some cool stuff like opacity, shadow, clipping of rounded rectangle, layout improvements, support for gradients, and much more. Currently, it is just the two of us happily coding, but we did receive a few external contributions - we are very grateful for them.
This release also includes new Rust and C++ APIs to dynamically load .60 files, with the
sixtyfps-interpreter crate in Rust,
sixtyfps::interpreter library in C++.
This also allows embedding a component as a QWidget in a Qt application.
We have made major improvements to our tooling:
- We added an experimental Figma importer tool.
- When we make breaking changes to the language, we now offer an updater tool, which upgrades the .60 files automatically from the previous version.
- We implemented an LSP Server featuring a live preview.
We contracted a professional designer to design a Demo for us - thank you Matthias Grimme!
Try this demo using our web assembly build. The build in the browser is our way of demonstrating the technology, the framework is meant to be used natively. Here is a video showing the demo running on a RasberryPi
SixtyFPS LSP Server
This is the highlight of the release. It features a live preview, which allows you to instantly see the result of your changes as you type. To enable the live preview, activate the "Show Preview" code action (💡) on the component you want to display.
The LSP also enables support for auto-completion and code navigation.
If you are using Visual Studio Code, the LSP can be installed directly from the market place. For other editors, the LSP binary can be installed with the following command:
For instructions on setting up various editors, such as Vim, Kate or Qt Creator, see our README.
cargo install sixtyfps-lsp
This video illustrates the UI preview experience on a Raspberry PI as an embedded device.
SixtyFPS is still in development and we would love to get your feedback. You can get in touch with us via our GitHub site, You can provide feedback using the issues or discussions on our GitHub site, email, or via chat on our Mattermost instance.
We're also available to engage in commercial projects to explore custom UI development with SixtyFPS.