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

Post on 04-Jul-2020

8 views 0 download

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

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

Ranbijay Kumar & Prakash Sainani

Developer Relations – Research In Motion

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.

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!

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

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

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)

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.

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

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.

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.

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.

How to get there?

Web Assets WebWorks Tools BlackBerry Applications

Demo: build sample app using Ripple & WebWorks BB10

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.

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.

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

� 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

THANK YOU

developer.blackberry.com

rankumar@rim.com

psainani@rim.com