3 ms·
Iced is a wonderful dead-simple framework. I hope it forever maintains the simplicity which combines nicely with Rust’s features. One thing I love about Iced a
by wonklebonkle 10mo ago
Iced is a wonderful dead-simple framework. I hope it forever maintains the simplicity which combines nicely with Rust’s features.
One thing I love about Iced and miss in Qt is writing the software in a single language. Qt has chosen to introduce multiple languages into their framework which makes the entire codebase a huge learning curve. In Qt you write your display layer in QML then your UI logic in Javascript and any backend advanced logic in C++. It is frankly exhausting.
In Iced you write in Rust and use Cargo packages. This gives the developer ultimate composability and clarity of their application as well as powerful tools from an established ecosystem. If Qt wanted to provide a powerful Qml tool, they have to write it and build all of the IDE integration.
For the record Qt used to be moving in a pure C++ direction but that changed when Qml came onto the scene.
- dotancohen 10mo agoI write all my Qt in Python. I've never used the C++ bindings. But in Python you don't need to deal with QML or JavaScript.
- wonklebonkle 10mo agoAre you writing QtWidgets or QtQuick in Python? My understanding is that QML is mandatory for QtQuick apps.
- dotancohen 10mo agoI use QtWidgets. I've never touched QtQuick.
- amelius 10mo agoI did some Qt programming in Python (PySide6), but ran into segfaults, which should of course not happen no matter what you do in a scripting language (except when using modules like ctypes). Many of these cases were related to object lifetime handling which is difficult to do correctly in Qt, and many people have written about it. In Python (a garbage-collected language) one should not have to worry about this.
- dotancohen 10mo agoI also use PySide. No segfaults, but I'm not doing anything complicated.
- ktpsns 10mo agoHaven't used Qt for a few years, but back then QML, QtQuick, etc have been optional features. You absolutely could write all your Qt logic in C++ only, in a somewhat similar way like the code shown in the iced READMEs. It is the same in any other classic GUI toolkit such as GTK+. Biggest drawback in qt/c++ used to be the MOC. I guess they still have not gone rid of it, haven't they?
- rubymamis 10mo agoI actually love that separation. QML is a great language for writing beautiful, responsive, modern UI with animations easily. C++ is great for performance and logic. I don't like Javascript but I don't need to write a whole lot of it. I wrote my note-taking app's block editor in QML and C++ if some people are curious[1]. [1] https://rubymamistvalove.com/block-editor https://rubymamistvalove.com/block-editor
- wonklebonkle 10mo agoDid you ever write a pure C++ Qt application with QtWidgets?
- rubymamis 10mo agoYes, my FOSS note-taking app[1] used to be pure Qt Widgets. Recently, I've added the Kanban feature that uses QML (this and the editor settings should be the only parts in QML, if I remember correctly). [1] https://github.com/nuttyartist/notes https://github.com/nuttyartist/notes
- mroche 10mo agoI gave Notes/Plume a try a year or so ago, it was an interesting experience. I ended up falling back to Joplin as I could use it on macOS, iOS, and Fedora with synchronization via Dropbox. I've always been curious about productizing apps like these, from a financial/business perspective have you found Daino worthwhile or enough of a success (by your standards) to continue developing it as a proprietary application?
- rubymamis 10mo agoHi! That put a smile on my face (: I'm working now on a mobile version with real-time sync, so maybe give it another try when it comes out. Not really, not yet. Once my FOSS app was popular I used to earn a livable amount of money from ads on the website. But after a SEO crash that all went down the drain and the money I'm getting now from subscriptions to Daino Notes is nice but not livable. I've been working the last year (at a really awesome place) doing React programming (my first salary job, actually) and at nights and weekends working on Daino. I actually got many requests to license Daino Notes' block editor. So I've figured there's a business there. I'm working on something I'm calling Daino Qt which is a collection of different components to accelerate Qt apps development (so I'm also its client). It will include my block editor, components for mobile - current Qt components on mobile are extremly shitty - so I'm planning on changing that with things like native-feeling swipeable stack view, native-feeling text editing, etc. And maybe Qt C++ client SDK for InstantDB (and more stuff). Hope I can sell this as well while also consuming these components for Daino Notes and other apps I will develop.