Building Apps for BlackBerry PlayBook Terry Ryan Adobe Developer Evangelist
I work for Adobe Not for RIM
Why am I here?
The PlayBook
Hardware Dimentions 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® a/b/g/n Bluetooth ® 2.1 +EDR
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 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 In-browser content Games, video Deploy as a SWF, put on the web Currently 10.2 Air Mobile applications Native APIs, extra functionality Package to target individual devices
AIR for Desktop app.a ir
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 CameraRoll CacheAsBitMapMatrix GeoLocation Touch, MultiTouch, and Gesture StageOrientation SystemIdleMode NavigateToURL
PlayBook APIs qnx.media.QNXStageWebView StageWebView with more integration into the webkit on the PlayBook qnx.system.QNXApplication Bevel swipe down event qnx.system.Device Battery level, state, and monitor Device info (bsn, hardwareID, vendorID, etc…) qnx.media.MediaPlayer Hardware accelerated play black of media and other non-Flash supported codecs Notifications* Extending AIR app with Native C/C++ app*
Conclusions
Powerful Hardware
Opportunity for profitability
Low barriers to entry
MultiScreen is real
Next Steps
Availability Flex and Flash Builder 4.5 BlackBerry – ActionScript Only – QNX Android – ActionScript Only – Flex IOS – ActionScript Only Flex and Flash Builder BlackBerry – ActionScript Only – Flex – QNX Android – ActionScript Only – Flex IOS – ActionScript Only – Flex First Week of MayMid June
Get started –Flash Builder 4.5 Beta –PlayBook AIR SDK –PlayBook Simulator –Adobe Developer Center
Follow up? Feel free to contact me –