The Symbian OS — the latest version being Symbian^3 — is a Nokia platform for mobile phones. The OS was developed by Symbian Software Limited, which Nokia acquired in 2008 and turned it into the Symbian Foundation, a non-profit that promotes the Symbian platform as a royalty-free, open-source software.
Devices based on Symbian OS account for about 50 percent of smartphone sales, making Symbian the world’s most popular mobile OS.
Symbian C++ programming is commonly done with an IDE. The most popular IDE is Carbide.c++, an Eclipse-based product developed by Nokia. Carbide.c++ comes in four versions: Express, Developer, Professional, and OEM.
Older versions of Symbian used the commercial IDE CodeWarrior.
Symbian provides a number of kits for developers, primarily an application development kit (ADT) and an application software development kit (SDK).
The ADT contains all the Symbian platform version independent tools that are needed for application development. The tools reside on the desktop and include an IDE (Carbide.c++) and a debugger which allows debugging on both emulator and production phones.
The ADT is used with one or more SDKs. Together, they provide a complete Symbian development environment.
The SDK contains libraries and header files, and a platform emulator for testing applications on the PC. The kit provides access to the public APIs that are guaranteed to remain compatible across Symbian platform devices.
Application developers targeting “pure” Qt should use the Nokia Qt SDK as this is compatible with all Symbian devices, and is the easiest way to set up a development environment.
Qt developers who want to access Symbian C++ from their Qt code will need to use the #Qt for the Symbian platform SDK layered over a standalone Symbian C++ SDK.
Developers working with Symbian C++ should use the earliest SDK that provides the functionality needed. The reason is that Symbian and Qt kits are only backwards binary compatible for public APIs. Applications compiled using older kits will run on newer devices, and hence address a larger target market.
Product developers should use the Symbian product development kit (PDK) for their target Symbian platform version.
The native language of Symbian is C++. There are multiple platforms based upon Symbian OS that provide SDKs for developers wishing to target Symbian OS devices – the main ones being UIQ and S60.
Individual phone products, or families, often had SDKs or SDK extensions downloadable from the manufacturer’s website too. With the various UI platforms unified in the Symbian platform there should be less diversity between manufacturer’s SDKs from 2010 onwards.
However, Symbian devices can also be programmed using Python, Java ME, Flash Lite, Ruby, .NET, Web Runtime, Widgets and Standard C/C.
Visual Basic programmers can use NS Basic to develop apps for S60 3rd Edition and UIQ 3 devices.
Developers can also create apps for Linux and Mac OS X, using tools and techniques developed by the community, partly enabled by Symbian releasing the source code for key tools.
Nearly all of the devices using Symbian are Nokia phones, many equipped with cameras and GPSes. However, a few Sony Ericsson phones and one from Arima use the OS, too.
The cost of using Symbian is modest — a few hundred dollars. To deploy an application commercially, you will need a Published ID, which costs $200 per year from Symbian Signed, the signing program administered by the Symbian Foundation.
Plus, each time you sign an SIS file, be prepared to pay $10 using Express Signed or $150 if you use Certified Signed.
Once your application goes through Symbian Signed you can distribute it as you choose.
Documentation and Developer Support
The SDKs contain documentation, the header files and library files required to build Symbian OS software, and a Windows-based emulator (“WINS”). The list of features targeting Symbian^3 can be found at this Symbian^3 feature listsite.
Developers can find support on Symbian forums, from the Symbian Foundation.
Pros and Cons
If you don’t know C++, your development efforts may be hampered.
You’ll be developing for the market leader in smartphones.
Good support through the Symbian Foundation, specifically developer.symbian.org