Development process overview

As the figure below illustrates, the mobile application development process is similar to desktop C++ development. However, there are a few things in the process that distinguish development for the S60 platform from the desktop environment. One example of a difference is in the build step where separate builds are required for testing in the emulator (WISNCW) or testing on the device (GCCE).

Figure 12: Development cycle

The above figure illustrates the continuous cycle of analysis and design, coding, building, and testing involved in the process of developing an application. Note that in reality these tasks are not necessarily performed by the same developer and that your exact processes may differ. The steps in the cycle are described in more detail below.

  1. Analysis and design

    Before starting to develop an application with an S60 C++ SDK, define the requirements, scope, and functionality that you wish to implement in the application. When designing applications you need, for example, to take into account the various capabilities required by the APIs that you intend to utilize in your application.

    The following design tools are recommended:

  2. Coding

    It is recommended that you use one of the supported IDEs. They provide project templates that you can use to create a standard project from a selection of project types. The template takes care of creating some of the basic folders and files that you need in developing an application. In addition, the template prompts you for a UID and places the value in the correct locations in the code.

    Another way to create a project is to use an example application provided with the S60 C++ SDK by importing it to an IDE and editing it for your purposes.

    For information on Symbian C++ coding conventions, see C++ Programming Conventions.

    Note: When implementing Symbian applications, use two phase construction techniques.

    For more information, see:

  3. Creating and updating your build files.

    Before you can build your project, you must first create or update the bld.inf, mmp and extension makefiles.

    Note: Different IDEs support these files in different ways. Your development environment may maintain these files or just use them when importing the existing project into the IDE.

  4. Building the source files

    In S60 application development, builds are typically created for two different environments: the emulator and the target mobile device. Because the operating systems of the emulator and target device are different, two separate builds using different compilers are required. For more information, see "Building" and "Deploying".

  5. Testing

    All S60 C++ application installation files must be signed before they can be installed to a mobile device. For more information, see Application signing.

    Typically, builds are first tested in the emulator and then final testing is performed on the target device.

    • Test and debug your application in the S60 emulator provided with the S60 C++ SDK.

    • Build, test and debug your application in an S60 device.

      For testing your application on a target device, there are two options; you can create an installation package based on the target build, or, if your IDE supports it, you can use the On-Device-Debugging features of your IDE.

  6. Deploying

    Once your application is ready for deploying in a general release, package and deploy your application according to the steps in "Deploying".

    For information on certificates and signing applications, see "Security".