Rust: Difference between revisions
cxx-qt, autocxx |
ActivityDesk no longer exists |
||
Line 12: | Line 12: | ||
Repo: https://invent.kde.org/kde/ikona | Repo: https://invent.kde.org/kde/ikona | ||
==== Angelfish — Mobile-friendly webbrowser ==== | ==== Angelfish — Mobile-friendly webbrowser ==== |
Revision as of 18:20, 13 November 2022
Rust in KDE
Communication
Telegram: https://t.me/kderust
IRC: #kde-rust on Libera Chat
KDE projects that use Rust
Ikona — an icon preview utility for KDE Plasma
Repo: https://invent.kde.org/kde/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
Rust Qt Binding Generator
To use Rust code from Qt and QML code
Repo: https://invent.kde.org/sdk/rust-qt-binding-generator
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
- Rust Breakdown Notes
- A Guide to Porting C/C++ to Rust
- bindgen docs
- Using unsafe for Fun and Profit — tutorial for CMake-based Qt GUI using Rust library for the business logic
- 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