Each version of Series 60 Platform provides its own specific C++ SDK based on the relevant version of a Symbian OS SDK. The APIs that are provided enable third parties to develop Series 60 applications for inclusion in new Series 60 terminals or to be distributed as value-added, after-market applications.
Symbian OS is written largely in C++; the language therefore represents a strong development choice for third parties. The Series 60 SDK provides documentation, tools, and sample code to assist developers, along with a Microsoft Windows-hosted emulator (see Figure I-6). The SDK is essential for developing, testing, and debugging C++ applications.
Although C++ development is typically more complex than Java TM MIDP development, the advantages more than outweigh the additional effort required. Almost all of the device's capabilities are directly accessible to C++ developers. Creating native Series 60 applications gives the developer access to the Symbian OS APIs, to the Series 60 UI libraries, and to a number of exported application views and a variety of application engines (for example, Contacts, Calendar, PhotoAlbum). Native applications provide better performance. They can take full advantage of a multitude of functions provided by Symbian OS, including access to functionality such as Bluetooth, Infrared, networking functions, messaging interfaces, graphics libraries, multimedia services, telephony and more.
The final composition of the SDK will depend on the version of Series 60 Platform and your chosen development environment. Typically an SDK package will include:
Series 60 Application Programming Interfaces
Software libraries providing a vast range of programming APIs for developers
Series 60 emulators for testing and debugging
Various Symbian specific developer tools ”Build tools, Bitmaps, Installation files and so on
Documentation in compiled HTML ( .chm ) format
Application wizards to generate basic graphical user interface (GUI) applications
Example applications (source code and documentation) for Symbian OS basics and Series 60-specific examples
The PC-hosted GCC C++ cross-compiler for target devices
A number of C++ integrated development environments ( IDEs ) are suitable for Series 60 development, including offerings from Borland, Metrowerks and Microsoft. Where possible this book is IDE neutral. In some sections, however, such as the build process and testing sections, all of the key options will be covered.
Sample applications are provided in the SDK to help you produce professional Series 60 applications as quickly and as efficiently as possible. They illustrate how key technologies and features of Series 60 Platform can be employed. Sample projects typically illustrate most of the existing functionality and also reflect any new features added to the respective SDK version.
The SDK documentation provides different types of "how-to" documents that help developers not familiar with Symbian and Series 60 to gain competence and start developing Series 60 applications as quickly as possible. It also includes API reference documents that describe the available APIs and their use for developers. Documentation is divided into two main categories, generic Symbian and Series 60 documentation.
Selected add-on tools are typically relatively small, standalone tools, designed to simplify the development process by providing assistance in specific areas.
For example some Series 60 SDKs include Series 60 Application Wizards for creating basic application projects (availability depends on the chosen IDE and platform version). The SDKs also include a number of other tools created by Symbian (for example, AIF Builder and Sisar ).