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.

Related links

The life cycle of an application refers to the stages that an application can move through, from the time it is invoked until it is terminated. It is important to understand the implications of the various states and transitions of the life cycle on your application so that you can respond to them appropriately in your code.