600 likes | 615 Views
Learn about Qt for Android and Symbian, its development process, platforms, light house projects, graphical set-up, SDK deployment, GUI sniffing, porting gotchas, and why to develop for Symbian. A comprehensive guide for developers.
E N D
Qt for Android (and Symbian) Tam Hanna tamhan@tamoggemon.com @tamhanna
About /me • Tam HANNA • CEO, Tamoggemon Ltd. • Runs web sites about mobile computing • Writes scientific books
Overview • Qt for Android (focus) • Qt for • Symbian • MeeGo • TiZen • webOS • Wrap-up
Largest mobile OS by share Data: IDC 2012, Market Share Q3
Android is open • Runs ANY app • If user enables it • 50 000 app stores • No permission model • User is NOT root
Android is Java • Apps run in special VM called DALVIK • Pretty high performance • But: NDK is available • Allows use of C++ code
Android is „fragmented“ • Many vendors • Different form factors • Many stores • Many back-ends • Analyst buzzword • Low practical relevance – like PalmOS
Community-driven port • Started by Bogdan Vatra • 2011 • „Aquired“ by KDE • Provides server infrastructure, etc • No support from Nokia • Digia mentioned in press release
Supported platforms • Linux (Ubuntu 10.4 +) • Mac OS • Windows • Speaker recommends: Linux
Getting started • Install Ant 1.8 and OpenJDK • sudo apt-get install ant • sudo apt-get install openjdk-6-jdk
Graphical set-up • http://necessitas.kde.org/necessitas/necessitas_sdk_installer.php • chmod +x linux-online-necessitas-alpha4.1-sdk-installer • sudo ./linux-online-necessitas-alpha4.1-sdk-installer
Automatic deployment • Tool fetches SDK • „One Click Install“
Starting Necessitas • tamhan@ubuntu:~$ cd NecessitasQtSDK/ • tamhan@ubuntu:~/NecessitasQtSDK$ cd QtCreator/ • tamhan@ubuntu:~/NecessitasQtSDK/QtCreator$ cd bin • tamhan@ubuntu:~/NecessitasQtSDK/QtCreator/bin$ sudo ./necessitas
Library versioning • Qt is updated frequently • Legal reasons • Downward compatibility is pretty good • Qt is large • 7MB binary, or more • Memory is limited
Solution: Ministro • Sits in app stores • Auto-downloads libraries to device
Permissions - II • Signify what app does • Help user decide
Signing - II • Android Signing verifies producer • This binary is from workstation A • NO rights / trust transfer except for update
File includes • All include paths are based on /.pro
Includes • #include <qDebug> • #include <QDebug>
Specific eekers • Native code bits? • Platform-specific files • .pro.user files • Soft keys?
Why develop for Symbian • Symbian is DEAD • But: devices still in circulation • Top especially in Latin America
Carbide Eclipse-based Mature IDE Limited to 4.6.3 Can not debug well Qt Creator Decent integration Debugs well Qt SDK auto-deploys toolkit Development options
Ovi Store - I • Ovi Store can drive huge volume • 1 million downloads => no issue • VERY low conversion rates • 1:1000 or less
Ovi Store - II • Limited device reach for Qt content • Not every Qt-capable device is enabled • Forget Ovi for China • 3 cents / Dollar
Ovi Store - III • DL/t for game
Ovi Store - III • DL/t for app
Dead platform • N900 and N9 sold decently well • Few thousand technically savvy users • Jolla plans Chinese device • But: good tooling