tags:

views:

529

answers:

6

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)

+1  A: 

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

It sounds like what you want.

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
Yes, work on that has already begun. See http://code.google.com/p/qtd/ .
dsimcha
+4  A: 

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
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
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
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
@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
+1  A: 

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
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
+2  A: 

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
Any chance of DWT being ported to D2 in the foreseeable future?
dsimcha
@dsimcha, no not really. First D2 must stabilize, then Tango be ported, then DWT.
he_the_great
+2  A: 

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
A: 

DWT now is not on dsource but on bitbucket: DWT2

bioinfornatics