Developing on Symbian OS
Developing on Symbian OS can initially appear confusing, as there is no
single SDK available for download from Symbian. Instead, there are SDKs
available for each of the main user interface families: UIQ, Series 60, and so
on. Individual phone products, or families, often have SDKs downloadable from
the manufacturer's website too.
A D V E R T I S E M E N T
The SDKs contain documentation, the header files
and library files required to build Symbian OS software, and a Windows-based
emulator ("WINS"). Up until version 8, the SDKs also included a version of the
GCC compiler (a cross-compiler) required to build software to work on the
device. Symbian OS 9 uses a new ABI and so requires a new compiler - a choice of
compilers is available including a new version of GCC (see external links
below).
Symbian C++ programming is commonly done with a commercial IDE. Previously,
Visual Studio was common, but for current versions of Symbian OS, a Symbian-specific
version of CodeWarrior is favoured. The CodeWarrior tools will be replaced
during 2006 by Carbide.c++, an Eclipse-based IDE developed by Nokia. It is
expected that Carbide.c++ will be offered in different versions: a free version
may allow users to prototype software on the emulator for the first time in a
free product.
Other tools include SuperWaba, which can be used to build Symbian 7 and 7s
programs using the Java language. There's also a version of a Borland IDE for
Symbian OS.
Once developed, Symbian OS applications need to find a route to customers'
mobile phones. They are packaged in SIS files which may be installed
over-the-air or via PC connect. An alternative is to partner with a phone
manufacturer to have the software included on the phone itself. The SIS file
route will be a little more difficult from Symbian OS 9, because any application
wishing to have any capabilities beyond the bare minimum must be signed via the
program.
J2ME applications for Symbian OS are developed using standard techniques and
tools such as the Sun J2ME Wireless Toolkit.
|