Forum Nokia has released an update of Open C that now includes standard C++ and Real-Time Graphics and Audio APIs. It should now be possible to create a complete application in C/C++, without any Symbian C++, for S60 3rd Edition devices.
The initial release of Open C, which built on Symbian Ltd's P.I.P.S, made it easier for developers to port existing C code to the S60 platform. However, these ports were limited to creating application engines and middleware, unless S60 UI APIs or Python for S60 were also used to create an application UI.
Open C++ extends this standard support by introducing IOStream, STLPort, and the Boost libraries. Essentially the goal of these libraries is the same as the original Open C - to enable porting and allowing C++ developers without knowledge of Symbian C++ to contribute application engines or middleware to S60 application projects.
The Real-Time Graphics and Audio (RGA) APIs remove the non-UI development restriction from C/C++ developers (although RGA is not available on all S60 3rd Edition devices). While these APIs are Nokia specific, they provide a set of APIs that should be easy for any C/C++ developer to master. The RGA APIs are already in use within a number of N-Gage games, but could equally be used for just about any application. Such applications would not have a standard S60 UI, which might limit their usability and appeal to the mass market. However, using RGA may be a useful opportunity to test out (non-game) ported applications before adding a S60 UI.
The one limitation that remains is that applications developed with Open C/C++ and RGA are sandboxed from the rest of the S60 platform. There are no standard APIs for accessing S60 applications and services, such as contacts, calendar, or messaging. To access these services the Symbian C++ or S60 APIs will still need to be used.
Open C/C++ is delivered as an SDK plug-in and downloaded from the Forum Nokia Web site as a ZIP archive. Once unpacked, the plug-in is installed using a setup application. The plug-in installs into a selected SDK and has to be rerun again to install it in a second or third SDK. Once installed it provides the emulator DLLs, development libraries and header files, documentation, examples, and signed SIS files to add Open C, Open C++, or RGA APIs support to S60 3rd Edition devices.
All the examples can be opened and run in Carbide.c++ or built and run from the command line. One thing to note is that the APIs require registration to enable use beyond 14 days. This should be a familiar feature to most developers who have used Forum Nokia tools, although in this case the 14 day trial period does not start automatically. Registration screens pop-up the first time an application using one of the APIs is run, from which the trial period can be started. There are separate registration pop-up for each set of APIs.

The RGA bitmap APIs demonstrated in a simple puzzle game.
Open C seemed to be well received, with a number of interesting ports being undertaken. With the expanded opportunities offered by Open C++ and RGA we may see even more desktop software migrating to S60.
More information on Open C/C++ and RGA can be found here, along with links to the download.
|