BlackBerry WebWorks is a framework for developing web-based applications for BlackBerry SmartPhones (BlackBerry OS 5.0 and higher) and the TabletOS. Creating a web application is one of the easiest ways to have an application that runs on both platforms.
Several guides are available on the Cordova Wiki to help you get started developing for the cordova-blackberry-webworks platform. This guide will help you install and configure the BlackBerry WebWorks development environment, and the cordova-blackberry-webworks platform. It will also step you through the process of creating a Cordova project.
This guide is for advanced developers who wish to develop their own cordova-blackberry-webworks plugin.
Cloning the cordova-blackberry-webworks repository always provides you with the latest (EDGE) version of the Cordova code. To clone the repository, do the following:
$ cd C:\some\path\ $ git clone git://git-wip-us.apache.org/repos/asf/incubator-cordova-blackberry-webworks.git
As an alternative, you can download packaged releases of Cordova from the PhoneGap web site. If choosing this method, simply unzip the Cordova packaged code and navigate to the BlackBerry/WebWorks directory. The steps below remain the same.
The Cordova build script enables you to create multiple, independent Cordova projects.
(Note: The Cordova build script requries Apache ANT 1.8 or higher. See the Getting Started guide for instructions on how to install and configure Apache ANT).
The build script packages the Cordova source code and resources into each project you create. This allows you to easily distribute the project to other BlackBerry WebWorks developers. To create a Cordova project:
$ cd cordova-blackberry-webworks $ ant help $ ant create -Dproject.path="C:\development\my_new_project" $ cd C:\development\my_new_project $ ant help
For each project, you need to tell ANT where you installed the BlackBerry WebWorks SDK, which packages and compiles your code into a deployable application. You can specify the location of the BlackBerry WebWorks Packager (BBWP) by editing project.properties in the project directory.
The Cordova build scripts automate common tasks, such as compiling your project, and deploying it to simulators or devices. To see what options are available, use:
$ cd C:\development\my_new_project $ ant help
Every command is in the form
ant TARGET COMMAND [options], where
target is either
To build your project into a deployable application (.cod/.jad) file:
$ ant TARGET build
To build your project and load it in a BlackBerry simulator:
$ ant TARGET load-simulator
To build your project and load it onto a USB-attached device:
$ ant TARGET load-device
As you develop your application, there may be updates made to the Cordova source code. To incorporate Cordova changes into your project, use the build script as follows:
$ cd cordova-blackberry-webworks $ git pull origin master $ ant update -Dproject.path="C:\development\my_new_project"
By default, Cordova gives access to all the core Cordova APIs as detailed at docs.phonegap.com. If you want to remove some of those APIs you can do so by editing the plugins.xml document in your application root. You need to edit the plugins.xml file to add third-party plugins to your application as well.
$ ant version -Dvalue="1.0.0" $ git diff $ git commit -am "Update to version 1.0.0" $ git tag 1.0.0
$ ant dist
Q: I uploaded my application to the BlackBerry device, but it will not open or run.
A: Try hard resetting the device by pressing and hold ALT + CAPS LOCK + DEL. You must press and hold each key in sequence and not all at once. Some devices require either the right or left CAPS LOCK key to be pressed. Some devices also require this combination to be pressed twice.
Q: My simulator screen is not refreshing and I see blocks on a clicked position.
A: Windows 7 and the simulator's graphics acceleration do not mix. On the simulator, set View -> Graphics Acceleration to Off.
Q: When I use the Cordova Camera.getPicture API on my device, the camera never returns to my application. Why does this happen?
Q: None of the Cordova APIs are working, why is that?
A: You probably need to update your plugins.xml file in the root of your application.