22

What is the current status of GUI programming with D Language? Are the language developers planning include GUI in the standard library?

The List (compiled from answers)

DWT (SWT binding)

GtkD (GTK binding)

wxD (wxWidgets binding)

QtD (Qt binding)

Imran
  • 87,203
  • 23
  • 98
  • 131

7 Answers7

8

The most mature one is DWT, a port of SWT to D. There's also DFL and a whole host of bindings to GUI libraries written in other languages. Most of these aren't that mature yet, but DWT is. However, one thing to keep in mind is that D2 is on the horizon, so you might want to check whether the library is likely to be ported to D2 quickly.

I doubt that any of these will be included in the standard library anytime soon. The "official" standard library, Phobos, has a fairly minimalist attitude. The "unofficial" standard library, Tango, is not so minimalist, but still has a more systems programming bent to it. BTW, what's the difference if it's not in the standard library? I can see why this would be important for small, miscellaneous pieces of functionality where the effort to find, install, etc. a library for each one is significant compared to the amount of functionality the library adds, but not for big stuff like GUIs.

dsimcha
  • 67,514
  • 53
  • 213
  • 334
  • Is a DWT application produces native executable (statically or dynamically linked) or does it depend on SWT JAR files? Sorry if the question sounds stupid, but I never used a non-java SWT app before. – Imran Jan 15 '09 at 18:17
  • I've never actually used it either, because my work doesn't involve GUIs, but AFAIK it produces native executables. It is literally a translation of the SWT Java code to D. – dsimcha Jan 15 '09 at 18:20
  • 1
    GUI in standard library generally to attract more developers (C++ vs Java/C#), like having a standard IDE for the language. Many beginning GUI programmers prefer to get started with minimum complexity. That's why I asked about GUI being included in D standard library. – Imran Jan 15 '09 at 20:32
  • @Imran, No there are no plans to have a GUI in the STD Lib. DWT will compile to native code, as a library or part of the app. I hear Windows dll files are problematic so there is DDL. Also Recently DWT Cocoa is announced to be mostly done. – he_the_great Jan 20 '09 at 03:03
3

From site dlang.org ( from FAQ dlang.org/faq.html ):
http://wiki.dlang.org/GUI_Libraries

I found to:
http://www.prowiki.org/wiki4d/wiki.cgi?action=browse&id=GuiLibraries&oldid=AvailableGuiLibraries
There are a list of GUI libraries and the status of them.
Finally, from http://www.dsource.org:
http://www.http://www.dsource.org/projects
There are a list of projects in groups.
One of group is named "Libraries-GUI".
I think there is a full list of GUI libraries for D language.

3

You might want to check out wxd, a wxWindows library for D.

It sounds like what you want.

user54650
  • 4,388
  • 2
  • 24
  • 27
  • 2
    Is there any possibility of a D binding for Qt? It would be nice to program in Qt in a higher level language than C++ without losing the ability to create native executables. – Imran Jan 15 '09 at 18:05
2

I think DWT looks like the most mature currently usable solution, especially if you need cross platform. As for a gui being included in the standard library, it is stated previously that it won't happen, neither for Phobos nor Tango.

larsivi
  • 1,485
  • 10
  • 16
2

Hybrid looks interesting (never tried that though). If you are a java dev then DWT is the natural migration from swt but otherwise I would recommend DFL. Have a look at the dsource list too and scroll down to GUI-Libraries.

I think it's a good thing that gui libraries are separate from standard library.

Tim Matthews
  • 5,031
  • 8
  • 38
  • 45
1

There is also on the works a binding for QT. Not useful at the moment, but it seems that is being done by QT engineers.

albatroz
  • 11
  • 1
  • No, it is not done by Qt engineers per se, although I think one of the people looking into it does work with Qt support. – larsivi Jan 15 '09 at 18:30
0

DWT now is not on dsource but on bitbucket: DWT2

bioinfornatics
  • 1,749
  • 3
  • 17
  • 36