Getting started with porting
Porting to BlackBerry 10 from other platforms
There are millions of lines of C and C++ code out there waiting to be ported to BlackBerry 10 and with the BlackBerry 10 Native SDK, you can leverage that code and bring it to many eager users. The Native SDK provides useful tools and commonly used libraries that can help to get your existing application running quickly and reliably on BlackBerry 10 devices.
It's important to keep in mind that BlackBerry 10 drives feature-rich and powerful devices, with capabilities that you may not have even considered for your application. For example, a desktop game written in C++ is not likely to include code that handles touch screen gestures or include logic to accommodate a virtual keyboard. You should also be aware of platform differences that can impact the libraries your application uses, so it's ideal to choose libraries that are open-source or that you have the source code rights for. Luckily, the Native SDK provides plenty of open-source libraries that have been tested on BlackBerry 10 to hopefully make your life easier. Your application should be programmed in C or C++, otherwise you'll need to convert languages as well.
BlackBerry 10 devices can be separated into two general categories:
- Full-touch devices: These devices use a touch screen as the only input method. They include a virtual keyboard that appears on the screen when keyboard input is required.
- Keyboard devices: These devices include a physical, QWERTY keyboard in addition to a touch screen. They have a smaller screen size than full-touch devices
A big advantage with the Native SDK is that you can still work in your favorite environment because the Native SDK works on Windows, Macintosh, and Linux platforms. Ideally, you should pick the platform that the software you want to port compiles on. For example, if your application is available for Linux, go ahead and use Linux as your development machine. Then, you are basically dealing with the differences between two POSIX compliant operating systems (Linux and BlackBerry 10), along with some additional hardware differences such as touch screens, lack of a physical keyboard, etc.
After you select an appropriate application to port, it's a good idea to try to compile it on your development machine. If you can’t build the project in an environment that supports it, you are unlikely to be successful in porting it to BlackBerry 10. Keep in mind that when you eventually compile for BlackBerry 10, you are in fact cross compiling, meaning you are working on a development machine with a certain architecture and runtime environment that is different from the environment that you're building for.