App Design Fundamentals

The BlackBerry Native SDK for Tablet OS provides a solid environment in which you to develop apps. Before you get started, you should get familiarize yourself with app development concepts.

Each application has a basic structure. Apps run as executables on the BlackBerry Tablet OS, which is the operating system on BlackBerry PlayBook tablets. In general, an app includes code that:

  • initializes resources, such as memory, data, and graphics
  • registers with services to receive events, such as screen changes, gestures made by a user and so on
  • executes a main loop that handles events from the OS, handles input from the user, updates data and state information, and renders graphics, and plays sounds
  • frees resources and perform clean-up activities

Each app has a life cycle. It is important that you understand that your app won't be the only app running on a device. Multiple apps can run at the same time and they may impact your app from the perspective of memory usage and activity. Hence, it is necessary to understand how to save your state, respond to deactivation and activation calls, handle low memory conditions, and handle system-wide scenarios, such as when the device goes into standby mode.

When you design your app, you should consider:

  • libraries that are available
  • permissions required
  • appearance of icons and images
  • assets and data required
  • services your apps require
  • amount of memory your app requires
  • number of processes and threads required

To build a good understanding of managing memory, processes, and threads, refer to the QNX Neutrino Programmer's Guide.