PhoneGap: BlackBerry

Java, J2ME, RIM's browser implementation


Blackberry
Nitobi Logo Large

Fil Maj


Web & Mobile Development


Nitobi

Overview of the SDKs and PhoneGap support

thumbs up

Chart (Rough) Overview of the BlackBerry Market

Fragmented.

PhoneGap applications can realistically target 40-50% of all Blackberry devices right now; this number can only grow in the future.

What Can We Do On A BlackBerry?

PhoneGap API, pretty much everything the iPhone can... except:

Browser is limited. No XUI, limited DOM implementation and primitive JavaScript error handling. More on this in a bit.

Standards: We've seen this problem before

Web standards

For PhoneGap to achieve its goal, it needs to have a consistent API across platforms.

BlackBerry Browser Implementation

Support for 'experimental' rendering necessary. Only available for recent SDKs, main reason for exclusion of old models. This came up on StackOverflow...

A lot of JavaScript and the DOM implementation, which is mostly standards-compliant, works in the BlackBerry browser application, but is NOT available in the Field aka Web View.

Device & Browser Nuances

We've said this before: simulator != device

The Browser has two rendering modes. Column View:

...and Page View. Page View is better. Simply add: <meta name="HandheldFriendly" content="True" /> to the <head> of your PhoneGap page to trigger Page View.

PhoneGap BlackBerry Architecture / Design

Follows Command pattern - device functionality encapsulated in commands: TelephonyCommand, GeoLocationCommand, MediaCommand, etc.

Message passing done via cookies. We can capture both setting and getting a cookie in the browser from the native end.

Passing cookie

PhoneGap Resource Handling

Handwash fail

PhoneGap Architecture Code

Development Experience

The good: object statistics and memory profiler.

Debugged

Still Need More Testing

Kitten testing

The Future Looks Good

RIM JDE 5.0 (currently beta) seems to be a significant improvement over previous SDKs.


Useful Developer Resources

BlackBerry Application Deployment

App World - Administrative fun to get on here

Ticket master

Over-the-air deployment.

Questions / Comments?

Christopher Walken