S60 is making it easier for software developers to reuse open source and other existing code, with the release of Open C++. Open C++ expands on the existing Open C offering by adding a new set of platform-independent C++ libraries to the S60 C++ SDK. In addition to the opportunities for code reuse, Open C++ also provides an easy way for any C or C++ developer to participate in mobile development projects using their existing skills, or, in some cases, create complete applications using platform-independent C++.
The Open C++ package includes a set of middleware libraries that are compatible with all S60 3rd Edition devices, and an additional set of graphics and media APIs that can be used on a selected set of S60 devices.
Open C++ includes the following middleware components:
- C++ Standard Template Library (STL): the STL provides a familiar set of C++ utilities that includes container classes such as lists and vectors as well as algorithms and iterators that provide type abstraction and generalized operations such as count and reverse
- iostreams: the C++ counterpart of the standard C stdio.h library provides the familiar input and output stream functions used in most C++ environments
- Boost libraries: this set of free, peer-reviewed C++ libraries offers additional features that work well with the STL, including additional container classes, smart pointers that reference dynamically allocated (heap) objects, and general-purpose math template functions
The Open C++ SDK plug-in includes the Real-Time Graphics and Audio (RGA) APIs, which let developers access the rich audio and 2D graphics capabilities of S60 using platform-independent C++ syntax. The RGA APIs are optimized for game development, but can be used to create complete graphics-intensive applications of any type. RGA is supported on selected S60 3rd Edition devices, and includes the following features:
- Graphics APIs: text and bitmap rendering and screen and display management
- Multimedia APIs: playback, recording, and mixing of MIDI and compressed audio files (such as MP3), along with functions to play video, access the device camera, and control device lights
- Utility APIs: access to a variety of device features including the device keyboard, status, calendar alerts and to-do reminders, themes and wallpapers
More on S60.com