3 ms·
Agreed that QML isn't C++, but it can be connected to C++ code, and the "enacting clause" to start QML UI happens in main()... I have used Boost and love how i
by jasonjei 9y ago
Agreed that QML isn't C++, but it can be connected to C++ code, and the "enacting clause" to start QML UI happens in main()...
I have used Boost and love how it has influenced the direction of std::C++. Do you see any potential for the C++ standard to build off of Boost in building a UI standard?
- kosenko 9y agoWeb browser engines also can be connected to C++ code and I think that this way is more promising that QML-way. It is very early to say, but Boost.UI library has some potential to be included in C++ standard.
- dkersten 9y agoYou can use QtQuick without QML (although its a bit of effort) and Qt itself is very modern C++ friendly with support for example for using lambda's as slots and such. You can also (and should, IMHO) treat QML as a purely data description of the UI (as you would if your UI was created with a GUI builder, which QML can also be, as eg libglade does for GTK, or html or whatever), then you can easily do all of your logic in C++ without writing any javascript logic. I've actually done this for parts of an application: I created QObjects in C++ and in QML I attached QML properties (signals) to my C++ objects methods (slots) for the logic. It was pretty nice. Basically, you can think of QML as a data serialisation format describing the UI. Just throwing in my experience with Qt. I haven't used Boost.UI so have no opinions on it, but I'm sure its great too! (although its clearly early days, QtQuick has a super rich widget library, Boost.UI still needs some more work -- still, a promising start) One differentiator to point out is that Boost.UI uses system widgets. I personally prefer QtQuick's GPU composited custom widgets (not that the native ones don't do this, just that it works really well for me in Qt), but sometimes its desirable (and some people prefer it) to use system native widgets. Boost.UI looks like a great choice for this.