Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 540
  • Last Modified:

Custom GUI (Platform Independent)

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
fxnut
Asked:
fxnut
  • 3
  • 2
  • 2
  • +1
3 Solutions
 
TyrsisCommented:
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
 
Jaime OlivaresSoftware ArchitectCommented:
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
 
str_ekCommented:
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
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

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.

 
fxnutAuthor Commented:
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
 
Jaime OlivaresSoftware ArchitectCommented:
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
 
str_ekCommented:
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
 
str_ekCommented:
fltk provides with a corss-platform opengl wrapper :)
0
 
fxnutAuthor Commented:
Thanks guys for your help :-)
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 3
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now