Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOtherSide updates #4

Open
zigster64 opened this issue Feb 8, 2021 · 3 comments
Open

DOtherSide updates #4

zigster64 opened this issue Feb 8, 2021 · 3 comments
Labels
enhancement New feature or request help wanted 🛠 Extra attention is needed

Comments

@zigster64
Copy link
Contributor

Whats there in DOtherrSide is great, but there are pretty large gaps compared to the full QML API.

I have forked DOtherSide for now, and will attempt to fill in some gaps as I go, to add full support in Zig .. but its going to be a long process.

Basically, anything that isnt currently supported in DOtherSide, will put off trying to fix until we get 99% of the existing parts ported.

In terms of wrapping DOtherSide with a Zig API - its an interesting problem.

I really like the final API with the go-qml port, as you simply add Go objects to the QML and it just works. The implementation code is just horrible though, and not easy to port to Zig. Its mostly work to get around the fact that Go is not ABI compatible with C code.

The Rust binding is good to follow to get hints on what to do. However the user API that you end up with seems a bit convoluted.

Surprisingly, the D API looks great, and the implementation of DOtherSide is really clean and easy to follow. Wasnt expecting that !

@kassane
Copy link
Owner

kassane commented Feb 9, 2021

Dothersider has its limitations. This week, I was looking at this project in order to find a solution or alternative.
slint-ui/slint#142 (reply in thread)

@kassane kassane added the enhancement New feature or request label Mar 10, 2021
@kassane kassane added the help wanted 🛠 Extra attention is needed label May 20, 2022
@kassane
Copy link
Owner

kassane commented Aug 20, 2022

I have updated the correcting build.zig changes made by zig v.0.10-master (w/ stage2 backend default). And recently the new version of DOtherSide (v0.9.0) will support Qt5/Qt6.
It will probably be necessary to revise the translated API. Although currently, haven't seen any problems using stage1 & stage2 with Qt5.

Qt6 bug [Windows]: https://bugreports.qt.io/browse/QTBUG-103611

@kassane
Copy link
Owner

kassane commented Jul 2, 2023

The most recent commit the newest version of dotherside library with Qt6 support. After testing locally, some examples (*.qml) will need to be refactored.

Also, new potential enhancements using the experimental c2z transpiler are under testing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted 🛠 Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants