Targeting multiple mobile platforms with Qt Creator Aurindam Jana - - PowerPoint PPT Presentation

targeting multiple mobile platforms with qt creator
SMART_READER_LITE
LIVE PREVIEW

Targeting multiple mobile platforms with Qt Creator Aurindam Jana - - PowerPoint PPT Presentation

Targeting multiple mobile platforms with Qt Creator Aurindam Jana Aurindam Jana IRC: auri__ : #qt #qt-creator QML http://www.apple.com http://www.clker.com http://qt-project.org http://svengraph.deviantart.com Target Audience Users


slide-1
SLIDE 1

Targeting multiple mobile platforms with Qt Creator

Aurindam Jana

slide-2
SLIDE 2

QML

Aurindam Jana

IRC: auri__ : #qt #qt-creator

http://www.apple.com http://www.clker.com http://qt-project.org http://svengraph.deviantart.com

slide-3
SLIDE 3

Target Audience

  • Users migrating from Desktop to

Mobile platforms.

  • Users targeting multiple Mobile

platforms with new or existing apps.

slide-4
SLIDE 4

Strategies to target multiple mobile platforms Develop and deploy using Qt Creator

Agenda

http://www.iconarchive.com/artist/svengraph.html http://www.iconarchive.com/artist/dakirby309.html

slide-5
SLIDE 5

Strategies to target multiple mobile platforms with Qt

http://www.iconarchive.com/artist/svengraph.html http://www.iconarchive.com/artist/dakirby309.html

slide-6
SLIDE 6

Qt is glorious!

  • Faster Development Time

– Shorter learning curve – Common code base – Comprehensive cross-platform tools

  • High performance
  • Smaller and cohesive team
  • Higher ROI, Faster Time to market
slide-7
SLIDE 7

... but Qt is not a magician!

  • Functional tools.
  • Need to use them appropriately.
slide-8
SLIDE 8

UI / Presentation Layer QML Model / Controller / Engine / Backend C++

Application Architecture

slide-9
SLIDE 9

http://www.iconarchive.com/artist/designcontest.html http://www.iconarchive.com/artist/svengraph.html http://developer.android.com/design/style/iconography.html

QML Presentation Layer Resource Loader

QFileSelector / QQmlFileSelector

C++ Engine

UI Resources

slide-10
SLIDE 10

Native UI (Look-and-Feel)

Android BB10 iOS QML Presentation Layer C++ Backend ...

slide-11
SLIDE 11

UI Navigation

QML Presentation Layer C++ Backend State machine

slide-12
SLIDE 12

Platform / Device features

slide-13
SLIDE 13

Code Maintainence

  • Smoke check builds after incremental changes
  • Test performance and UI on all platforms after incremental

changes

  • CI is your best friend
slide-14
SLIDE 14

Develop and deploy using Qt Creator

http://www.iconarchive.com/artist/svengraph.html http://www.iconarchive.com/artist/dakirby309.html

slide-15
SLIDE 15

Qt Development tools

Qt Creator

http://www.iconarchive.com/artist/babasse.html http://www.stevenbrown.ca/blog/archives/tag/icons http://www.iconarchive.com/artist/mattahan.html http://www.doublejdesign.co.uk http://www.iconarchive.com/artist/designcontest.html http://www.iconarchive.com/artist/svengraph.html http://git-scm.com/downloads/logos

slide-16
SLIDE 16

Qt Development tools

Version info

  • Qt version info – 5.1.1
  • Qt Creator version info – 3.0
  • Sailfish SDK version info – latest alpha (Oct 1, 2013)
slide-17
SLIDE 17

Setting up Android

  • Android SDK

– For Windows: Install Android Debug Bridge provided

by device manufacturer to enable USB debugging.

  • Android NDK
  • Apache Ant v1.8 or later
  • JDK / OpenJDK v6 or later
  • Run <adb>/sdk/tools/android update sdk
  • Configure Qt Creator
slide-18
SLIDE 18

Setting up Blackberry

  • Blackberry 10 NDK
  • Run sdkinstall --install x.x.x.x
  • Run sdkinstall --simulator (Requires VMPlayer)
  • Configure Qt Creator
slide-19
SLIDE 19

Setting up for iOS

  • Install latest XCode

– iOS SDK – Command line tools

  • Get a developer license
  • Configure Qt Creator
  • Deployment works out of the box
  • Debugging support – Qt Creator 3.0
slide-20
SLIDE 20

Setting up for Sailfish

  • Requires VirtualBox
  • Sailfish SDK from www.sailfish.org website
slide-21
SLIDE 21
  • Dedicated Resource Handler
  • Keep styles in separate QML components
  • Use a state machine for UI navigation
  • Do not assume platform / device features
  • CI is your best friend
  • Development environment setup
  • Build and Deploy

Summary

slide-22
SLIDE 22

THANK YOU

Contact IRC: auri__ : #qt #qt-creator