Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for...

23
Building native apps for BB10/PlayBook for iOS developers BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations – Research In Motion

Transcript of Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for...

Page 1: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

Building native apps for BB10/PlayBook for iOS developersBB10/PlayBook for iOS developers

Ranbijay Kumar & Prakash Sainani

Developer Relations – Research In Motion

Page 2: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

BlackBerry 10SDKs

C++/QtCascades

ActionScriptAdobe®AIR®

HTML5 BlackBerry®

WebWorks™C/C++

Native SDK

JavaAndroid™Runtime

Beta SDKs for every blackberry 10 development environment! What we recently launched: -- New beta of the native SDK including the new “astonishing” Cascades UI framework -- New beta of the HTML5 WebWorks SDK including full support for BB10 -- Providing updates to the BBUI JavaScript framework that allows Web developers to build html5 apps that look and feel like native apps (learn more about this later) -- New Beta of the AIR SDK and full support of BlackBerry 10 in our Android Runtime SDK YOU CHOOSE which environment is right for you (based on your skills or the nature of your app). Once you pick the path that’s fits best, jump in! Everything you need is all there.
Page 3: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

Architecture

Native & HTML5 Apps

HTML/CSS

JavaScript

CascadesQML

Android Apps Adobe AIR Apps

Java

.apk

Action Script

.swf

Open GL

Open AL

WebKit JavaScript C++

QNX Kernel

Platform APIs

Android Runtime AIR Runtime

Network Storage

Qt C++ C/C++

Audio/Video Graphics Push i18n …

C/C++

In addition to HTML5 WebWorks and our Native SDK w/Cascades, we also support the BlackBerry Runtime for Android Apps as well as Adobe AIR Again, Choice and Flexibility! This is what developing for BlackBerry is all about. All the tools, APIs, Documentation, Sample Apps, Specs, Design guidelines are there for you now. Choose the application framework that best for you, and get going!
Page 4: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

Native Native RuntimeRuntime

AIR AIR RuntimeRuntime

AndroidAndroidPlayerPlayer

Web Web RuntimeRuntime

BlackBerry 10 FoundationsPlatform APIs & Core Packages

Application Application InfrastructureInfrastructure

ApplicationsApplications

Application Application PlatformPlatformPayment Advertising CalendarPush Data Notification Phone

BBM™ BBM™ Service

System ServiceSystem Service

OSOS

InfrastructureInfrastructure PlatformPlatformPayment

Invocation

Advertising

Share

CalendarPush Data

Contacts

Notification

Messages

Phone

Tasks

ServiceService

Lifecycle

Configuration

Utilities

Cascades

Backup / RestoreBackup / Restore

i18n

Search

Instrument�n

Config Balance

Navigator Installer LauncherAuthenticatio

nAuthenticatio

nMultimedia SQLite NFC

Memory Management

Memory Management

Process ManagementProcess

ManagementPower

ManagementPower

ManagementIPC File System

Device DriversDevice Drivers

Window ManagerWindow Manager

WebKit Protocols Network DRM Crypto …

Analytics

Within the SDKs, we’re providing a full complement of APIs to enable you to build BlackBerry 10 applications. A big part of this is making sure that we provide you with the right set of APIs that enables your applications to: FLOW into, CONNECT with, and EXTEND from BlackBerry 10 Plus, rich platform APIs that enable you to integrate with BlueTooth, NFC, Advertising, Payment Services, LBS, Analytics. ?Everything you need to make a successful application
Page 5: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

BB10iOS

The Platforms

UIKit Cascades / QML

iOS (Kernel) & Drivers

Core Services

Graphics and Audio

Application Frameworks[Maps, Message …]

DriversBB10 (QNX micro-kernel) &

Drivers

Core Services (/BPS)

Graphics and Audio

Application Frameworks[Qt, Maps, PIM, Share …]

Posix

Webkit

Page 6: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

BB10iOS

Types of Apps

Native

(Objective C and Cocoa Touch UIKit, OpenGL)

Native

(C/C++, QML, Cascades, OpenGL)

Web Apps

Native with WebviewPhoneGap…

UIKit, OpenGL)

Web Apps

Native with WebviewWebWorks, PhoneGap…

OpenGL)

Page 7: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

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.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.

Page 8: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

Momentics IDE

Project Explorer – access project code, resources, settings Components – Drag and drop these to the Code View to have element templates added to the view QML Code View – Code in QML with real-time parser validation, code completion, auto-formatting (Ctrl+Shift+F) Design View – Real time representation of the QML code. Note: Will not display anything done in Cpp Outline – Shows the tree outline of the QML document, highlighting the cursored code QML Properties – Modify properties of QML elements directly
Page 9: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

BlackBerry WebWorks

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

Talking points: “What if you could build a BlackBerry application using Web technologies? You can!” WebWorks is not just a wrapper – it’s a fully featured platform. The main value added by WebWorks is native device capabilities.
Page 10: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

BlackBerry Web Platform

§ Driven by strong Web standards support

§ Powered by WebKit§ HTML5 and CSS3

http://acid3.acidtests.orghttp://html5test.com

447

§ HTML5 and CSS3§ Flash 11 and WebGL

http://www.craftymind.com/guimark3/

Talking points: BlackBerry has the strongest level of web standards support among all mobile web platforms. BlackBerry is the ONLY platform to offer native WebGL to its developers. RIM is a leading contributor to the WebKit open source project.
Page 11: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

HTML5 powered by WebWorks

HTML5, CSS3, JavaScript

WebKit engine

WebWorks platform

BlackBerry Developer APIs

https://developer.blackberry.com/html5/api

Talking points: HTML5 content is powered by WebKit on BlackBerry – any improvements to the WebKit engine automatically benefit Web apps. Though the power of the WebWorks platform this content has access to BlackBerry Developer APIs: HTML5 content powered by native capabilities.
Page 12: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

How to get there?

Web Assets WebWorks Tools BlackBerry Applications

Demo: build sample app using Ripple & WebWorks BB10
Page 13: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

BlackBerry 10 ExperienceCascades: Out-of-the-Box Elegance

With the new Cascades UI framework, you as developers have all the building blocks to easily and quickly create compelling experiences that FLOW, CONNECT, and EXTEND. This is what we call, “Out of the box elegance” It starts with all the basic UI controls being there, pre-baked and ready to use. They already have that elegance, that flow, with smooth animations and motion built in for you. Then it goes beyond that to Containers, Layout, and composite controls, like action bars, list views, cross-cut menus that you can drop into your app This comes back to delivering that user experience for BlackBerry People that we’ve been talking about.
Page 14: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

BlackBerry® WebWorks™ &

bbUI.jsFuture-Proof Native Web Apps

bbUI.js -- This is an open source JavaScript implementation that provides the same UI controls that you have in Cascades! This allows your web applications to behave and perform just like native BB10 apps! It also works on BB5, BB6, and BB7 devices –though, with these devices as you want and expect, the UI components behave and look like the native UI for those devices.
Page 15: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

A closer look at applications

Page 16: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

Settings / App Menu

Page 17: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

Tab Bar

Page 18: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

Tab Overflows (BB10 Sidebar)

Page 19: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

Context Menu

Custom buttons in the navigation bar

toolbar

Page 20: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

TableView / ListView

Page 21: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

Notifications

Page 22: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

� 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.

PlayBook/BB10 developmentBAR files

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

40sec
Page 23: Building native apps for BB10/PlayBook for iOS developers€¦ · Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations –Research

THANK YOU

developer.blackberry.com

[email protected]

[email protected]