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

Webcast - Developing BlackBerry 10 apps using Qt

Feb 11, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Webcast - Developing BlackBerry 10 apps using Qt

Developing BlackBerry 10 apps

using

Vladimir Minenko, Qt team lead, Research in Motion

Webcast on Dec 14, 2012

Page 2: Webcast - Developing BlackBerry 10 apps using Qt

• A story …

• What the heck is …

• Where and how to start

Qt Developer Days 2012 2

Points to convey

Page 3: Webcast - Developing BlackBerry 10 apps using Qt

A story of…

Qt Developer Days 2012 3

Page 4: Webcast - Developing BlackBerry 10 apps using Qt

Qt Developer Days 2012 4

4.8.3

“BYO”

Nov 2011 May 2012

team@RIM

A story of…

Today

friends@RIM

Q1 2013

Page 5: Webcast - Developing BlackBerry 10 apps using Qt

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

Page 6: Webcast - Developing BlackBerry 10 apps using Qt

BlackBerry 10 for developers

Qt Developer Days 2012 6

Page 7: Webcast - Developing BlackBerry 10 apps using Qt

BlackBerry 10 development

Qt Developer Days 2012 7

WebWorks SDK

HTML5

AIR SDK

AS3 Flex

Native SDK

C/C++ Cascades

Android SDK

Java

Page 8: Webcast - Developing BlackBerry 10 apps using Qt

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

Page 9: Webcast - Developing BlackBerry 10 apps using Qt

BlackBerry 10 for developers

Qt Developer Days 2012 9

Page 10: Webcast - Developing BlackBerry 10 apps using Qt

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)

Page 11: Webcast - Developing BlackBerry 10 apps using Qt

Cascades UI vs. Qt UI?…

What the heck?!

Qt

Develope

r Days

2012 11

Page 12: Webcast - Developing BlackBerry 10 apps using Qt

December 14, 2012

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

a/4617897952/

Page 13: Webcast - Developing BlackBerry 10 apps using Qt

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

Page 14: Webcast - Developing BlackBerry 10 apps using Qt

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?

Page 15: Webcast - Developing BlackBerry 10 apps using Qt

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)

Page 16: Webcast - Developing BlackBerry 10 apps using Qt

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

Page 17: Webcast - Developing BlackBerry 10 apps using Qt

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!

Page 18: Webcast - Developing BlackBerry 10 apps using Qt

Qt Developer Days 2012 18

Pure Qt UI on BlackBerry 10

• Qt C++ widgets

• BlackBerry 10 style • Qt Quick custom UI

• BYO

Page 19: Webcast - Developing BlackBerry 10 apps using Qt

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!

Page 20: Webcast - Developing BlackBerry 10 apps using Qt

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

Page 21: Webcast - Developing BlackBerry 10 apps using Qt

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

Page 22: Webcast - Developing BlackBerry 10 apps using Qt

Qt Developer Days 2012 22

Packaging

Files

BAR

Descriptor

(XML)

BAR

Signed

BAR BAR

Debug

Token

RIM

certificates

Developer

Certificates

Page 23: Webcast - Developing BlackBerry 10 apps using Qt

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

Page 24: Webcast - Developing BlackBerry 10 apps using Qt

Qt Developer Days 2012 24

Sandbox

data

logs

tmp

app

shared

Sandbox

Application Installation

User Shared

Page 25: Webcast - Developing BlackBerry 10 apps using Qt

Get a simple Qt app on BB10

Qt Developer Days 2012 25

Page 26: Webcast - Developing BlackBerry 10 apps using Qt

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

Page 27: Webcast - Developing BlackBerry 10 apps using Qt

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?

Page 28: Webcast - Developing BlackBerry 10 apps using Qt

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