Which GUI toolkits are best?
Moderators: hgm, Rebel, chrisw
-
- Posts: 3196
- Joined: Fri May 26, 2006 3:00 am
- Location: WY, USA
- Full name: Michael Sherwin
Which GUI toolkits are best?
If someone with no experience other than writing a chess engine wanted to write a portable GUI for chess then what would be some good choices for a GUI toolkit and why? Think in terms of adequate, simple and easy to learn and not so much on bells and whistles. Also free would be nice!
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
-
- Posts: 5106
- Joined: Tue Apr 29, 2008 4:27 pm
Re: Which GUI toolkits are best?
I don't think there is anything simpler and easier than tcl/tk for this. If you want to write this in C you can still use the tk library. One huge advantage of tcl/tk is that it is extremely portable.Michael Sherwin wrote:If someone with no experience other than writing a chess engine wanted to write a portable GUI for chess then what would be some good choices for a GUI toolkit and why? Think in terms of adequate, simple and easy to learn and not so much on bells and whistles. Also free would be nice!
Re: Which GUI toolkits are best?
Portable : what are the targets ? If you include mobile sets, things get complicated.
On desktop PC, you have plenty of choices, among them the most obvious :
- Java
- C++ with Qt (wxWindows is worth considering)
- Tcl / Tk, Perl Tk (Tkinter), Python Tk, Python Qt, etc.
I don't think Air from Adobe is a good candidate. Of course forget about MS Silverlight.
All these are free for opensource development (for example Qt needs a licence to make commercial apps).
The best choice may be Java (free and easy to learn) : look at Jose Chess http://jose-chess.sourceforge.net/ which deserves to be continued.
Pascal Georges
On desktop PC, you have plenty of choices, among them the most obvious :
- Java
- C++ with Qt (wxWindows is worth considering)
- Tcl / Tk, Perl Tk (Tkinter), Python Tk, Python Qt, etc.
I don't think Air from Adobe is a good candidate. Of course forget about MS Silverlight.
All these are free for opensource development (for example Qt needs a licence to make commercial apps).
The best choice may be Java (free and easy to learn) : look at Jose Chess http://jose-chess.sourceforge.net/ which deserves to be continued.
Pascal Georges
-
- Posts: 3196
- Joined: Fri May 26, 2006 3:00 am
- Location: WY, USA
- Full name: Michael Sherwin
Re: Which GUI toolkits are best?
Thanks!
Wright or wrong this is what I understand so far.
Tcl is a scripting language and is interpreted, but you can make standalone executables by embedding the interpreter.
Tk is the actual GUI library that can be called from different languages including just plain C.
What I do not know is:
What is a scripting language? And how is it different than using an ide such as MSVS to write code using a procedural language like C?
Is Tcl just a language designed to use Tk or can it be used with out calling Tk functions?
Is 'scripting' and 'general purpose' mutually exclusive terms?
Can Tk be used with Lisp, PLT Scheme or Haskel?
Would it be just as easy to use Tk with C or would it be worth learning Tcl?
Wright or wrong this is what I understand so far.
Tcl is a scripting language and is interpreted, but you can make standalone executables by embedding the interpreter.
Tk is the actual GUI library that can be called from different languages including just plain C.
What I do not know is:
What is a scripting language? And how is it different than using an ide such as MSVS to write code using a procedural language like C?
Is Tcl just a language designed to use Tk or can it be used with out calling Tk functions?
Is 'scripting' and 'general purpose' mutually exclusive terms?
Can Tk be used with Lisp, PLT Scheme or Haskel?
Would it be just as easy to use Tk with C or would it be worth learning Tcl?
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
-
- Posts: 32
- Joined: Wed Dec 16, 2009 12:35 am
Re: Which GUI toolkits are best?
I like http://www.wxwidgets.org/
wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux and UNIX on 32-bit and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+. It has popular language bindings for Python, Perl, Ruby and many other languages. Unlike other cross-platform toolkits, wxWidgets gives its applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI. It's also extensive, free, open-source and mature.
Re: Which GUI toolkits are best?
The IDE is just a text editor plus fancy features (code completion, syntax highlighting, etc.). You have some either for scripting languages or compiled ones.What is a scripting language? And how is it different than using an ide such as MSVS to write code using a procedural language like C?
They fit well together, but Tk can be used with Tcl, Perl, Python, etc.Is Tcl just a language designed to use Tk or can it be used with out calling Tk functions?
No.Is 'scripting' and 'general purpose' mutually exclusive terms?
If you consider those obsolete or marginal languages, portability and maintenance will be both an issue.Can Tk be used with Lisp, PLT Scheme or Haskel?
Certainly it is worth learning Tcl. I use both Tcl and C++ for Scid, that relies on Tk toolkit. But Tcl is no longer a mainstream language. Java would be a better choice nowadays.Would it be just as easy to use Tk with C or would it be worth learning Tcl?
Pascal Georges[/quote]
-
- Posts: 1221
- Joined: Wed Mar 08, 2006 8:28 pm
- Location: Florida, USA
Re: Which GUI toolkits are best?
I'd always recommend Delphi (i.e. Visual Pascal). IMHO it's the best Windows Application development environment. Currently it's really only Win32 but that is likely to change "soon". The big advantage over many platforms is that it compiles into one single EXE.
While many C++ snobs will turn their noses up at Delphi, both Arena and Aquarium are Delphi based.
Best regards,
Steve
While many C++ snobs will turn their noses up at Delphi, both Arena and Aquarium are Delphi based.
Best regards,
Steve
-
- Posts: 1243
- Joined: Sat Dec 13, 2008 7:00 pm
Re: Which GUI toolkits are best?
This hasn't been true for at least 6 months or so now. Qt is now LGPL instead of GPL, so no problem using it for commercial apps freely.pgeorges wrote: All these are free for opensource development (for example Qt needs a licence to make commercial apps).
-
- Posts: 750
- Joined: Mon Mar 27, 2006 7:45 pm
- Location: Finland
Re: Which GUI toolkits are best?
Delphi is nice, and it's a complete solution for Windows development. But "soon" probably isn't good enough for someone who needs cross-platform compatibility "now".Steve Maughan wrote:I'd always recommend Delphi (i.e. Visual Pascal). IMHO it's the best Windows Application development environment. Currently it's really only Win32 but that is likely to change "soon".
Do you mean that it uses static linking? Most platforms can do that. But I still prefer dynamic linking because it's more flexible, eg. you can update components/libraries without recompiling the application.The big advantage over many platforms is that it compiles into one single EXE.
-
- Posts: 750
- Joined: Mon Mar 27, 2006 7:45 pm
- Location: Finland
Re: Which GUI toolkits are best?
For Cute Chess we use Qt, which is what I recommend for cross-platform (or even single-platform) development. If performance and memory usage are not that important, you may want to use Python (http://www.pyside.org/) instead of C++, especially if you're not familiar with C++. The Qt SDK is a complete package: compiler, libraries, debugger, IDE, documentation.