Rust: Difference between revisions
m →Communication: Corrected Matrix room link |
Fixing visualization |
||
| (4 intermediate revisions by 3 users not shown) | |||
| Line 7: | Line 7: | ||
IRC: #kde-rust on Libera Chat | IRC: #kde-rust on Libera Chat | ||
== Getting started == | |||
* [https://develop.kde.org/docs/getting-started/kirigami/setup-rust/ Kirigami with Rust] Create your first Kirigami application with Rust. | |||
* [https://develop.kde.org/docs/getting-started/rust/ Rust with Kirigami] Create KDE applications using Rust. | |||
== KDE projects that use Rust == | == KDE projects that use Rust == | ||
| Line 12: | Line 17: | ||
==== Ikona — an icon preview utility for KDE Plasma ==== | ==== Ikona — an icon preview utility for KDE Plasma ==== | ||
Repo: https://invent.kde.org/ | Repo: https://invent.kde.org/sdk/ikona | ||
==== Angelfish — Mobile-friendly webbrowser ==== | ==== Angelfish — Mobile-friendly webbrowser ==== | ||
| Line 22: | Line 27: | ||
== KDE tools for Rust == | == KDE tools for Rust == | ||
[[File:Rust-kde.png|thumbnail|right|Rust Qt Binding Generator logo]] | [[File:Rust-kde.png|thumbnail|right|Rust Qt Binding Generator logo]] | ||
==== Kate LSP Plugin ==== | ==== Kate LSP Plugin ==== | ||
| Line 60: | Line 61: | ||
* [https://blog.devolutions.net/2018/06/insider-series-using-rust-code-in-a-cc-project-with-cmake Using Rust Code in a C/C++ Project with CMake] | * [https://blog.devolutions.net/2018/06/insider-series-using-rust-code-in-a-cc-project-with-cmake Using Rust Code in a C/C++ Project with CMake] | ||
* [https://github.com/nrc/r4cppp Rust for C++ programmers] | * [https://github.com/nrc/r4cppp Rust for C++ programmers] | ||
* [https://locka99.gitbooks.io/a-guide-to-porting-c-to-rust/content/ A Guide to Porting C/C++ to Rust] | * [https://locka99.gitbooks.io/a-guide-to-porting-c-to-rust/content/ A Guide to Porting C/C++ to Rust] | ||
* [https://rust-lang.github.io/rust-bindgen/ bindgen docs] | * [https://rust-lang.github.io/rust-bindgen/ bindgen docs] | ||
* [https://os.phil-opp.com Writing an OS in Rust] — a series of tutorials about "close to the metal" programming in Rust | * [https://os.phil-opp.com Writing an OS in Rust] — a series of tutorials about "close to the metal" programming in Rust | ||
* [https:// | * [https://jbb.ghsq.de//misc/2020/12/21/rust-in-a-kde-project.html Rust in a KDE Project] — Post on using Rust code in a C++/CMake project | ||
= Useful components for KDE development = | = Useful components for KDE development = | ||
Latest revision as of 15:50, 6 September 2025

Rust in KDE
Communication
Matrix: https://go.kde.org/matrix/#/#kde-rust:kde.org
IRC: #kde-rust on Libera Chat
Getting started
- Kirigami with Rust Create your first Kirigami application with Rust.
- Rust with Kirigami Create KDE applications using Rust.
KDE projects that use Rust
Ikona — an icon preview utility for KDE Plasma
Repo: https://invent.kde.org/sdk/ikona
Angelfish — Mobile-friendly webbrowser
Rust code is used in the ad blocker.
Repo: https://invent.kde.org/plasma-mobile/angelfish
KDE tools for Rust

Kate LSP Plugin
Rust Language Server can be used in Kate via the LSP plugin.
Repo: https://invent.kde.org/kde/kate/-/tree/master/addons%2Flspclient
KDevelop Rust Language Support Plugin (unmaintained)
To work on Rust code & projects in KDevelop.
Repo: https://invent.kde.org/unmaintained/kdev-rust
KDevelop Cargo Support Plugin (unmaintained)
To manage, build and run Rust packages (crates) with Cargo.
Repo: https://invent.kde.org/unmaintained/kdev-cargo
Ideas to use Rust
Dbus daemons that could be implemented in Rust and are self-contained :
- solid
- baloo
- kioslave
- Core of of Gui application in Qt
Documentation

Rust Bookshelf
Contains multiple knowledge bases, of which the most useful for beginners are probably The Book and Rust By Example.
Link: https://doc.rust-lang.org/
Tutorials and guides
- YouCodeThings — short video tutorials about programming in Rust
- Using Rust Code in a C/C++ Project with CMake
- Rust for C++ programmers
- A Guide to Porting C/C++ to Rust
- bindgen docs
- Writing an OS in Rust — a series of tutorials about "close to the metal" programming in Rust
- Rust in a KDE Project — Post on using Rust code in a C++/CMake project
Useful components for KDE development
C/C++ <-> Rust bridging
- KDAB's cxx-qt — Safe Rust bindings for Qt
- ritual — Crate generator to use C++/Qt libraries from Rust
- bindgen — Rust binding generator for C libraries
- cbindgen — C binding generator for Rust crates
- cxx — Crate that generates safe binding code between rust and C++
- Google's autocxx — Tool for safe ergonomic Rust/C++ interop driven from existing C++ headers