Demarco5 Development
Demarco5 is written in OPL - I have summarised some relevent detials of OPL
here.
I have made experimental trials of subsets of Demarco5 using C++ for the following platforms:
- EPOC R5 using the GNU Tools in the Symbian ER5 C++ SDK.
- Windows using MFC and Visual C++ V6.
- Linux/X-Windows using the Qt GUI Widget Toolkit, CodeForge IDE and GNU gcc.
Having tried these I have come to the conclusion that OPL remains superior for supported EPOC platforms for
the following reasons:
- OPL programming for EPOC/Eikon (Eikon is the Psion GUI) is much simpler than using C++ and the
application framework classes provided in the SDK.
- The demands of EPOC mean that platform independant C++ Classes are only feasable for functions which do not directly
interface with the GUI, file and printer subsystems.
- Using OPL allows development/modification to be easily undertaken on the target device.
- With a bit of care the performance of the OPL version of Demarco5 is perfectly acceptable (IMHO).
However, the OPL application cannot be ported onto platforms which dont support it - Linux, Windows etc.
I would wish to make Demarco5 available for these platforms so my ongoing development strategy is as follows:
- Develop a core C++ Class for the Demarco5 application with an overall interface
independent of GUI and Platform implementations. (As these wont involve the Eikon application framework
the use of epocemx to compile them on the target system is feasable.)
- It is possible that these classes can be be compiled into a new Demarco5 OPX so that I can continue to use OPL for the
GUI on EPOC devices.
- These classes will also be available for the development of all C++ Demarco5 applications for Windows and Linux.