Everything Else

GUI development for cross platform

You have an idea for an application that you want to build once and ideally once only.

Cross platform means at least POSIX including Mac, Linux, Solaris, IRIX etc, and of course Windows. Lets leave Android out of the equation. But as you are doing Mac, you can in theory include iPhone/iPad if you want.

So how do you do the GUI?

It is a traditional computer app written in C/C++ that really uses files and devices, not a website you want on a PC. It is properly layered so factoring and rebuilding the GUI code natively for each platform is not a technical issue, it's a time and maintenance issue. The GUI is not very fancy, dialogs, buttons and text entry fields, no 3D or real time graphics used.

You also want to be able to freely distribute the application.

We're hammering languages in other threads, how about GUIs and their toolkits here?
Land of the Long White Cloud and no Software Patents.
wxWidgets ;-)
"Was it a dream where you see yourself standing in sort of sun-god robes on a
pyramid with thousand naked women screaming and throwing little pickles at you?"
porter wrote: You have an idea for an application that you want to build once and ideally once only.

Cross platform means at least POSIX including Mac, Linux, Solaris, IRIX etc, and of course Windows. Lets leave Android out of the equation. But as you are doing Mac, you can in theory include iPhone/iPad if you want.

So how do you do the GUI?

You already know the answer to this ... it ain't possible.

Windows and Mac are their own little worlds. Unix is Motif. Separate the app from the interface then customize each variety is all you can do. Or you can make it a Windows program that runs on XYZ (or a variation on that theme) .... wxWidgets is a nice try but still a camel - a horse designed by a committee*.

* That's actually a stupid joke because a camel is the exact opposite of a horse designed by committee. It's a very specialized creature extremely well-suited to its operating environment. And I guess that's the point of software as well - if you would have an application that really suits its environment, it is going to be a camel. Works great in the desert, looks funny as hell chasing foxes in England.
of course you can use Java oder toolkits like GTK+, but it will never be the same. depending on your needs, you may really want to have a native GUI (especially for mobile devices)
I suggest the Webkit-based Titanium ( http://www.appcelerator.com/products/ti ... evelopment ). It can create
applications for MS Windows, Max OSX, Linux, Android and iPhone.
The downside is that it does not support Irix and it is not for high performance applications.
:Fuel: 600 MHz, 2 GB RAM, 72 GB 15k RPM HD
:O2: 180 MHz
hamei wrote: Works great in the desert, looks funny as hell chasing foxes in England.
Well, may be not. Check http://www.jacamels.co.uk/
About 40% of Americans deny evolution. Sad.
R-ten-K wrote: wxWidgets ;-)

Used it in the past. Start-up company, no money, QT was still commercial.
It was a nightmare. Implementation was inconsistent or even incomplete across platforms.

We use QT where I work now. It works very well. The last QT version supported on IRIX is 4.5.
Now this is a deep dark secret, so everybody keep it quiet :)
It turns out that when reset, the WD33C93 defaults to a SCSI ID of 0, and it was simpler to leave it that way... -- Dave Olson, in comp.sys.sgi

Currently in commercial service: Image :Onyx2: (2x) :O3x02L:
In the museum : almost every MIPS/IRIX system.
Wanted : GM1 board for Professional Series GT graphics (030-0076-003, 030-0076-004)
jan-jaap wrote: We use QT where I work now.

But it looks like something designed by kindergarteners for kindergarteners So if "cross-platform" means everyone is reduced to a five-year-old, QT gets the nod :D
jan-jaap wrote:
R-ten-K wrote: wxWidgets ;-)

Used it in the past. Start-up company, no money, QT was still commercial.
It was a nightmare. Implementation was inconsistent or even incomplete across platforms.

We use QT where I work now. It works very well. The last QT version supported on IRIX is 4.5.


I don't like wxWidgets too. It looks like a bad MFC-clone.

If you have a small project and only need the user-interface, go for FLTK.
If you have a huge project and need network, threads and stuff, go for Qt.
If you have a game and only need OpenGL, sound and joysticks, go for SDL.

All of the three work on Windows, Mac, Linux, Irix (at least).

http://www.fltk.org/
http://qt.nokia.com/products/
http://www.libsdl.org/
hamei wrote:
jan-jaap wrote: We use QT where I work now.

But it looks like something designed by kindergarteners for kindergarteners So if "cross-platform" means everyone is reduced to a five-year-old, QT gets the nod :D



You never used Qt, right?
We use Qt for large cross-plattform-projects and it works great.
hamei wrote: But it looks like something designed by kindergarteners for kindergarteners

It's called theming , and if you're over the age of 5, you are free to ignore it and it will more or less blend in with whatever platform you're running. Heck, it it wasn't for theming, QT would probably look like Windows 95 on IRIX.

The bigger problem with QT on IRIX is build requirements (a current C++ compiler), and due to it's sheer size it's less suitable for most MIPS hardware.
Now this is a deep dark secret, so everybody keep it quiet :)
It turns out that when reset, the WD33C93 defaults to a SCSI ID of 0, and it was simpler to leave it that way... -- Dave Olson, in comp.sys.sgi

Currently in commercial service: Image :Onyx2: (2x) :O3x02L:
In the museum : almost every MIPS/IRIX system.
Wanted : GM1 board for Professional Series GT graphics (030-0076-003, 030-0076-004)
jan-jaap wrote: It's called theming , and if you're over the age of 5, you are free to ignore it ...

Am I free to ignore the fifty gigabytes of crap and the disgustingly poor performance that comes along with it as well ? Given the choice between looking like Windows 95 and performing like a TRS-80, guess which one I would choose ?

Qt.jpg
Qt.jpg (32.23 KiB) Viewed 764 times


Awwww, isn't dat so cute !? Kawai ! Kawai !

(I didn't make that shot up. That was taken from a site that thinks this is an appropriate interface for a mobile device. I also have fond memories of digging in the sandbox in Miss Mason's class but that was then, this is now.)

If I were god, I'd make sure that every developer worldwide would have the latest in 1998 technology. A 56k modem, blazing fast 1.2 ghz P3, 512 megs of memory. Then what they produced would actually run decently for the people who use their crap. And every time a user's computer locks up due to a software bug the user gets $50 from the software publisher. If it's a "stable" branch of open source, the developer responsible has to lick Bill Gates' boots for ten minutes.
hamei wrote:
jan-jaap wrote: We use QT where I work now.

But it looks like something designed by kindergarteners for kindergarteners. :D
Well, you have the source. Instead of your usual trolling, just re-write it into something better. Who knows, one or two people might even appreciate it after all :-)
About 40% of Americans deny evolution. Sad.
Oskar45 wrote: Well, you have the source. Instead of your usual trolling, just re-write it into something better. Who knows, one or two people might even appreciate it after all :-)

Why ? It's shit. Use Motif or even gtk. No need to reinvent the wheel.

Developers like Qt because it is easy for them. But they could care less about the people using the product. We get to pay for hardware that gets gobbled up by shit just to make life easier for developers. Great. Feel free to play that game.
I must admit I have to do some Qt, I have a cheap fondleslab ( made in China ) and it runs Angstrom Linux with a touchscreen, no X11. The only GUI access they provide is Qt.
Land of the Long White Cloud and no Software Patents.