Slint is an open-source declarative GUI toolkit to build native user interfaces for Rust, C++, JavaScript, or Python apps.
Find a file
2020-05-25 15:43:19 +02:00
.github/workflows Disable the WASM build 2020-05-19 16:35:19 +02:00
api Rename expressions -> expression_tree 2020-05-25 15:28:37 +02:00
examples Adapt the parser to parse := instead of = 2020-05-25 10:46:00 +02:00
helper_crates Some documentation fixes for item generated with #[vtable] 2020-05-22 12:38:55 +02:00
sixtyfps_compiler Fix the type of color 2020-05-25 15:43:19 +02:00
sixtyfps_runtime Fix crash in the viewer when there is a Text{} 2020-05-25 13:15:10 +02:00
tools Rename expressions -> expression_tree 2020-05-25 15:28:37 +02:00
.clang-format Reformat public header with Qt's clang-format 2020-05-11 15:20:17 +02:00
.gitignore Ignore some generated files 2020-05-11 08:59:39 +02:00
Cargo.toml Initial import of a syntax_updater tool that rewrite files 2020-05-25 10:07:43 +02:00
README.md Minor README edits 2020-05-06 09:53:33 +02:00
rustfmt.toml Initial commit laying out the structure 2020-05-04 10:49:58 +02:00

SixtyFPS

This is the monolithic repository of the SixtyFPS project.

What is SixtyFPS

It is a GUI engine, with libraries for different languages. The aim of the project is to be

  • Lightweight: We aim to provide a runtime that fits in a few MB. Minimize the RAM usage, and also be blazing fast.
  • Straightforward: We want to optimize as well for programmer and designer productivity. Making it an enjoyable experience to work with. We claim to use well thought idiomatic API for each target language. Provide well written documentation. And use of modern tools.
  • Native: We support many platforms. From embedded devices, to desktop, including mobile and web. One should feel at home on each platform. Both the user and the developer. The appearance and look and feel should match was is expected of an application build for this platform.

<insert a few screenshots here>

SixtyFps.cpp

Modern C++ Library for GUI

SixtyFps-rs

Rust GUI library

SixtyFps-js

NodeJS bindings

The .60 DSL

HelloWorld = Window {
 TextLabel { text: "Hello, world" }
}

The compiler

The runtime library

Examples / Demo

Todo

Contributions

Contributions are welcome. To contribute, please see CONTRIBUTING.md. Contributions are done under a CLA.

License

The software is provided under a double license scheme

  • GNU GPLv3: Open source license ideal for free software.
  • Commercial SixtyFps license: more details to come.