April 27, 2021 by Olivier Goffart and Simon Hausmann

SixtyFPS v0.0.6 - now with IDE supportBlog RSS

We have just released SixtyFPS v0.0.6, with many new features, including a Language Server Protocol (LSP) implementation for integration into popular IDEs.


What's SixtyFPS

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
  • A run-time library with APIs in C++, Rust and JavaScript
  • 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, and the 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:

Screenshot of Printer Demo
Screenshot of the printer demo

Demos

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 RaspberryPi

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:

cargo install sixtyfps-lsp

For instructions on setting up various editors, such as Vim, Kate or Qt Creator, see our README.

This video illustrates the UI preview experience on a Raspberry PI as an embedded device.

What’s next?

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.


Comments

Slint is a Rust-based toolkit for creating reactive and fluent user interfaces across a range of targets, from embedded devices with limited resources to powerful mobile devices and desktop machines. Supporting Android, Windows, Mac, Linux, and bare-metal systems, Slint features an easy-to-learn domain-specific language (DSL) that compiles into native code, optimizing for the target device's capabilities. It facilitates collaboration between designers and developers on shared projects and supports business logic development in Rust, C++, JavaScript, or Python.