First off, greetings everyone and thank you for your interest in my question.
I'm currently working at a mobile startup. Our product is a communication app for Android, iOS and BlackBerry devices and we're looking to expand onto some Nokia platforms.
I don't know a lot about Symbian details as I've never actually programmed in the platform before but this is all of the information I was able to gather.
The platforms to support are Symbian S60, Symbian^3 / Symbian "Anna", Maemo + Meego.
In order to accomplish this, there's several tools at our disposal but we're not sure which ones to use.
Nokia Qt appears to be unsupported on Symbian S40 devices (we seem to be stuck with J2ME) and Symbian S60 devices pre-3rd Edition Feature Pack 1
On Symbian's C++ we can't rely on C++'s STL. This means that we can either create two versions of the same software or create our own STL that's compatible with Symbian (I'd like to avoid that).
Approach
Among the team the consensus seems to be to split this into two logical chunks:
- Core business logic + libraries in C++
- Device specific UI branches using Qt or native UI tools
With all this information in mind, I ask:
What is the general approach for this problem? Is there any considerable flaws with the one mentioned, namely incompatibility or inconsistencies with Qt on older platforms?
What pitfalls should we avoid to ensure compatibility and performance of the app across all Nokia devices listed?
Is there a way to get around Symbian's C++ limitation of the STL? Can we bundle the Qt sources somehow?
Suggestions and other approaches are welcome. Thank you for all your feedback.