Building the BlackBerry 10 WebWorks Open Source Framework on Your Own

Open Source

Guest post from Nukul – Ed.

We’ve received a lot of requests from developers to be able to build BlackBerry® 10 WebWorks™ directly from GitHub. Before I talk about how to take advantage of this, I would like to explain why it took us so long to get here and what it means for you.

The main issue was that the latest BlackBerry 10 WebWorks SDK features were dependent on features in the BlackBerry 10 OS. Therefore, if you built BlackBerry 10 WebWorks in open source, it potentially would not work with latest BlackBerry 10 OS beta.

This has changed as we get closer and closer to launch. We are now starting to work on features that are not dependent on the latest BlackBerry 10 OS beta. Imagine this: You hear about an awesome new feature or extension we are working on. You can now go to our GitHub repositories, look at pull requests, pull down the branch, and a few minutes later you have a BlackBerry 10 WebWorks build with the new extension or feature.

Build time can be less than two to three minutes from a clean build. From the time you see someone’s tweet about an awesome new feature, it could take you less than five minutes to get a build of BlackBerry 10 WebWorks that has that feature.

The advantages to a BlackBerry 10 WebWorks app developer are infinite here. You should never need to wait for new features. You can even build with Linux! It’s all there. There will still be some features that you will need the next OS release for, but that will happen less frequently as we get closer to launch of BlackBerry 10.

Here are the two repos you need to build to get ready to take advantage of this:

The framework repo contains the Framework that is packaged with your app when you build a BlackBerry 10 WebWorks app. The Packager repo contains all the code for the packaging tool.

There are two main branches in each BlackBerry 10 WebWorks repo: master and next. The master branch will contain all the features that you can currently use with the current publicly-released OS — think of it as the features we wish we had time to get into the previous release. When a feature is completed, it’s merged into master if does not have any OS dependencies. The next branch will contain the new features that have OS dependencies.

To allow developers to easily build stable versions, each release is tagged using the version number of the release. This allows you to easily check out the source of a particular release. You can simply use the tags to check out the code from that release. For example, you can use “git checkout v1.0.2.9” to pull down the code for the last release. So, any pull request you see going into the master branch, you can grab and use right away. You will see none open today, but over the next couple of weeks you should start seeing many.

The has been updated with all the updated instructions.
Run the unit tests, automated tests, all the developer tools we use are all available to you.

We are doing everything we can to enable developers to take advantage of our latest and greatest work. Just open an issue on our repo when you find an issue with our BlackBerry 10 WebWorks SDK. If you fix a bug or build an awesome extension, contribute it back and help us make BlackBerry 10 WebWorks SDK even better. For details on how to contribute, check out

We recently had Mark Robinson contribute changes to make SDK work on Linux — contributions like that go a long way. Be sure to see our growing list of contributors!

You can reach me any time on Twitter® @nukulb or send me a message through GitHub.

Join the conversation

Show comments Hide comments
+ -