IOS & Android native look-and-feel
-
Hello,
I'm developing for iOS platform for 3 years and has a bit experience in Windows Phone mobile developing.
I and my friend wanna to create free cross-platform app (iOS & Android).
Now we try to find a appropriate framework.Unfortunately there is no free one, except Qt, that produces native app in result, not web-app (e.g. PhoneGap, Titanium). Xamarin very expensive for the app that would not benefits us. Free Xamarin version have annoying limitation for result app size.
So, I started to browse Qt 5.1 and Qt 5.2 beta that provide deploying to devices with iOS and Android.
In first look I was very enthusiastic - slots, signals, QML, many third party libs - all of this stuff looks useful and logical.
But then I went further and created a first hello world app for iOS, I discovered a problem with native application look'n'feel.
In release message has been mentioned, that Qt provides a native controls for all supporting platforms.
Google did not helps me so much. I found only this "topic":http://qt-project.org/forums/viewthread/35184/ with 0 replies.
Help me, please, and answer for some question.Is there any way to create native controls for iOS & Android?
If it is not possible, can I use .xib or .storyboard files in a Qt project? (I will be happy, if I can split model from view)
Does framework ready for submitting Qt-based apps for AppStore or Google Play?
Thanks for reading and I'm very sorry for my terrible english.
Anton Serov.
-
Hi and welcome to devnet,
I would recommend asking these questions on the interest mailing list, you'll find there Qt's developers/maintainers (this forum is more user oriented) There are not yet a lot of experienced user for the iOS port since it's relatively new.
-
Hi Anton
1.) The native Lok&Feel for iOs is not ready yet and I think it will take some time. You can create your own look&feel with both QWidget and QML
2.) Do not start to mix technologies. Stay as much you can with one.
When you start writing your app with Qt stay with Qt. You can mix ObjectivC with C++ but keep in mind that you have to rename your .cpp file in .mm when you mix it. You only have to rename the file where your mixing happens.3.) For PlayStore I definitely can confirm that. For AppStore: I think digia tested that already but I'm not quite sure.
As SGaist mentioned ask your question to the developer list directly.
Cheers
-
Thank you gays for quick and useful response.
If mailing to developer list clarifying some moments, I definitely write it here. -
I can answer for point 3.
I made an app with Qt 5.1 with iOS and Android (only in preview), and I successfully submitted on Google Play and Apple Store.For submitting on Apple Store, don't use the Qt Creator for generating the app, but use directly XCode in this way you can control every aspect of the provisioning profile and Info.plist data.
(support for iOS deployment via Qt Creator is still in beta on Qt 5.2 RC1) -
-
Hi, Anton.
In current version controls doesn't have native look'n'feel, but, imho, it's not a big deal, because you're able to style them. The bigger issue, which I see, is - transitions. There are no such native things like push/pop navigation, presenting modals, so on. You need to implement all this stuff by yourself (or look through internet if someone already did this, or even do it and share your solution with community). But most part of your codebase will be the same for both platforms, it might be not only logic units, but some view partials as well.Qt is awesome, but we must admit, that is still has some bugs, defects and other issues.
To fix them, we should contribute to community and share our experience.
Do not immerse your hands and do it :)P.S. I also have been developing for iOS for about three years, but I really like Qt and I believe in this awesome framework for mobile as well.
-
"There are no such native things like push/pop navigation, presenting modals, so on."
"StackView":http://qt-project.org/doc/qt-5/qml-qtquick-controls-stackview.html does not fulfill your requirements?
-
Hi, Vincent007.
It's almost the same what I mean, but it still need to be tuned to look as native one.