Building native apps for BB10/PlayBook for iOS developers

Ranbijay Kumar & Prakash Sainani Developer Relations – Research In Motion BlackBerry 10 SDKs

Java ActionScript C/C++ C++/Qt HTML5 BlackBerry ® Android ™ ™ Adobe ® AIR ® Native SDK Cascades WebWorks Runtime Architecture

Native & HTML5 Apps Android Apps Adobe AIR Apps

HTML/CSS Open GL Java Action Script Cascades QML JavaScript Open AL .apk .swf

WebKit JavaScript C++ C/C++ Android Runtime AIR Runtime

Platform APIs

Qt C++ C/C++

Network Storage Audio/Video Graphics Push i18n …

QNX Kernel BlackBerry 10 Foundations Platform APIs & Core

PackagesApplications

Android Native Web AIR Player Runtime Runtime Runtime

Application BBM™ Application Payment Advertising Push Data Notification Phone Calendar Infrastructure Service Platform

Invocation Share Analytics Contacts Messages Tasks …

Configuration Cascades Search Config Balance

Backup / Lifecycle Utilities i18n Instrument n … Restore

System Service Authenticatio Navigator Installer Launcher Multimedia SQLite NFC n Window WebKit Protocols Network DRM Crypto … Manager

OSOS Memory Process Power Device IPC File System … Management Management Management Drivers The Platforms

iOS BB10

UIKit Cascades / QML

Application Frameworks Webkit Application Frameworks [Maps, Message …] [Qt, Maps, PIM, Share …] Graphics and Audio Graphics and Audio

Core Services Core Services (/BPS)

iOS (Kernel) & Drivers Posix BB10 (QNX micro-kernel) & Drivers Types of Apps

iOS BB10

Native Native

(Objective C and Cocoa Touch (C/C++, QML, Cascades, UIKit , OpenGL) OpenGL)

Web Apps Web Apps

Native with Webview Native with Webview PhoneGap… WebWorks, PhoneGap… Native and Web Apps in BB10

Ÿ C/C++ is used widely due to it’s portability. It’s a true cross-platform language (combined with POSIX)

 Enables Lots of BB10 Open Source Frameworks  iOS can also run C/C++ apps (Objective-C++). Developers are starting to look into this option for cross -platform savings. Ÿ Simple on iOS (just rename your .m file into .mm and add objective- C++) Ÿ Html5

 Enables Lots of BB10 Open Source Frameworks  BB10 can also run PhoneGap, Sencha and other cross-platform supportive frameworks. Momentics IDE BlackBerry WebWorks

“A cross-platform HTML5 application framework for creating standalone BlackBerry applications “ BlackBerry Web Platform

447 § Driven by strong support § Powered by WebKit http://html5test.com http://acid3.acidtests.org § HTML5 and CSS3 § Flash 11 and WebGL

http://www.craftymind.com/guimark3/ HTML5 powered by WebWorks

HTML5, CSS3, JavaScript

WebKit engine

WebWorks platform

BlackBerry Developer APIs

https://developer.blackberry.com/html5/api How to get there?

Web Assets WebWorks Tools BlackBerry Applications BlackBerry 10 Experience Cascades: Out-of-the-Box Elegance BlackBerry ® WebWorks™ & bbUI.js Future-Proof Native Web Apps A closer look at applications Settings / App Menu Tab Bar Tab Overflows (BB10 Sidebar) Context Menu

Custom buttons in the navigation bar

toolbar TableView / ListView Notifications PlayBook/BB10 development BAR files

Ÿ A BAR file is the native PlayBook/BlackBerry 10 application package

 What APP files are for iOS, BAR files are for BlackBerry Ÿ BAR files contain executables, images, media, etc.

Ÿ blackberry-deploy: load a packaged app onto the device  The device has to be in development mode THANK YOU

[email protected] developer.blackberry.com [email protected]