BlackBerry 10 Development 101: Native

Game Development


There are many ways to develop games or applications for BlackBerry 10. This is a good thing, but if you have not developed for the BlackBerry platform or you are familiar only with the older Java-based platform, it may be overwhelming. What are your options, and how do you get started?

Several factors can help you decide which path to follow. BlackBerry 10 has four primary developer platforms, each with its own distinct style of development, advantages and frameworks you can choose from.

In this first blog post, we’ll provide an overview of some of the options available on our native development platform.


The bedrock of a good developer platform is a high-performance, low-level native implementation – and BlackBerry 10 delivers. The native platform is POSIX-based, so everything from “int main(void) { printf(‘Hello World’); }” and up will run on the operating system.

Whether you are a C++ guru or you shy away from low-level code, BlackBerry 10 supports a wide variety of choices on the native development platform.

Straight C/C++

BlackBerry 10 is based on QNX, a powerful, stable operating system that has been refined for over 30 years. Thanks to the POSIX interface, standard Unix C/C++ will run on the platform, without additional bootstrapping. You have full access to system APIs, from the networking stack to EGL and OpenGL and the flexibility to use common practices like dynamically loading libraries.

I personally ported a significant game framework to BlackBerry in only two days, and I have heard many more stories of developers with similar experiences on the native platform. If you like C/C++ development, BlackBerry 10 is a very exciting platform.


If you are looking to create an application, Cascades is the Qt-based framework that we provide for the most natural of BlackBerry 10 experiences. Application code and rendering are handled in different threads, so even when you are doing heavy processing, the UI will run at a smooth 60 frames-per-second.

Many applications can be developed using C++ or using QML, or a combination of both. QML supports JavaScript, so even if you are a web developer, it can be easy to create native BlackBerry 10 applications using your existing skill-set. The BlackBerry Native SDK provides our Momentics IDE with designer support for Cascades, so you can preview and fine-tune the layout of your applications without deploying to a device or a device simulator.


We have partnered with Marmalade to provide a first-class experience for C++ developers using the Marmalade SDK. Similar to open-source solutions such as SDL and SFML, Marmalade is designed to provide a low-level compatibility layer between multiple platforms.

Marmalade also provides additional features – such as an optimized pipeline for art assets – tailored for every target device, as well as enterprise-level support.


We have also partnered with NME to provide support for BlackBerry 10. Unlike the other options you have as a native developer, NME does not require that you use C or C++. Instead, NME uses a language called Haxe that is compiled to C++ automatically, giving you the performance of C++ and OpenGL while creating an environment that should feel comfortable to a Flash or Java developer.

NME is an open-source, cross-platform framework that makes it simple to use graphics, sound, input, networking and the other features you need for 2D games and applications, including libraries such as Flixel or Box2D. NME can also uniquely target mobile, desktop, Flash Player and HTML5.


The C++ version of the cocos2d, the popular 2D gaming framework, is available for BlackBerry 10.
Similar to other versions of the library, cocos2d-x provides structured support for scene management, physics, particle effects, tiles, spritesheets and other game-specific features. Most of the framework can also be scripted using Lua or JavaScript. cocos2d-x is an open-source, cross-platform framework with support for both mobile and desktop platforms.


If you would like to develop 3D games using C++, gameplay is an excellent open-source framework which is fully supported on BlackBerry 10.

gameplay supports the standards you expect, such as OpenGL shaders, device input and particles, but also provides integrated support for physics, skeletal character animation, 3D audio and support for themeable 2D and 3D UI forms. If you would like to use a scripting language, Lua bindings are support. gameplay is cross-platform, supporting mobile and desktop platforms.

These are just a few of the choices you have on the native platform for BlackBerry 10, so don’t let this limit you. If you have any questions or would like recommendations, please feel free to sound off in the comments!

Join the conversation

Show comments Hide comments
+ -