Presentation is loading. Please wait.

Presentation is loading. Please wait.

Qt for Android (and Symbian)

Similar presentations


Presentation on theme: "Qt for Android (and Symbian)"— Presentation transcript:

1 Qt for Android (and Symbian)
Tam Hanna @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 Wrap-up 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 No permission model If user enables it
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

12 LightHouse

13 Getting started

14 Supported platforms Linux (Ubuntu 10.4 +) Mac OS Windows
Speaker recommends: Linux

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

16 Graphical set-up chmod +x linux-online-necessitas-alpha4.1-sdk-installer sudo ./linux-online-necessitas-alpha4.1-sdk-installer

17 Automatic deployment Tool fetches SDK „One Click Install“

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

19 Internal architecture

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

21 Solution: Ministro Sits in app stores
Auto-downloads libraries to device

22 Overview

23 GUI sniffing

24 GUI sniffing - II

25 Input

26

27 Project-speficic settings

28 Configure baseline

29 Application optics

30 Permissions

31 Permissions - II Signify what app does Help user decide

32 Libraries

33 Signing

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

35 Library management

36 Porting gotchas

37 Definitions

38 File includes All include paths are based on /.pro

39 Includes #include <qDebug> #include <QDebug>

40 gcc gotchas

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

42

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

44 Development options Carbide Qt Creator Eclipse-based Mature IDE
Limited to 4.6.3 Can not debug well Qt Creator Decent integration Debugs well Qt SDK auto-deploys toolkit

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

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

47 Ovi Store - III DL/t for game

48 Ovi Store - III DL/t for app

49 MeeGo

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

51 TiZen

52 What is it?

53 Will it be in v1? SDK for V1 is said to be web-only
However, Qt is used internally C/C++ runtime might be around (bada)

54 webOS

55 Why develop for it? Not dead yet Unofficial Qt port
GRAM Cooperation with LG planned Unofficial Qt port

56 Conclusion

57 Mobile is fragmented Multiple platforms C++ is common base line
Battle for mindshare and Winner is yet undecided C++ is common base line C++ is everywhere Even on iOS and Windows Phone 8

58 Mindshare is everything

59 Qt saves time Develop once, deploy multiple times
Increase mindshare Increase market presence More revenue Worst case: redo GUI with QML

60 ?!? - !?! tamhan@tamoggemon.com @tamhanna
Pictures from : Thanks ! ?!? - !?! @tamhanna


Download ppt "Qt for Android (and Symbian)"

Similar presentations


Ads by Google