Custom GUI (Platform Independent)

Posted on 2004-08-18
Last Modified: 2013-12-03
Hi all,
What I'm looking for is a clear and consise description of a strategy for developing a custom designed user interface that will be easy to port across to different platforms. I have a some experience in developing Windows apps and that will be my initial choice of platform, but I want to make sure that if it becomes necessary, I can easily port my application across to Unix and other platforms (of which I have very little experience of, hence this question). I'm guessing that developing anything in MFC is a bad move right?!!

So what do people recommend? I'm just asking for an outline of the strategy, and maybe links to any resources that people would think I would find particularly useful.


Question by:fxnut
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +1

Assisted Solution

Tyrsis earned 100 total points
ID: 11828755

I would suggest giving Borland products a try.  C Builder is a good choice as an alternative to MFC, with the added bonus of Kylix, which you can use to create cross-platform applications to linux.  Also, if you are willing to try Delphi, you are given the added bonus of the project that is porting Delphi and their VCL classes (the base classes which basically wrap system calls) to other platforms including MacOS, etc.  I would suggest investigating it and evaluating it yourself.  As trying to create highly portable code from scratch right from pure system calls and porting it from platform to platform using other methods was a nightmare for myself.  Using delphi it took me less than 5 hours to port a very large project to linux from Windows using Delphi.

Hope this helps!

LVL 55

Assisted Solution

by:Jaime Olivares
Jaime Olivares earned 100 total points
ID: 11828782
You can use a portable GUI like wxWindows ( or QT (
You can download both for free, but notice that second one has a big price for commercial windows version licence.

Accepted Solution

str_ek earned 300 total points
ID: 11828847
delphi/kylix is good as a rad tool, but if you prefer c/c++ there are few quite eazier and more flexible solutions...

wxWindows -
a widgets wrapper lib for us on many platforms... jsut hadle gui threw it (yes there's a lotta lernin' to do) nad only pletform dependant code(like wgl, winapi etc...) is a porting problem, and there is always a way to avoid platform dependency somehow.... so it makes possible to write gui apps with corssplatform enabled code :)

ther are more great x-platfotm gui libs, and many,many more x-platform support libs for wrapping platform specyfic codes, like wgl,xgl ...

one more suggestion - fast lighttool kit, another great gui lib

that'e also a great lib...but it's shredded into many branches, and it makes a little bit difficult to keep yourself up to date and trace changes

there are always other x-platform libs for gui development ... just like the ported gtk, but in my opinion the wisest choise it wxwindows, or fltk..
Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.


Author Comment

ID: 11829087
Thanks for the quick responses guys. I've checked out the links you posted, and FLTK seems to be a good option. Version 1.2 of FLTK currently in development is going to allow for application "skins", which I would hope will allow me to create a custom look to the interface.

My initial phrasing of my question was a little unclear on what I want to do exactly. Basically, I'm thinking of writing a 3D modelling application and I was wondering how packages like Maya implement their cross platform interfaces. Writing an app like this is would require various custom UI controls and the design and implementation of the architecture is obviously extremely important.

So any 3rd party library would ideally have to support customisable control appearance, custom controls and possibly custom events.

Do the libraries mentioned so far provide this functionality?

LVL 55

Expert Comment

by:Jaime Olivares
ID: 11829179
for cross-platform 3d application I recommend you to use any OpenGL wrapper. Take a look at (write "opengl" on the search form)

Expert Comment

ID: 11829189
peep at efltk (one of branches) as well ;)

and bout fltk and customwidgets take a look at
with custom events it's a little more complicated problems, but it all can be should be possible to achieve threw widget subclassing

Expert Comment

ID: 11829227
fltk provides with a corss-platform opengl wrapper :)

Author Comment

ID: 11831546
Thanks guys for your help :-)

Featured Post

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
What are the big features of MVC5? 4 103
WPF issue with Trigger 2 142
Using MS Code on my Mac 6 76
Question to Pivot table 1 71
zlib is a free compression library (a DLL) on which the popular gzip utility is built.  In this article, we'll see how to use the zlib functions to compress and decompress data in memory; that is, without needing to use a temporary file.  We'll be c…
Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA.…

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question