Developing for the BlackBerry Classic
It is very exciting that AT&T is offering the BlackBerry® Classic. For customers interested in a physical keyboard on their smartphone, this is a great option. For developers who are struggling to get noticed in the large application stores on other platforms, this may offer a good opportunity.
First, for those who are not familiar with the BlackBerry Operating System (OS), it is built from QNX and offers developers the choice of either developing natively or porting from a few different platforms. I think developers initially will be interested to learn about porting their existing apps. Just as BlackBerry did in the past, there are a few options. Here they are:
- Android Runtime: For those with existing Android apps, the BlackBerry OS already supports an Android runtime. However, you do have to repackage your .APK file to a .BAR file (either using a plug-in for Android Studio or Eclipse). You can also do this via command-line tools.
- Amazon Appstore: Android developers currently with apps in the Amazon Appstore, the company offers its store on the BlackBerry Browser for download and users can find your apps there (this is NOT officially supported).
- HTML and JS Skills: Developers with HTML or JS skills, will be interested to learn that BlackBerry has the WebWorks2 Gold SDK (built on Apache Cordova). The change to Apache means that past WebWorks apps may not work optimally, but they have made it easy to port those apps over or create new ones. For many developers now using cross-platform HTML tools like PhoneGap (also based on Apache Cordova), this could be a very quick port. WebWorks is supported by many frameworks including Sencha, jQuery, Dojo, and more. The developer site also has quite a few sample apps to make this easier.
- Adobe AIR Runtime: BlackBerry OS 10 had supported the Adobe AIR runtime, but that support is ending. For those with Android AIR apps, you can first export it as an .APK file using Adobe Flash Builder and then repackage using BlackBerry Tools for Android.
Most developers are aware that the best user experience is typically with native applications. BlackBerry supports this with their native SDK. Developers have two development approaches, either Cascades or Core (both using C/C++). Cascades is for those developers who are interested in a rapid UI development (using Qt/QML). Core is more targeted for either porting or for those built from scratch needing some lower level or custom functionality. Additionally, for those creating games, BlackBerry also supports OpenGL and EGL.
The next step is setting up your tools. You will download the Momentics IDE for BlackBerry (to support QNX). Once complete, you then have to set up vendor account and device. Once all this is done, it is pretty straightforward to start building an application.
An additional nice feature is BlackBerry Messenger—a social platform that makes it easy for users to connect with each other. BlackBerry offers monetization opportunities similar to other platforms, but the fewer numbers of apps available in BlackBerry World should make discoverability easier.