Rust: Difference between revisions
(kdev-cargo is now a KDE project) |
(More doc links) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== KDE | [[File:Rust-logo-512x512-blk.png|thumbnail|right|The Rust Programming Language logo]] | ||
= Rust in KDE = | |||
== KDE projects that use Rust == | |||
=== Rust Qt Binding Generator === | ==== Ikona — an icon preview utility for KDE Plasma ==== | ||
Repo: https://invent.kde.org/kde/ikona | |||
==== ActivityDesk — a Qt/KDE-centric ActivityPub (Mastodon) client ==== | |||
Repo: https://invent.kde.org/jalcine/activitydesk | |||
== KDE tools for Rust == | |||
[[File:Rust-kde.png|thumbnail|right|Rust Qt Binding Generator logo]] | |||
==== Rust Qt Binding Generator ==== | |||
To use Rust code from Qt and QML code | To use Rust code from Qt and QML code | ||
Repo: https://cgit.kde.org/rust-qt-binding-generator.git/about/ | Repo: https://cgit.kde.org/rust-qt-binding-generator.git/about/ | ||
=== KDevelop Rust Language Support Plugin === | ==== Kate LSP Plugin ==== | ||
To | 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 ==== | |||
To work on Rust code & projects in KDevelop. | |||
Repo: https://cgit.kde.org/kdev-rust.git/about/ | Repo: https://cgit.kde.org/kdev-rust.git/about/ | ||
=== KDevelop Cargo Support Plugin === | ==== KDevelop Cargo Support Plugin ==== | ||
To manage, build and run Rust packages (crates) with Cargo. | To manage, build and run Rust packages (crates) with Cargo. | ||
Repo: https://cgit.kde.org/kdev-cargo.git/about/ | Repo: https://cgit.kde.org/kdev-cargo.git/about/ | ||
=== | = Documentation = | ||
[[File:Cuddlyferris.png|thumbnail|right|Ferris the crab — Rust mascot]] | |||
==== Rust Documentation Hub ==== | |||
Contains multiple knowledge bases, of which the most useful for beginners are probably [https://doc.rust-lang.org/book/ The Book] and [https://doc.rust-lang.org/stable/rust-by-example/ Rust By Example]. | |||
Link: https://doc.rust-lang.org/ | |||
=== | ==== Tutorials and guides ==== | ||
* [https:// | * [https://www.youtube.com/channel/UC0yCXVwW6FdDQGYA-3OWXxw YouCodeThings] — short video tutorials about programming in Rust | ||
* [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://www.breakdown-notes.com/make/load/rust_cs_canvas/true Rust Breakdown Notes] | |||
* [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://michael-f-bryan.github.io/rust-ffi-guide/ Using unsafe for Fun and Profit] — tutorial for CMake-based Qt GUI using Rust library for the business logic | |||
* [https://os.phil-opp.com Writing an OS in Rust] — a series of tutorials about "close to the metal" programming in Rust | |||
=== | = Useful components for KDE development = | ||
* [https:// | ==== C/C++ <-> Rust bridging ==== | ||
* [https://github.com/rust-qt/ritual ritual] - crate generator to use C++/Qt libraries from Rust | |||
* [https://github.com/rust-lang/rust-bindgen bindgen] - Rust binding generator for C libraries | |||
* [https://github.com/eqrion/cbindgen cbindgen] — C binding generator for Rust crates |
Revision as of 17:52, 1 April 2020
Rust in KDE
KDE projects that use Rust
Ikona — an icon preview utility for KDE Plasma
Repo: https://invent.kde.org/kde/ikona
ActivityDesk — a Qt/KDE-centric ActivityPub (Mastodon) client
Repo: https://invent.kde.org/jalcine/activitydesk
KDE tools for Rust
Rust Qt Binding Generator
To use Rust code from Qt and QML code
Repo: https://cgit.kde.org/rust-qt-binding-generator.git/about/
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
To work on Rust code & projects in KDevelop.
Repo: https://cgit.kde.org/kdev-rust.git/about/
KDevelop Cargo Support Plugin
To manage, build and run Rust packages (crates) with Cargo.
Repo: https://cgit.kde.org/kdev-cargo.git/about/
Documentation
Rust Documentation Hub
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