Create powerful apps for the world’s most popular smartphone platform.
Symbian provides a secure, reliable operating system for smartphones and is created in Symbian C++.
Because Symbian C++ is used to build the operating system, it enables you to achieve a high level of integration with the features of Symbian devices — such as manipulating contacts, accessing location information, gaining network access, creating SIP sessions, working with multimedia and 3D graphics, and much more. Apps can deliver high performance because Symbian C++ has been specifically designed for mobile devices with low power consumption characteristics and relatively small memory footprints.
If you have a demanding mobile app requirement, Symbian C++ is the language that will enable you to exceed your users’ expectations.
Key resources:
Introducing Symbian Anna
Nokia has introduced the latest evolution of its Symbian software, Symbian Anna. With new icons, usability enhancements, a new browser, and enhanced Ovi Maps, Symbian Anna offers users a more engaging UX. At the same time, software versioning has been streamlined with a clear alphabetic nomenclature, realised through female names, starting with A.
To develop software for Symbian Anna you continue using the tools you already know, the Qt SDK 1.1 or Carbide.c++ and the Symbian^3 SDK.
For more information see the Nokia Developer News blogThe basics
Symbian C++ has been designed to run efficiently on devices with relatively limited memory and power resources. Several elements of Symbian C++ therefore differ from desktop C/C++ because of these requirements. Specific examples include a leaving mechanism that protects apps against a lack of requested resources and special handling of data through descriptors. While these mechanisms may be unfamiliar at first, once mastered they enable the coding of robust and efficient apps.
Beyond the programming idioms unique to Symbian C++, you will also need to become familiar with the many Symbian and S60 APIs. These APIs offer a comprehensive range of mobile optimised features that can be used to create a wide variety of apps; from games requiring 3D graphics and rich sound to enterprise app that need secure and reliable data connectivity.
Once mastered, that which can be achieved using Symbian C++ is limited only by your imagination and innovation.
You may wish to gain familiarity with Qt also, which will be powering the UI on future Symbian devices. Mixing Qt with Symbian C++ is straightforward. Using Qt simplifies UI development, while at the same time offering richer UI possibilities with features such as transparency and animation. Qt provides cross platform APIs for accessing key device data also.
Tools
The starting point for Symbian C++ development is a Symbian or S60 SDK. Each Symbian and S60 SDK includes all the public APIs, comprehensive documentation, development tools, and a device emulator. Each version of Symbian has its own SDK and some devices have their own SDKs also.
You then have several options for coding:
- Qt SDK provides an environment that is optimised for the development of apps using the Qt APIs and the Qt APIs for Mobile Development. When creating a pure Qt based app, the SDK eliminates the need for a Symbian or S60 SDK. While Qt is now the recommended language for apps development for Symbian, the Qt SDK enables you to mix Qt and Symbian C++ APIs, thereby taking advantage of the best of the two languages.
- Carbide.c++ is an IDE specifically designed for creating Symbian apps in C++. Based on Eclipse and the C/C++ development tools from the Eclipse CDT Project, Carbide.c++ provides tools to support Symbian C++ coding, building apps for the SDK emulators, and performing on-device debugging among others. Please note that Carbide.c++ 3.2 supports development for S60 5th Edition, Symbian^3, and later devices. To create apps for S60 3rd Edition devices, please continue using Carbide.c++ 2.7.
- The command line. Each SDK provides a comprehensive set of tools for undertaking development at the command line.
Platform security and app signing
Symbian provides the industry’s most comprehensive security model, with access to certain APIs requiring apps to be signed and all apps having a secure location in which to store sensitive data. This technology provides users, operators, and enterprises with certainty regarding the way in which apps update user and device data.
For more information, visit the Platform Security page in our wiki
Native Symbian apps are packaged into a Symbian Installation System (SIS) file for installation on a device. All SIS files must be signed before a device will permit installation. There are several options for signing apps:
- Self signing apps where access to sensitive device data or capabilities is not required. Self signed apps ask the user to grant them access to data, such as contacts and calendar.
- Express Signing for apps that need access to sensitive data (or where you wish to eliminate the request for users to grant access rights, seen during installation).
- Ovi Store signing for apps submitted for distribution through the Ovi Store.
For more information on Symbian Signed, visit the Packaging and signing page
Getting to market
The Ovi store is the most effective channel through which to distribute your apps worldwide to tens of millions of Symbian devices from Nokia.

