5 ms·
I wander why Qt/QML doesn't get much attention.
by zerr 11y ago
I wander why Qt/QML doesn't get much attention.
- boost_ 11y agoi think is because most people don't know how far Qt has come in terms of mobile development. most people hear Qt and immediately think about heavy desktop applications. its a shame really, Qt is pretty awesome atm for mobile development.
- oblio 11y agoMaybe C++ is also a showstopper for many?
- boost_ 11y agowhile that is certainly true, using QML you can build native apps using almost only javascript (if you want), most people have no idea about that too i suppose. but i agree, for many people C++ is a no-no, even though Qt C++ is pretty straightforward with all the helpers they provide (like the parent-child memory management).
- oblio 11y agoThe thing with QML: I think you still need C++ for more complex app logic.
- discreteevent 11y agoYou can write all of your Qt logic in javascript if you want to. It will probalbly still be much faster than a browser. But the thing is that Qt allows you to write your logic (and your ui) in C++ if you need to. It gives you somewhere to go when performance is an issue. And on mobile or embedded there is a high chance that only a compiled, no-vm, no-gc language like C/C++ or Objective C or Rust will give you the performance you need. One thing is for sure: If you have to build a cross platform native application be sure to first prototype the performance and processor/battery use of your technology choice. Even if you don't choose something like Qt at least you can write your backend in C++ and write a different native front end for each OS. But if you use e.g. web technology and don't prototype first there will be absolutely fire escape later. A lot of people have learned this the hard way.
- zerr 11y agoAll these QML/js stuff smells rather artificially put (into Qt) to me... I mean, why not have a functionality to define the scene (and not just a logic) in pure C++? I think one reason for QML/js is to (try) attract contemporary js/web devs.
- insulanian 11y ago> You can write all of your Qt logic in javascript if you want to. ... But the thing is that Qt allows you to write your logic (and your ui) in C++ if you need to. Maybe that sounds appealing to some, but for me is just choosing between two evils. Unsafe dynamic language on one side - kitchen-sink low-level language on the other side. I personally would like something in between, but still cross platform. F# with Xamarin looks most appealing to me, but Xamarin is unfortunately not free, so...
- pjmlp 11y agoLast time I checked (Qt 5.3), I was forced to duplicate native widgets on my own, and write my own Framework wrappers on Android, with zero support for Windows Store applications. From what I could understand in the Qt 5.5 release notes, this has hardly changed.
- forumuid 11y agoI have tried.The most simple widget app take about 15M size. the learning curve of QT framework is very steep,although Qml is very simple.
- 0xFFC 11y agoNone of answers is correct in my opinion. I follow Qt/Gtk news from old days (2005-4). The problem with Qt right now is its direction is not clear , all people remember when Qt was only C++ widget library.after a while because of one person decision they change whole direction to QML and RICH application development, and who knows ? maybe they changed it tomorrow again . at least behind react and and flutter and cordova there is big name
- pjmlp 11y agoThey seem trying to cater to the web folks with QML becoming the main focus and C++ for the infrastructure support. This is I idea I as an outsider get from the talks at Qt events and the various iterations of QML and WebViews that took place in the 5.x releases.
- loaaa 11y agoQML is elegant for GUI design.
- pjmlp 11y agoQML is slow, you only get the compiler in the commercial version. Still no proper support for mobile platforms. You basically have to write most of the bindings yourself. Specially a pain in Android, given JNI. Only QML widgets get some platform theme support, not the C++ ones, so you need to add the QML engine to the set of libraries to pack. Also you are supposed to code all native UI behaviours yourself, thus having more work than an hybrid development of native mobile OS language (views) + portable C++ libraries (business logic). If you pack Qt libraries with your application it is around 30 MB for the runtime dependencies. You can also scare the user by asking them to download the libraries as separate app instead. I got my demo application using Java + C++ and C++/CX + C++ around 5 MB. Finally if you look at the set of exposed platform APIs across all mobile OSes, they are way behind Xamarin and their commercial licenses are much more expensive.