Symbian C++

Recommended resources

  • Symbian FileBrowser
  • Obtain more detailed information about file system content on S60 and Symbian phones.
  • Nokia AnalyzeTool
  • Easily locate code lines that cause memory leaks or other memory issues in Symbian C++ software.
  • Carbide.c++ 3.2
  • With support for the CODA debug agent, Carbide.c++ 3.2 is a lightweight offering were you can choose to add extension plug-ins, from the Carbide.c++ Portal, for additional features after installation.
  • Symbian^3 SDK for Nokia devices
  • The Symbian^3 SDK for Nokia devices 1.0 is available, enabling developers to migrate their apps to Symbian^3 and Symbian Anna devices, such as the Nokia N8 and Nokia E6 devices.
  • Nokia Symbian^3 Developer's Library
  • This developer's library provides the information needed to create Symbian C++ apps for Symbian^3 devices.
  • S60 5th Edition C++ Developer's Library
  • This developer's library provides the information needed to create Symbian C++ apps for S60 5th Edition devices.
  • Qt for Symbian Developer's Library
  • This developer's library contains details on how to use Qt with Symbian C++ to create apps. It is also useful in preparing for the new Symbian UI framework, which will be based on Qt.

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 blog

The 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.

For more information on Qt, visit the Qt page

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.

For more information, visit the publish to Ovi Store page

Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2012 All rights reserved