Developing BlackBerry 10 apps using
Vladimir Minenko, Qt team lead, Research in Motion Webcast on Dec 14, 2012 Qt Developer Days 2012 2 Points to convey
• A story … • What the heck is … • Where and how to start Qt Developer Days3 2012
A story of… Qt Developer Days 2012 4 A story of…
4.8.3 “BYO”
friends@RIM team@RIM
Nov 2011 May 2012 Today Q1 2013 Qt Developer Days 2012 5 A story of… Jan 30, 2013
4.8.3 “BYO”
friends@RIM team@RIM Community
Nov 2011 May 2012 Today Q1 2013 Qt Developer Days6 2012
BlackBerry 10 for developers Qt Developer Days 2012 7 BlackBerry 10 development
Native SDK WebWorks SDK
C/C++ Cascades HTML5
Android SDK AIR SDK
Java AS3 Flex Qt Developer Days 2012 8 BlackBerry 10 NDK
Cascades Developers QtGui Developers Game Developers
UI
QtGui Qt Quick
More under http://developer.blackberry.com/native/beta/documentation/ Qt Developer Days9 2012
BlackBerry 10 for developers Qt Developer Days 2012 10 Qt on BlackBerry 10
Qt UI apps Cascades UI apps (C++ and Qt Quick) (C++ and QML)
Qt-based Platform API Cascades UI framework
Qt Quick QtScript QtSvg QtCore QtNetwork QtGui Items and QtCreator QtWebKit specific elements plugin QtDeclarative QtSql QtXml QtXmlPatterns (temporarily) style
BlackBerry QPA plugin QNX adaptations adaptations
QNX + BlackBerry Platform API Qt Develope r Days 201211
Cascades UI vs. Qt UI?… What the heck?! December 14, 2012
http://www.flickr.com/photos/kalavink a/4617897952/ December 14, 2012
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
Qt Developer Days 2012 14 Cascades UI vs Qt UI? . 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 15 Qt on BlackBerry 10, again
Qt UI apps Cascades UI apps (C++ and Qt Quick) (C++ and QML)
Qt-based Platform API Cascades UI framework
Qt Quick QtScript QtSvg QtCore QtNetwork QtGui Items and QtCreator QtWebKit specific elements plugin QtDeclarative QtSql QtXml QtXmlPatterns (temporarily) style
BlackBerry QPA plugin QNX adaptations adaptations
QNX + BlackBerry Platform API Qt Developer Days 2012 16 Pure Qt apps
Qt UI apps (C++ and Qt Quick)
Qt-based Platform API Cascades UI framework
Qt Quick QtScript QtSvg QtCore QtNetwork QtGui Items and QtCreator specific elements plugin style QtDeclarative QtSql QtXml QtXmlPatterns
BlackBerry QPA plugin QNX adaptations adaptations
QNX + BlackBerry Platform API Qt Developer Days 2012 17 Cascades apps
Cascades UI apps (C++ and QML)
Qt-based Platform API Cascades UI framework
Qt Quick polish! QtScript QtSvg QtCore QtNetwork QtGui Items and QtCreator specific elements plugin style QtDeclarative QtSql QtXml QtXmlPatterns
BlackBerry QPA plugin QNX adaptations adaptations
QNX + BlackBerry Platform API Qt Developer Days 2012 18 Pure Qt UI on BlackBerry 10
• Qt Quick custom UI • Qt C++ widgets • BYO • BlackBerry 10 style Qt Developer Days 2012 19 Use platform APIs! . Full touch devices: now 1280x768, later 1280x720 . Keyboard devices: 720x720
. Tons of sensors . Bluetooth . NFC . Camera . GPS . and more…
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
Qt Developer Days 2012 21 Your tools . 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 22 Packaging
BAR Descriptor (XML)
BAR Files
Debug Token
RIM certificates
Signed BAR Developer BAR Certificates Qt Developer Days 2012 23 Metadata about your app . 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 24 Sandbox
Sandbox
data
logs
tmp
app Application Installation
shared User Shared Qt Developer Days25 2012
Get a simple Qt app on BB10 Qt Developer Days 2012 26 Fully open source, upstream . 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 27 What is next? . 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 28 Qt Developer Offers . 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 Days29 2012
BlackBerry Developer: https://developer.blackberry.com/ BlackBerry on Github: https://github.com/blackberry Slides and videos from BlackBerry Jams: http://hosting.desire2learncapture.com/RIM/ Group @ Qt Project: http://qt-project.org/groups/qt-blackberry-and-qnx Wiki @ Qt Project: http://qt-project.org/wiki/BlackBerry Offers: https://developer.blackberry.com/offers/qt Meet at the BlackBerry Jam Europe 5-6 February, Amsterdam
Thank you! Questions? Vladimir Minenko