Solved

Custom GUI (Platform Independent)

Posted on 2004-08-18
8
532 Views
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.

Regards

Andy
0
Comment
Question by:fxnut
[X]
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
8 Comments
 
LVL 3

Assisted Solution

by:Tyrsis
Tyrsis earned 100 total points
ID: 11828755
Hello,

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 freepascal.org 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!

Tyrsis
0
 
LVL 55

Assisted Solution

by:Jaime Olivares
Jaime Olivares earned 100 total points
ID: 11828782
You can use a portable GUI like wxWindows (wxwidgets.org) or QT (http://www.trolltech.com/products/qt).
You can download both for free, but notice that second one has a big price for commercial windows version licence.
0
 
LVL 3

Accepted Solution

by:
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 - http://www.wxwindows.org/
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
http://www.fltk.org/ - 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..
0
Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

 
LVL 1

Author Comment

by:fxnut
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?

0
 
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 www.sourceforge.com (write "opengl" on the search form)
 
0
 
LVL 3

Expert Comment

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

and bout fltk and customwidgets take a look at http://www.fltk.org/documentation.php/doc-1.1/subclassing.html#subclassing
with custom events it's a little more complicated problems, but it all can be should be possible to achieve threw widget subclassing
0
 
LVL 3

Expert Comment

by:str_ek
ID: 11829227
fltk provides with a corss-platform opengl wrapper :)
0
 
LVL 1

Author Comment

by:fxnut
ID: 11831546
Thanks guys for your help :-)
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

This tutorial is about how to put some of your C++ program's functionality into a standard DLL, and how to make working with the EXE and the DLL simple and seamless.   We'll be using Microsoft Visual Studio 2008 and we will cut out the noise; that i…
What my article will show is if you ever had to do processing to a listbox without being able to just select all the items in it. My software Visual Studio 2008 crystal report v11 My issue was I wanted to add crystal report to a form and show…
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. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…

717 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