Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

How can I create a cross-platform application?

From Wiki
Jump to: navigation, search

Article Metadata
Platform(s): S60 1st Edition
S60 2nd Edition
S60 2nd Edition (initial release)
S60 1st Edition
Created: User:Technical writer 2 (09 Jun 2003)
Last edited: hamishwillee (14 Jun 2012)



How can I create a cross-platform application?


We want to build the application on the client devices to be as 'cross-platform' as possible, so rather than having separate applications, one for each platform.
How portable is C++ code between Symbian and Windows? Is this feasible or are the two operating systems too different?


Build your own framework so that all device/platform-specific code is separated to libraries. The code you write is then generic to all platforms and device-specific code is taken into the compilation when a specific platform is defined. See the Device Optimization documents in to get further information.
Windows and Symbian are quite different platforms to program to, but if you build a library that will take these changes into account, you can port very easily.
Some companies have ported their PC software to Symbian OS very quickly, because they already had an application engine for Symbian OS. Building that engine/framework naturally takes time.
Applications built for S60 are binary compatible across different S60 devices. Very little alteration, if any, is necessary.
The traditional way to ease porting in Symbian OS is to separate the UI and the engine part. Depending on your application, you might have to separate more components, such as methods concerning communications and file system.
Porting applications between S60, Communicators, and other Symbian devices, such as UIQ devices (and PCs) will be tougher than between S60 devices. Separating the UI and device-specific components would be an answer here. Java would be another solution, but then you lose the advantages that the native programming language has.


As a conclusion, there are two conventions:
1.Build a framework (library) which will compile your cross-platform code to any device you want to. Within the library, you need to build the application framework for each platform.
2. Port your code to an existing framework on another platform.

This page was last modified on 14 June 2012, at 05:52.
17 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.


Thank you!

We appreciate your feedback.