webcast - developing blackberry 10 apps using qt

29
Developing BlackBerry 10 apps using Vladimir Minenko, Qt team lead, Research in Motion Webcast on Dec 14, 2012

Upload: others

Post on 11-Feb-2022

7 views

Category:

Documents


0 download

TRANSCRIPT

Developing BlackBerry 10 apps

using

Vladimir Minenko, Qt team lead, Research in Motion

Webcast on Dec 14, 2012

• A story …

• What the heck is …

• Where and how to start

Qt Developer Days 2012 2

Points to convey

A story of…

Qt Developer Days 2012 3

Qt Developer Days 2012 4

4.8.3

“BYO”

Nov 2011 May 2012

team@RIM

A story of…

Today

friends@RIM

Q1 2013

Qt Developer Days 2012 5

4.8.3

“BYO”

Nov 2011 May 2012

Jan 30, 2013

team@RIM

A story of…

Today

friends@RIM Community

Q1 2013

BlackBerry 10 for developers

Qt Developer Days 2012 6

BlackBerry 10 development

Qt Developer Days 2012 7

WebWorks SDK

HTML5

AIR SDK

AS3 Flex

Native SDK

C/C++ Cascades

Android SDK

Java

BlackBerry 10 NDK

Qt Developer Days 2012 8

More under http://developer.blackberry.com/native/beta/documentation/

Cascades Developers QtGui Developers Game Developers

UI

QtGui

Qt Quick

BlackBerry 10 for developers

Qt Developer Days 2012 9

Qt Quick

Qt Developer Days 2012 10

Qt on BlackBerry 10

QNX + BlackBerry Platform API

Cascades UI apps (C++ and QML)

Qt UI apps (C++ and Qt Quick)

QtCore QtNetwork

QtDeclarative

QtScript QtSvg

QtSql QtXmlPatterns QtXml

QPA plugin QNX adaptations BlackBerry adaptations

Qt-based Platform API

Items and elements

QtWebKit

Cascades UI framework

QtCreator plugin

QtGui

specific style (temporarily)

Cascades UI vs. Qt UI?…

What the heck?!

Qt

Develope

r Days

2012 11

December 14, 2012

http://www.flickr.com/photos/kalavink

a/4617897952/

We do like QtQuick2! But… Qt 5 won’t be ready in time for BlackBerry 10

QML only

No set of native controls

UI thread can block rendering

We already have TAT’s Cascades engine

December 14, 2012

Cascades is native BlackBerry 10 UI framework

Allows writing apps in C++ or/and QML in a Qt way!

It is based on Qt but…

Has an own client-server scenegraph-based

rendering backend (does not use Qt for this)

You have to decide upfront which UI framework to use

But!! You can use non-UI BlackBerry 10 platform API in Qt UI apps

More about Cascades and platform API:

https://developer.blackberry.com/cascades/documentation

Qt Developer Days 2012 14

Cascades UI vs Qt UI?

Qt Quick

Qt Developer Days 2012 15

Qt on BlackBerry 10, again

QNX + BlackBerry Platform API

Cascades UI apps (C++ and QML)

Qt UI apps (C++ and Qt Quick)

QtCore QtNetwork

QtDeclarative

QtScript QtSvg

QtSql QtXmlPatterns QtXml

QPA plugin QNX adaptations BlackBerry adaptations

Qt-based Platform API

Items and elements

QtWebKit

Cascades UI framework

QtCreator plugin

QtGui

specific style (temporarily)

Qt Quick

Qt Developer Days 2012 16

Pure Qt apps

QNX + BlackBerry Platform API

Qt UI apps (C++ and Qt Quick)

QtCore QtNetwork

QtDeclarative

QtScript QtSvg

QtSql QtXmlPatterns QtXml

QPA plugin QNX adaptations BlackBerry adaptations

Qt-based Platform API

Items and elements

Cascades UI framework

QtCreator plugin

QtGui

specific style

Qt Quick

Qt Developer Days 2012 17

Cascades apps

QNX + BlackBerry Platform API

Cascades UI apps (C++ and QML)

QtCore QtNetwork

QtDeclarative

QtScript QtSvg

QtSql QtXmlPatterns QtXml

QPA plugin QNX adaptations BlackBerry adaptations

Qt-based Platform API

Items and elements

Cascades UI framework

QtCreator plugin

QtGui

specific style

polish!

Qt Developer Days 2012 18

Pure Qt UI on BlackBerry 10

• Qt C++ widgets

• BlackBerry 10 style • Qt Quick custom UI

• BYO

Full touch devices: now 1280x768, later 1280x720

Keyboard devices: 720x720

Tons of sensors

Bluetooth

NFC

Camera

GPS

and more…

Qt Developer Days 2012 19

Use platform APIs!

Qt Developer Days 2012 20

Your first steps Check http://qt-project.org/wiki/BlackBerry

Register @RIM and get signing keys

Download, install and setup the BlackBerry 10 NDK:

http://developer.blackberry.com/native/documentation/bb10/getting_sta

rted.html

Download and setup QtCreator 2.6.x

Get an “Hello World” app done

BlackBerry 10 NDK

Cross-compile toolchain

Qt 4.8.x

Momentics IDE

BlackBerry 10 Simulator

QtCreator 2.6.x or newer

Dev Alpha device

Qt Developer Days 2012 21

Your tools

Qt Developer Days 2012 22

Packaging

Files

BAR

Descriptor

(XML)

BAR

Signed

BAR BAR

Debug

Token

RIM

certificates

Developer

Certificates

Mandatory!

Written in the “BAR descriptor file”, XML based

Versions (build, platform, etc)

Names and IDs (author, app, package, etc)

Assets (files your app uses, incl. libs)

The icon and the splash-screen

Entry point

Permissions needed

Qt Developer Days 2012 23

Metadata about your app

Qt Developer Days 2012 24

Sandbox

data

logs

tmp

app

shared

Sandbox

Application Installation

User Shared

Get a simple Qt app on BB10

Qt Developer Days 2012 25

Focus on Qt4 mid-term

We work on Qt fully upstream!

Need(ed) to revert/add a few commits in rare cases

Use internal branches for integration and image builds

Run local Jenkins-based CI

Qt Developer Days 2012 26

Fully open source, upstream

Launch BlackBerry 10!

Launch BlackBerry 10!!

Launch BlackBerry 10!!

Qt home page on http://developer.blackberry.com/qt

Revive Qt Mobility for Qt4 in the Qt community

Get BlackBerry 10 integrated with the Qt Project CI

Work on the integration of Qt5 as an add-on lib

Explore how integrate BlackBerry WebKit in Qt

And more…

Qt Developer Days 2012 27

What is next?

Submit your BlackBerry 10 porting plan and you may be eligible for a

developer alpha device

RIM will make a one-time donation of $10K USD to the Qt Project

Hosting Foundation if 50 eligible Qt apps are ported to BlackBerry 10 by

the Qt community

https://developer.blackberry.com/offers/qt

Qt Developer Days 2012 28

Qt Developer Offers