Need advice on porting application to C++

R

Ramon F Herrera

Hello:

My application has three fundamental aspects:

(1) It is heavily GUI oriented with palettes, and visual
"communication" between the app and the user by graphical means, much
like an IDE (but much simpler).

(2) It uses some OCR libraries written by a 3rd. party in (Windows-
oriented, I am afraid) C++

(3) I would like to keep it as portable and OS independent as
possible.

I am a fairly proficient C and Java programmer, and I am pretty sure I
can traverse the C++ learning curve.

Due to the requirement (3) above, the application was written in Java,
but it also contains some JNI code (per (2) above). This jumping back
and forth between native code and pure Java really bugs me.

So... I am considering rewriting the whole thing in C++. That way the
program will always be in native mode without the JNI nonsense.

However, I would like to stay far away from any Microsoftisms, as the
app. currently runs on Windows but I would like to port it easily
(famous last words) to Unix/Linux/Mac.

I guess I need to keep clear off things like ATL and stick with STL,
right? (barely know what those are).

Perhaps the most critical issue is that of the GUI aspects. I am
vaguely familiar with some GUI framework which is multi-platform,
being used by WireShark (formerly Ethereal) I believe? Hmm, I wonder
what GUI framework is used by the Firefox developers?

Any tips, pointers, gotchas, are most welcome...

TIA,

-Ramon
 
I

Ioannis Gyftos

Hello:

My application has three fundamental aspects:

(1) It is heavily GUI oriented with palettes, and visual
"communication" between the app and the user by graphical means, much
like an IDE (but much simpler).

(2) It uses some OCR libraries written by a 3rd. party in (Windows-
oriented, I am afraid) C++

(3) I would like to keep it as portable and OS independent as
possible.

I am a fairly proficient C and Java programmer, and I am pretty sure I
can traverse the C++ learning curve.

Due to the requirement (3) above, the application was written in Java,
but it also contains some JNI code (per (2) above). This jumping back
and forth between native code and pure Java really bugs me.

So... I am considering rewriting the whole thing in C++. That way the
program will always be in native mode without the JNI nonsense.

However, I would like to stay far away from any Microsoftisms, as the
app. currently runs on Windows but I would like to port it easily
(famous last words) to Unix/Linux/Mac.

I guess I need to keep clear off things like ATL and stick with STL,
right? (barely know what those are).

Perhaps the most critical issue is that of the GUI aspects. I am
vaguely familiar with some GUI framework which is multi-platform,
being used by WireShark (formerly Ethereal) I believe? Hmm, I wonder
what GUI framework is used by the Firefox developers?

Any tips, pointers, gotchas, are most welcome...

TIA,

-Ramon

Using STD should be portable. I am not aware of a major platform
without it, but I guess on RISC architecture or whatever it might not
be present.

As far as Firefox goes, it uses GTK+, which is used by most GNOME
applications, and is GPLed. Another similar cross-platform library is
Qt, used by KDE applications, and has a dual license for either
commercial or open-source use.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,994
Messages
2,570,223
Members
46,813
Latest member
lawrwtwinkle111

Latest Threads

Top