Skip to content

Commit efbca0f

Browse files
committed
Update the comparison section
1 parent 0511506 commit efbca0f

File tree

1 file changed

+21
-23
lines changed

1 file changed

+21
-23
lines changed

README.md

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -283,35 +283,33 @@ method. Now send us a Pull Request. 🙂
283283
[`QVariant`]: https://docs.rs/qmetaobject/latest/qmetaobject/struct.QVariant.html
284284
[docs.qttypes]: https://docs.rs/qttypes/latest/qttypes/#cargo-features
285285

286-
## Comparison with other projects
286+
## Comparison to Other Projects
287287

288-
This crate objective is to make idiomatic Rust bindings for QML (and only QML, no QWidgets or other
289-
non-graphical Qt API) in a way that doesn't need you to know or use C++ and other build system.
290-
This crates is the best achieving this.
288+
The primary goal of this crate is to provide idiomatic Rust bindings for QML.
289+
It focuses solely on QML, not QWidgets or any other non-graphical Qt API.
290+
The aim is to eliminate the need for users to know or use C++ and other build systems.
291+
This crate excels in achieving this goal.
291292

292-
* **[CXX-Qt](https://github.com/KDAB/cxx-qt/)** still makes you to write a bit of boiler-plate code
293-
in C++ and use extra build step to compile the C++.
294-
CXX-Qt is ideal to bring some Rust in an existing C++ project. But less so when you just want to
295-
make an UI for a Rust-only application.
293+
* **[CXX-Qt](https://github.com/KDAB/cxx-qt/)** is an ideal solution for incorporating some Rust into an existing C++ project.
294+
CXX-Qt is newer than this crate and utilizes Rust features such as attribute macro,
295+
which didn't exist when the qmetaobject crate was designed.
296+
(Only derive procedural macro were available in stable Rust at that time)
296297

297-
The CXX-Qt is also more recent that this crate and make use of Rust features such as attribute
298-
macro, that did not exist when the qmetaobject crate was designed.
299-
(Only derive procedural macro were available in stable rust rust at the time)
298+
* The **[Rust Qt Binding Generator](https://invent.kde.org/sdk/rust-qt-binding-generator)**
299+
is another project that aids in integrating Rust logic into an existing C++/Qt project.
300+
This project was also developed before Rust had procedural macros, so it uses an external .json file to generate C++ and Rust code.
300301

301-
* Similarly, the **[Rust Qt Binding Generator](https://invent.kde.org/sdk/rust-qt-binding-generator)**
302-
is another project that helps to integrate Rust logic in an existing C++/Qt project. This was also
303-
created before rust had procedural macros, so it uses an external .json file to generate C++ and
304-
Rust code.
305-
306-
* There exist also a bunch of older crates that tries to provide Rust binding around the Qt C++ API.
302+
* There are also several older crates that attempted to provide Rust binding around the Qt C++ API.
307303
Often automatically generated, these bindings are not idiomatic Rust, require unsafe code to use,
308-
and are not maintained anymore.
304+
and are no longer maintained.
305+
306+
* **[Slint](https://slint.rs)** is a project created by the author of this crate.
307+
Slint is not a QML or Qt binding, but a new language inspired from QML, entirely implemented in Rust.
308+
It shares the same objective of providing a means to add a UI to a Rust project with idiomatic Rust API, but instead of using QML for the UI, it uses its own language.\
309+
[![Slint Logo](https://slint.dev/logo/slint-logo-simple-light.svg)](https://slint.rs)
309310

310-
* **[Slint](https://slint-ui.com)** is a project created by the same author of this crate.
311-
It is not a QML or Qt binding at all, but rather a new language similar to QML, entirely
312-
implemented in Rust.
313-
It has the same goal as providing a new to add a UI to a Rust project with idiomatic Rust API,
314-
but instead of using QML for the UI, it uses its own language.
311+
The qmetaobject crate is currently only being passively maintained as focus has shifted towards developing Slint.
312+
You are encouraged to explore [Slint](https://slint.rs) as an exciting, innovative alternative for creating GUI in Rust projects.
315313

316314
## Applications built with this crate
317315

0 commit comments

Comments
 (0)