Modularizing Slint Applications
Better scalability for cross-platform, declarative GUI toolkit Slint
Slint is a Rust-based alternative to the C++ based Qt toolkit, building on the same conceptual grounds as Qt's declarative UI framework QML - but providing a memory-safe and leaner option. This project aims to make Slint applications more modular and scalable by addressing limitations in its compiler and backend architecture. Currently, Slint requires a single compiler invocation, and all components must be accessed through the top-level module - making library distribution more difficult than necessary. This project will finalize work on modular compiler support and global handles while exploring API improvements that allow splitting UI and backend code across multiple crates or targets.
Expected outcomes include faster build times, reusable Slint libraries, and flexible project architectures. Users benefit from maintainable, scalable applications, easier integration with backend code in any language, and a more collaborative Slint ecosystem. By enabling modularity, this work empowers the community to build larger, high-performance UI applications efficiently.
- The project's own website: https://slint.dev
Run by SixtyFPS GmbH
This project was funded through the NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101135429. Additional funding is made available by the Swiss State Secretariat for Education, Research and Innovation (SERI).