Developing Apps for the BlackBerry PlayBook

Preview:

DESCRIPTION

Using Adobe AIR to write apps for the BlackBerry PlayBook

Citation preview

Building Apps for BlackBerry PlayBook

Terry RyanAdobe Developer Evangelisthttp://terrenceryan.com@tpryan

I work for Adobe

Not for RIM

Why am I here?

The PlayBook

HardwareDimentions Height 5.1” / 130mm Width 7.6” / 194mm Depth 0.4” / 10mm Weight 0.9 lbs /400g

Performance 7” LCD display 1024 x 600 Multi-touch capacitive screen 1 GHz dual-core processor 1 GB RAM Symmetric multi-processing

Media 3 MP forward facing camera 5 MP rear-facing camera 1080p HD video; H.264, MPEG4,

WMV HDMI video output (full OS output,

not limited to image/video) Stereo sound speakers

Connections Micro USB and Micro HDMI ports Wi-Fi® 802.11 a/b/g/n Bluetooth ® 2.1 +EDR

BlackBerry Tablet OS

BlackBerry Tablet OS

• Based on QNX® Neutrino® RTOS

• Reliable, high-performance kernel engineered for multi-core hardware

• Multi-threaded POSIX OS (Portable Operating System for Unix) for true multitasking

Developer Options• Tablet OS SDK for Adobe AIR• Browser based

• Flash Player 10.1• HTML 5

• WebWorks for Tablet OS• Native C/C++ Open GL SDK

(tbd)• Java SDK (tbd)• Android dealio (tbd)

AIR SDKAIR SDK• Used in default

Applications

Adobe AIR

What is AIR?

AIR is Flash outside the browser

Has hooks to interact with the system

Flash on Mobile

Flash Player 10.1 + • In-browser content• Games, video• Deploy as a SWF,

put on the web• Currently 10.2

Air 2.5 + • Mobile applications• Native APIs, extra

functionality• Package to target

individual devices

AIR for Desktop

app.air

AIR for Devices

app.bar

app.apk

app.ipa

“Native Application”

• AIR for Device Applications are “Native”• That means they can

be put on app stores• NOT that the UI

components are native

We can use Flash to build “native applications”

Except on the PlayBook

On PlayBook AIR = Native Applications

not “Native Applications”

Why Flash on Devices

AIR is MultiScreen

Is it “write once, run

everywhere”?

No

Write once, tweak and configure everywhere

Developing

Roll your own ActionScript UI

QNX UI Framework

Flex Mobile UI Framework

QNX

Pros

• Low Level• High

Performance• Default UI• Complete UI

Cons• Limits app to

PlayBook• Data components

not as rich as UI

Demo

Getting Started with QNX

Flex

Pros

• Higher Level• Slight

Performance Cost

• Rich Data model

Cons• UI options aren’t as

Rich

Demo

Going a little further with Flex

The Spectrum of Frameworks

Performance - Simplicity

Features - Complexity

Advantages Same components

native apps are using Performance Basic skinning,

container, layout and invalidation

Advantages CSS Skinning Model

(Complex but more robust, with tooling)

Application Framework

Binding/MXML Extensive layout and

container classes Invalidation and

component life cycle More components

Roll your own

Pros

• Extreme Performance

• Great for traditional Flashers

Cons• Lot of work• Not so hot for

traditional coders

AIR APIs

Accelerometer CameraRol l CacheAsBitMapMatr ix GeoLocat ion Touch, Mult iTouch, and Gesture StageOr ientat ion SystemIdleMode NavigateToURL

PlayBook APIs

qnx.media.QNXStageWebView StageWebView with more integrat ion into the webkit on

the P layBook qnx.system.QNXAppl icat ion

Bevel swipe down event qnx.system.Device

Battery level , s tate, and monitor Device info (bsn, hardwareID, vendor ID, etc…)

qnx.media.MediaPlayer Hardware accelerated play black of media and other non-

F lash supported codecs Not ifi cat ions* Extending AIR app with Nat ive C/C++ app*

Conclusions

Powerful Hardware

Opportunity for profitability

Low barriers to entry

MultiScreen is real

Next Steps

AvailabilityFlex and Flash Builder 4.5• BlackBerry

– ActionScript Only– QNX

• Android– ActionScript Only– Flex

• IOS– ActionScript Only

Flex and Flash Builder 4.5.1

• BlackBerry– ActionScript Only– Flex– QNX

• Android– ActionScript Only– Flex

• IOS– ActionScript Only– Flex

First Week of May Mid June

Get started

• http://bit.ly/AdobePlaybook–Flash Builder 4.5 Beta–PlayBook AIR SDK–PlayBook Simulator–Adobe Developer Center

Follow up?

• Feel free to contact me–terry.ryan@adobe.com–http://terrenceryan.com–Twitter: @tpryan

Recommended