I'm working on a program I hope to release as open source (non-engine). What do you all recommend as a cross-platform SDK?
My main goal is that I want to work as little as possible doing #ifdef for linux vs win vs os x.
I've used Qt years ago on Linux and enjoyed it, but wasn't entirely sure of the licensing or ease of use migrating a source tree to recompile in Windows.
Tempted to learn Java and just use Swing. The app isn't very demanding graphically.
Thanks in advance!
-Josh
Cross-Platform GUI Development
Moderators: hgm, Rebel, chrisw
-
- Posts: 1342
- Joined: Wed Mar 08, 2006 9:41 pm
- Location: Morgantown, WV, USA
-
- Posts: 2949
- Joined: Mon May 05, 2008 12:16 pm
- Location: Bordeaux (France)
- Full name: Julien Marcel
Re: Cross-Platform GUI Development
Nothing is simpler than QT Creator. You write once and compile for Windows/OSX/Linux. But you have to distribute QT's runtime, which is quite big.jshriver wrote:I'm working on a program I hope to release as open source (non-engine). What do you all recommend as a cross-platform SDK?
My main goal is that I want to work as little as possible doing #ifdef for linux vs win vs os x.
I've used Qt years ago on Linux and enjoyed it, but wasn't entirely sure of the licensing or ease of use migrating a source tree to recompile in Windows.
Tempted to learn Java and just use Swing. The app isn't very demanding graphically.
Thanks in advance!
-Josh
"The only good bug is a dead bug." (Don Dailey)
[Blog: http://tinyurl.com/predateur ] [Facebook: http://tinyurl.com/fbpredateur ] [MacEngines: http://tinyurl.com/macengines ]
[Blog: http://tinyurl.com/predateur ] [Facebook: http://tinyurl.com/fbpredateur ] [MacEngines: http://tinyurl.com/macengines ]
-
- Posts: 2949
- Joined: Mon May 05, 2008 12:16 pm
- Location: Bordeaux (France)
- Full name: Julien Marcel
Re: Cross-Platform GUI Development
Actually, something is simplerand more cross-platforms than QT Creator : Lazarus. If you know some pascal.jshriver wrote:I'm working on a program I hope to release as open source (non-engine). What do you all recommend as a cross-platform SDK?
My main goal is that I want to work as little as possible doing #ifdef for linux vs win vs os x.
I've used Qt years ago on Linux and enjoyed it, but wasn't entirely sure of the licensing or ease of use migrating a source tree to recompile in Windows.
Tempted to learn Java and just use Swing. The app isn't very demanding graphically.
Thanks in advance!
-Josh
Website: http://www.lazarus.freepascal.org/
I didn't think about mentioning it first, because I assumed you wanted to stick to C/C++. But if you're considering Java then you should definitely consider Lazarus. Arena, for instance, is written in Object Pascal with Lazarus.
"The only good bug is a dead bug." (Don Dailey)
[Blog: http://tinyurl.com/predateur ] [Facebook: http://tinyurl.com/fbpredateur ] [MacEngines: http://tinyurl.com/macengines ]
[Blog: http://tinyurl.com/predateur ] [Facebook: http://tinyurl.com/fbpredateur ] [MacEngines: http://tinyurl.com/macengines ]
-
- Posts: 1221
- Joined: Wed Mar 08, 2006 8:28 pm
- Location: Florida, USA
Re: Cross-Platform GUI Development
And FireMonkey, which is also Delphi / Pascal based. This would enable you to create a GUI for Win32 / Win64 / OSx / iOS and soon Android, all from the same code base
Steve
Steve
http://www.chessprogramming.net - Maverick Chess Engine
-
- Posts: 4185
- Joined: Tue Mar 14, 2006 11:34 am
- Location: Ethiopia
Re: Cross-Platform GUI Development
Use Java. It is just so easy to avoid all platform dependent code. It makes a lot of things so easy that I did a lot of things with it in one month. My cross-platform GUI developed with Java is so awesome I don't really know why no one uses it.
You can broadcast games with it like TLCV, it can act like a server like FICS, you can use it as a fast-tester like cutechess-cli (dos mode), or GUI mode like Winboard, it can be integrated into a webpage directly, can be used as a client to view gazillion games at the same time like BabasChess, you can play games between two chess engines, two checkers engines, three chess engines, two chess engines and a human, two aliens... Maybe it is just too much for some here, but Java is flexible like a rubber
You can broadcast games with it like TLCV, it can act like a server like FICS, you can use it as a fast-tester like cutechess-cli (dos mode), or GUI mode like Winboard, it can be integrated into a webpage directly, can be used as a client to view gazillion games at the same time like BabasChess, you can play games between two chess engines, two checkers engines, three chess engines, two chess engines and a human, two aliens... Maybe it is just too much for some here, but Java is flexible like a rubber
-
- Posts: 4366
- Joined: Fri Mar 10, 2006 5:23 am
- Location: http://www.arasanchess.org
Re: Cross-Platform GUI Development
Java is certainly portable and you can a reasonable UI with it. I think Swing is not very popular these days. It was never that easy to use (in particular, layout of controls/dialogs is a real pain). In addition to Swing, there is the SWT toolkit used by the Eclipse project.
IMO Qt is also a reasonable option. I don't think there is a licensing issue. If you are building an open source app you can use the GPL licensed version (if you are ok with GPL).
Adobe AIR is another option. It is a proprietary environment but as far as I can tell the runtime is freely distributable.
--Jon
IMO Qt is also a reasonable option. I don't think there is a licensing issue. If you are building an open source app you can use the GPL licensed version (if you are ok with GPL).
Adobe AIR is another option. It is a proprietary environment but as far as I can tell the runtime is freely distributable.
--Jon
-
- Posts: 1600
- Joined: Mon Feb 21, 2011 9:48 am
Re: Cross-Platform GUI Development
And Android, QT now also for Android.JuLieN wrote: Nothing is simpler than QT Creator. You write once and compile for Windows/OSX/Linux. But you have to distribute QT's runtime, which is quite big.
FIDE Arena is Java,Daniel Shawul wrote:Use Java. It is just so easy to avoid all platform dependent code.
e4ct,ect.
I but Java is flexible like a rubber
Impressive how it works.
-
- Posts: 484
- Joined: Mon Mar 13, 2006 11:08 am
- Location: Klein-Gerau, Germany
Re: Cross-Platform GUI Development
Embarcadero's Firemonkey also could be used with C++ Builder.
And there are other multi platform development systems based
on the language BASIC: Xojo http://www.xojo.com/index.php
and PureBasic http://www.purebasic.fr/english/, which
moreover uses embedded 32 Bit / 64 Bit Assembler if need be.
And there are other multi platform development systems based
on the language BASIC: Xojo http://www.xojo.com/index.php
and PureBasic http://www.purebasic.fr/english/, which
moreover uses embedded 32 Bit / 64 Bit Assembler if need be.