Download
qt for android and symbian n.
Skip this Video
Loading SlideShow in 5 Seconds..
Qt for Android (and Symbian) PowerPoint Presentation
Download Presentation
Qt for Android (and Symbian)

Qt for Android (and Symbian)

151 Views Download Presentation
Download Presentation

Qt for Android (and Symbian)

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Qt for Android (and Symbian) Tam Hanna tamhan@tamoggemon.com @tamhanna

  2. About /me • Tam HANNA • CEO, Tamoggemon Ltd. • Runs web sites about mobile computing • Writes scientific books

  3. Overview • Qt for Android (focus) • Qt for • Symbian • MeeGo • TiZen • webOS • Wrap-up

  4. What is Android

  5. Largest mobile OS by share Data: IDC 2012, Market Share Q3

  6. Android is open • Runs ANY app • If user enables it • 50 000 app stores • No permission model • User is NOT root

  7. Android is Java • Apps run in special VM called DALVIK • Pretty high performance • But: NDK is available • Allows use of C++ code

  8. Android is „fragmented“ • Many vendors • Different form factors • Many stores • Many back-ends • Analyst buzzword • Low practical relevance – like PalmOS

  9. Qt for Android

  10. Community-driven port • Started by Bogdan Vatra • 2011 • „Aquired“ by KDE • Provides server infrastructure, etc • No support from Nokia • Digia mentioned in press release

  11. LightHouse

  12. Getting started

  13. Supported platforms • Linux (Ubuntu 10.4 +) • Mac OS • Windows • Speaker recommends: Linux

  14. Getting started • Install Ant 1.8 and OpenJDK • sudo apt-get install ant • sudo apt-get install openjdk-6-jdk

  15. 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

  16. Automatic deployment • Tool fetches SDK • „One Click Install“

  17. Starting Necessitas • tamhan@ubuntu:~$ cd NecessitasQtSDK/ • tamhan@ubuntu:~/NecessitasQtSDK$ cd QtCreator/ • tamhan@ubuntu:~/NecessitasQtSDK/QtCreator$ cd bin • tamhan@ubuntu:~/NecessitasQtSDK/QtCreator/bin$ sudo ./necessitas

  18. Internal architecture

  19. Library versioning • Qt is updated frequently • Legal reasons • Downward compatibility is pretty good • Qt is large • 7MB binary, or more • Memory is limited

  20. Solution: Ministro • Sits in app stores • Auto-downloads libraries to device

  21. Overview

  22. GUI sniffing

  23. GUI sniffing - II

  24. Input

  25. Project-speficic settings

  26. Configure baseline

  27. Application optics

  28. Permissions

  29. Permissions - II • Signify what app does • Help user decide

  30. Libraries

  31. Signing

  32. Signing - II • Android Signing verifies producer • This binary is from workstation A • NO rights / trust transfer except for update

  33. Library management

  34. Porting gotchas

  35. Definitions

  36. File includes • All include paths are based on /.pro

  37. Includes • #include <qDebug> • #include <QDebug>

  38. gcc gotchas

  39. Specific eekers • Native code bits? • Platform-specific files • .pro.user files • Soft keys?

  40. Why develop for Symbian • Symbian is DEAD • But: devices still in circulation • Top especially in Latin America

  41. 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

  42. Ovi Store - I • Ovi Store can drive huge volume • 1 million downloads => no issue • VERY low conversion rates • 1:1000 or less

  43. Ovi Store - II • Limited device reach for Qt content • Not every Qt-capable device is enabled • Forget Ovi for China • 3 cents / Dollar

  44. Ovi Store - III • DL/t for game

  45. Ovi Store - III • DL/t for app

  46. MeeGo

  47. Dead platform • N900 and N9 sold decently well • Few thousand technically savvy users • Jolla plans Chinese device • But: good tooling