What is/are the limitations of Qt for iOS applications with Apple Xcode
-
As stated in the title, what is/are limitations of Qt in comparison with apps that are implemented using Objective-C under Xcode? Can a programmer build all kind of iOS applications using solely Qt? I've seen the examples that come with Qt creator. They are good but not as good as apps designed by Xcode.
-
In my opinion there aren't any real limitations (anymore). Sure Qt is definitely lacking some essential features, which would be really cool to have, but there is always a way to implement stuff natively. You also have to be prepared that you sometimes need to "build" your components manually. Some components that are already there and nicely animated in iOs/android, aren't available in Qt out of the box (or at least not in the form you would expect it from the native framework). But don't worry, you can always build those components yourself. There are plenty of styling options, powerful animators...
I have never created a native iOs/android application but I would assume that it's equally hard to create a nice looking application natively. Usually it takes some time and a few iterations to go from a "oh, that kind of works" app to a "wow, that really blows my mind how smooth that all works" app. You can pretty easily create an app with Qt that "works", but to create an app that blows people's minds you have invest some time (in animations, styling..). The examples that are provided are mostly just to demonstrate how a certain functionality works. Most of the time it's not really necessary for the example to "look good" , it should just demonstrate how you can implement that specific feature.
I have written a blog post about my experience with Qt a few months ago: https://gympulsr.com/blog/qt/2017/02/23/working-with-qt-mobile.html
There are many people out there that use Qt to develop mobile apps. Just to name a few:
- You can look at ekkes blog. He blogs often about his experiences with Qt and mobile app development (one of his apps is also available in the app store)
https://ekkescorner.wordpress.com/ - benlau's github repository is also great (https://github.com/benlau). He also has demo applications online.
- Never tried V-Play (https://v-play.net/), but there are many people out there that use it happily.
- You can look at ekkes blog. He blogs often about his experiences with Qt and mobile app development (one of his apps is also available in the app store)
-
in addition to @Schluchti 's comment I can confirm that you can develop cool APPs using Qt.
thx to QtQuickControls2 you can rely on a great set of UI / Navigation Controls.
these controls are fast and easy to customizethe problem with examples from QtCreator: most of them are outdated and not using the beautiful QQC2 - from Qt developer mailing lists I know that there's work on new examples based on QQC2.
take a look at iOS App store (search for 'Ekkehard Gentz') where you'll find some conference apps by me developed in my spare time.
next days I'll also publish a Bluetooth LE example app there (and at Google Play)
unfortunately most of my more complex APPs are business apps "hidden" at customers site.it depends from your requirements if you have to add native code. hopefully Qt will add more mobile-specific API in the future to make this easy.
most of my apps are written without native code. in fact I have no experience writing native code for iOS or Android.
it's really cool to develop mobile apps with QtI would recommend to start and test it out.
-
Hi @CroCo,
there are no real limitations, as it is even possible to run native Obj-C code with Qt Apps to access native device features. The main difference that you will notice immediately is that Qt apps do not come with the same look and feel that native apps provide.
To offer the same native user-experience on iOS and Android with your apps, you can have a look at V-Play Engine for Qt-based cross-platform Apps and Games. V-Play includes many components with native styles, transitions and effects for both iOS and Android.
You can have a look at the Component Showcase demo app to see how it looks in action:
Cheers,
GT -
+1 to what Ekke and GTDev say...
I have two apps on GPlay and the iOS App Store. Both developed utilizing Qt with QML for Mobile development.
Both have a good look and feel, not "blow your mind"... yet.
I've used PhoneGap, Cordova and the Intel XDK in the past for mobile development and had used Qt in the way-back for desktop development. I was excited when Qt started pushing to be cross platform for mobile apps... and am very happy with the process and the products. Qt/QML is THE only dev environment I will use now, for desktop & mobile apps.
I have had to add some native code to one of the apps (geolocation stuff), but once I figured it out, it works without issues.
I highly recommend jumping in and trying it out.
--Sam
-
Hi @CroCo,
there are no real limitations, as it is even possible to run native Obj-C code with Qt Apps to access native device features. The main difference that you will notice immediately is that Qt apps do not come with the same look and feel that native apps provide.
To offer the same native user-experience on iOS and Android with your apps, you can have a look at V-Play Engine for Qt-based cross-platform Apps and Games. V-Play includes many components with native styles, transitions and effects for both iOS and Android.
You can have a look at the Component Showcase demo app to see how it looks in action:
Cheers,
GT -
+1 to what Ekke and GTDev say...
I have two apps on GPlay and the iOS App Store. Both developed utilizing Qt with QML for Mobile development.
Both have a good look and feel, not "blow your mind"... yet.
I've used PhoneGap, Cordova and the Intel XDK in the past for mobile development and had used Qt in the way-back for desktop development. I was excited when Qt started pushing to be cross platform for mobile apps... and am very happy with the process and the products. Qt/QML is THE only dev environment I will use now, for desktop & mobile apps.
I have had to add some native code to one of the apps (geolocation stuff), but once I figured it out, it works without issues.
I highly recommend jumping in and trying it out.
--Sam