MSDB

From Eclipsepedia

Jump to: navigation, search

Mobile Software Development for BlackBerry using Eclipse: Lessons learned

Presenter: ekke (ekkehard gentz), ekke@ekkes-corner.org, bio see here
Company: Independent Software Architect

Overview
Last months I had to integrate BlackBerry mobile devices with Enterprise solutions at some customers.
Yes: BlackBerry - why not the cool iPhone or Open Source Android ?
If customers need the unique PushServices from BlackBerry or want to control all mobile devices of employees from BES (BlackBerry Enterprise Server), you have to intgerate BlackBerry devices.
BlackBerry Eclipse PlugIn
the good news: BlackBerry apps can be developed using Java and there's an EclipsePlugin you can use.
The bad news: it runs only on Windows out-of-the-box and Java is only Java ME plus RIM libraries - no collections, no generics, ... :(
I'll explain how to develop BlackBerry Applications on OSX using Parallels running Windows7-64, officially not supported.
BlackBerry Community
after working so long time 100% with open source solutions it wasn't easy to use an environment where you don't have the sources.
so it's important to know where you can get informations from: Forums, KnowledgeBase articles, Twitter, ... - I'll give you some tips what helped me to start.
User Interface (UI)
next problems I run into: the default UI elements RIM provides are not enough to create cool looking apps - you have to customize and extend the defaults. at first it looks very complicated, because you have to draw many parts directly into Graphic Context and you have to overwrite default behaviour.
live demo
I'll demonstrate some tips and tricks how you can easy the development - most part of the session will be live coding.

it depends from the timeslot, how many examples I can demonstrate.
per ex.:

logging: HowTo log in your BlackBerry apps - there's no logging system available, no log4j, slf4j or so. BlackBerry logging means printing to sys.out - and this is only available while debugging.
I developed a logging library for BlackBerry which can be used together with Lilith to monitor logging, because I'm sending LogEvent in same format as used by SLF4J/Logback. This is great, because I'm also using Lilith and SLF4J/LogBack in my enterprise apps and osgi equinox servers - so all can be monitored from one place.

custom UI elements: I also developed custom UI elements for Lists with columns, TabFolder etc.

Wizards: In business apps you often have to use a wizard - I'll demonstrate a wizard running on BlackBerry with validation on fields, pages or complete wizard.

Integration and Communication: you can integrate your Java app deepoly into other native BlackBerry apps like Calendar, Contacts, Browser, Camera, Messenger, Map - there are some important tips and tricks to know. You can also use GlobalEvents to communicate between applications.

monetizing

perhaps you only develop for fun ;-) but if you want to monetize your development you should know about: BlackBerry AppStore, inApp Payments, advertising....
Summary
BlackBerry devices are usually integrated into Enterprise Business Applications. I'll give you an overview how to integrate BlackBerry devices with your OSGI server solutions and I'll explain how to integrate with BlackBerry Push Services.
another important point is how to develope mobile applications for more then one platform. there are ways to generate code for native apps using Eclipse Modeling. from my POV this is the only way to get high quality applications for more then one platform. Using 'normal' cross-platform-tools you can build applications, but never get such a deep integration as using native apps. so as always ;-) - Eclipse gives you all the tools and frameworks to create great applications, doesn't matter if Enterprise, Desktop, Web or embedded.

Project URL: ekkes-corrner blog and blog series about BlackBerry development