Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
0 user currently in Programming. | 3 guests
Acmlm's Board - I2 Archive - Programming - Options for cross platform gui coding?
  
User name:
Password:
Reply:
 

UserPost
loadingNOW
Posts: 41/61
thx a lot for all the info. i have not made up my mind (and it's not that urgent) still some comments:
java swing might work in theory but actually working with it is a nightmare if you ask me. I'd even prefer MFC...
I didn't know tcl/tk before, looks interesting
neotransotaku
Posts: 2403/4016
Originally posted by HyperHacker
Dan: I'm pretty sure he meant you have to actually draw the GUI and keep track of controls, coordinates etc manually, as opposed to telling the OS to put a button here, a text box there, etc.
In Java, that is what Swing is for--all you have to do is specify layouts and what you want to go onto a panel and where to place a panel. No need to worry about how to draw a button, making mouse support, figuring out where exactly to draw the button, etc.

As for Java UI out of place, well--i wouldn't say that. Sun has included a windows look and feel theme; which makes java programs have a Windows look. Sun also has probivded a Unix look and feel as well.

As to answer loadingNOW's question--they are all viable because they all do what you want in terms of producing a cross-platform, write-once GUI interface.
HyperLamer
Posts: 3436/8210
Originally posted by dan
For no doubt ridiculous reasons.

I won't argue with you there. Personally, I wouldn't use Java for anything serious; it's a huge resource hog. (Heck, I couldn't even get it to run. )

Dan: I'm pretty sure he meant you have to actually draw the GUI and keep track of controls, coordinates etc manually, as opposed to telling the OS to put a button here, a text box there, etc.
Parasyte
Posts: 318/514
A correction to my post, above; I managed to confuse Qt with Tk. So the whole time I was saying "Qt", I actually meant "Tk". So yeah, there's also Tcl/Tk to consider.
FreeDOS
Posts: 1159/1657
Well... for Win32, I've found the GTK+ build at http://silverex.info/ to be the most compatible (too many cases where you run into DLL hell for just GTK+), and it comes with a theme switcher. There's a theme called Gtk-Wimp (Windows IMPersonator) which grabs windows' style controls into GTK apps. There can be problems with WindowBlinds, though. Also, Win32 GTK+ applications don't allow dynamic theme changes, unlike the *nixes. So... if you want users to use that version, you just host that file.
dan
Posts: 453/782
Originally posted by FreeDOS
The only real options are GTK or Java. Qt has yet to be on Windows freely, and compiling programs in Qt for Windows is a much worse nightmare than GTK. Heh.... I like the GTK themes much better, too.


Unfortunately, GTK looks so out of place on Windows, it can put users off using applications written using it. Still, the same is true of Java (with Swing).

Originally posted by FreeDOS
The problem with Java, though, is that you have to make your own GUI from scratch or take someone else's.


Last I checked, the "problem" exists in virtually every programming language that allows you to create GUIs.
Dish
Posts: 281/596
Why isn't wxWidgets being listed as a "real option"? From what I've seen it's as capable as GTK -- I think it even uses GTK for *nix, and uses the 'natural' API for other platforms. It also appears to be way easier to use and is documented much much better.

From the research I've done, I'd take wxWidgets over GTK any day of the week. Although they both suffer from the same problem: lack of graphics/audio/input
FreeDOS
Posts: 1157/1657
The only real options are GTK or Java. Qt has yet to be on Windows freely, and compiling programs in Qt for Windows is a much worse nightmare than GTK. Heh.... I like the GTK themes much better, too.

.NET is only a solution for Windows. It's a rare occurance to see any *nix user with Mono or dotGNU.

Java is cross-operating system and cross-hardware. It's still really limited to systems that Sun decides to support, but that is a very large number. The problem with Java, though, is that you have to make your own GUI from scratch or take someone else's.
dan
Posts: 451/782
For no doubt ridiculous reasons.
HyperLamer
Posts: 3405/8210
Er, avoiding .Net.
dan
Posts: 448/782
Originally posted by HyperHacker
I thought .Net was only a Windows thing.


Where have you been for the past few years? There's the already mentioned Mono, and DotGNU, another open source .NET implementation.
neotransotaku
Posts: 2387/4016
.NET is primarily a windows thing--but coding with C# isn't--there are open source C# compilers that will compile to x86 environments for different OS

As for self-producing GUI, that is one way to be platform independent. If you do that, might I suggest using GLUT, which is an openGL wrapper that will take care of some basic level windowing for you depending on what OS you compile on.
HyperLamer
Posts: 3400/8210
I thought .Net was only a Windows thing. Self-rendered is a neat option if you're good at graphics, but done badly it can really suck. I, for one, hate ZSnes's GUI.
dan
Posts: 445/782
Ultimate++ has a half decent cross platform toolkit. The next version of Qt on Windows will apparently be free. There's also a free port of Qt (not by Trolltech) available, but I'm not sure on the quality of it.

Mono's implementation of System.Windows.Forms is coming along nicely, so if you write a GUI application using Microsoft's .NET SDK (or VS .net whatever), it may compile and run fine on Mono.

Generally, I'm not a fan of GTK+, as it usually looks like ass on Windows. (Even with the WIMP theme)

You might also want to try wxWidgets, as it does a half decent job of abstracting GUI stuff away, and you can use it from a wide variety of languages.
Parasyte
Posts: 316/514
I have been looking into the same sort of thing recently. And though I have not decided, GTK and Qt are definitely the only real choices. And in actuality, I would probably pick GTK over Qt. (Even if only because Tcl looks bad)
Of course, there is another option -- a self-rendered GUI, such as those available in ZSNES, Meka, Red Dragon, etc. There are quite a few GUI engines to choose from, depending on which graphics lib you want to use. (Allegro, SDL, etc.)
loadingNOW
Posts: 40/61
well obviously winapi is not an option.
i know i could go the following routes:
- Qt (but that's quite costy for win32)
- GTK (but that's confusing - or maybe i've read the wrong documentations)
- MonoDevelop (C#) + GTK# (there has been quite a lot of hype about that solution lately - I don't know what to think about it mainly because I am not exactly fond of .net - due bad experiences with java)
- Java (*ugg*)

Now is any of these actually useable? And if so, which one? why?
Acmlm's Board - I2 Archive - Programming - Options for cross platform gui coding?


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.010 seconds.