www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - GUI apps with D

reply Glen Perkins <Glen_member pathlink.com> writes:
I'm curious what experiences people have had developing GUI apps with D. Of
course everything is still experimental, but I'm just wondering if people have
already learned some lessons from their experiments about what works well, what
doesn't work so well, what IDEs  you've tried, etc.

Personally, I'd love to see a D editor / debugger, etc. for Eclipse along with a
D version of SWT. SWT, with its Unicode-only strings, assumption of garbage
collection with some manual handling of system resources, etc., seems like a
much better match for D than something like MFC, GTK+, Qt, etc. The important
parts of SWT are all native code with Java used mostly as wrappers, and it might
not be too tough to take the Java parts (I believe the wrapper code is all open
source with a BSD-like license) and rewrite them in D.

In the meantime, what have people tried and what advice do you have?

(I'm thinking of cross-platform ideally, but it would need to be very GOOD on
whatever platform I targeted, so feedback regarding any GUI library would be
interesting.)

Thanks.
Dec 10 2005
next sibling parent Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Glen Perkins wrote:
 Personally, I'd love to see a D editor / debugger, etc. for Eclipse along with
a
 D version of SWT. (...)

you might want to take a look at this project: http://dsource.org/projects/dwt/ -- -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS/M d-pu s+: a-->----- C+++$>++++ UL P+ L+ E--- W++ N++ o? K? w++ !O !M V? PS- PE- Y PGP t 5 X? R tv-- b DI- D+ G e>+++ h>++ !r !y ------END GEEK CODE BLOCK------ Tomasz Stachowiak /+ a.k.a. h3r3tic +/
Dec 10 2005
prev sibling next sibling parent reply John Reimer <terminal.node gmail.com> writes:
Glen Perkins wrote:
 I'm curious what experiences people have had developing GUI apps with D. Of
 course everything is still experimental, but I'm just wondering if people have
 already learned some lessons from their experiments about what works well, what
 doesn't work so well, what IDEs  you've tried, etc.
 
 Personally, I'd love to see a D editor / debugger, etc. for Eclipse along with
a
 D version of SWT. SWT, with its Unicode-only strings, assumption of garbage
 collection with some manual handling of system resources, etc., seems like a
 much better match for D than something like MFC, GTK+, Qt, etc. The important
 parts of SWT are all native code with Java used mostly as wrappers, and it
might
 not be too tough to take the Java parts (I believe the wrapper code is all open
 source with a BSD-like license) and rewrite them in D.
 
 In the meantime, what have people tried and what advice do you have?
 
 (I'm thinking of cross-platform ideally, but it would need to be very GOOD on
 whatever platform I targeted, so feedback regarding any GUI library would be
 interesting.)
 
 Thanks.
 
 

It's been done, already, mostly thanks to a lot of hard work completed by Shawn Liu. DWT is SWT in D. :) The DWT project is an incredibly beautiful and powerful example of what D is capable of in the GUI area. Have a look at the project at www.dsource.org. The idea of porting SWT over to D was first hatched close to 2 years ago by a few of us over at dsource.org, specifically by Brad, the dsource owner/maintainer. It didn't really get too far off the ground, though, until Shawn came onto the scene towards the beginning of 2005 (end 2004?). -JJR
Dec 10 2005
parent reply Glen Perkins <Glen_member pathlink.com> writes:
Thanks to everyone for pointing out the DWT project! Now, has anyone made much
use of it? How did you do it? What did you do with it? What is your impression
of it? What is its *real* status in your opinion? 

Has anyone had experience using D+DWT *and* D+(something else like MFC, GTK) who
has an opinion to share?

Thanks.





In article <dneieg$114f$1 digitaldaemon.com>, John Reimer says...
Glen Perkins wrote:
 I'm curious what experiences people have had developing GUI apps with D. Of
 course everything is still experimental, but I'm just wondering if people have
 already learned some lessons from their experiments about what works well, what
 doesn't work so well, what IDEs  you've tried, etc.
 
 Personally, I'd love to see a D editor / debugger, etc. for Eclipse along with
a
 D version of SWT. SWT, with its Unicode-only strings, assumption of garbage
 collection with some manual handling of system resources, etc., seems like a
 much better match for D than something like MFC, GTK+, Qt, etc. The important
 parts of SWT are all native code with Java used mostly as wrappers, and it
might
 not be too tough to take the Java parts (I believe the wrapper code is all open
 source with a BSD-like license) and rewrite them in D.
 
 In the meantime, what have people tried and what advice do you have?
 
 (I'm thinking of cross-platform ideally, but it would need to be very GOOD on
 whatever platform I targeted, so feedback regarding any GUI library would be
 interesting.)
 
 Thanks.
 
 

It's been done, already, mostly thanks to a lot of hard work completed by Shawn Liu. DWT is SWT in D. :) The DWT project is an incredibly beautiful and powerful example of what D is capable of in the GUI area. Have a look at the project at www.dsource.org. The idea of porting SWT over to D was first hatched close to 2 years ago by a few of us over at dsource.org, specifically by Brad, the dsource owner/maintainer. It didn't really get too far off the ground, though, until Shawn came onto the scene towards the beginning of 2005 (end 2004?). -JJR

Dec 10 2005
next sibling parent Antti Oja <Antti_member pathlink.com> writes:
In article <dnf7gm$2gde$1 digitaldaemon.com>, Glen Perkins says...
Thanks to everyone for pointing out the DWT project! Now, has anyone made much
use of it? How did you do it? What did you do with it? What is your impression
of it? What is its *real* status in your opinion? 

Has anyone had experience using D+DWT *and* D+(something else like MFC, GTK) who
has an opinion to share?

Thanks.

No real experience on using those, but I'll add my 0.02 euros to the discussion anyway ;) I am not sure if it's even possible to use MFC as such with D (if memory serves, it's a bunch of C++-classes and they have very limited compatibility in D), and I certainly wouldn't even try, if you have portable software in mind. As for GTK, I think it is possible, but again, I don't see it as a strong option. The DWT seems like the most viable option, considering you're also interested in Eclipse. You can even find some related samples in the examples-folder of the current DWT subversion-snapshot. For now, I don't know if the GTK-implementation of the DWT is working, mostly because I haven't tried/examined more closely, but SWT uses GTK (I think) on Linux, so it would make sense to be at least prepared to add the support. This has been mostly a personal opinion, but for D + GTK, you might ask directly from the DWT project admins and also the maker of this one called akIDE. He's been trying to port his D IDE from pure Windows code to GTK. Cheers.
Dec 10 2005
prev sibling parent John Reimer <terminal.node gmail.com> writes:
Glen Perkins wrote:
 Thanks to everyone for pointing out the DWT project! Now, has anyone made much
 use of it? How did you do it? What did you do with it? What is your impression
 of it? What is its *real* status in your opinion? 
 
 Has anyone had experience using D+DWT *and* D+(something else like MFC, GTK)
who
 has an opinion to share?
 
 Thanks.
 
 

A current limitation of DWT is that it has no real documentation yet. You can look at some examples included with the archive, though. And it does have some precompiled exececutables available for windows. Those show off many of the things it's currently capable of doing. As far as I know, it should be called beta software. I haven't used it much, but from what I see, it looks quite stable. Another shortcoming of DWT is that the Linux/GTK port is not yet really started. I had plans to get a move on that, but got sidetracked with other D projects. I still want to work on it. But it won't happen right away. No MFC port is likely to ever see the light of day in D. But there might be some look-alikes around. There are several other D GUI API's available, but they are mostly for windows. Have a look at the list here:
 http://www.prowiki.org/wiki4d/wiki.cgi?AvailableGuiLibraries

DUI and MinWin, so far, are the only libraries that support both Win32 and Gtk+. DUI is much more comprehensive than MinWin, while MinWin is probably much easier to use. DUI is meant to be something like gtkmm, I believe (the C++ Gtk wrapping). MinWin, "minimal window toolkit", is meant to be as simple as it's name implies. Most of these libraries demonstrate some very useful features as made available by the D Language. Have a look at them to see some fun use of D templates and delegates. -JJR
Dec 10 2005
prev sibling parent reply Antti Oja <Antti_member pathlink.com> writes:
In article <dnee38$mmb$1 digitaldaemon.com>, Glen Perkins says...
I'm curious what experiences people have had developing GUI apps with D. Of
course everything is still experimental, but I'm just wondering if people have
already learned some lessons from their experiments about what works well, what
doesn't work so well, what IDEs  you've tried, etc.

Personally, I'd love to see a D editor / debugger, etc. for Eclipse along with a
D version of SWT. SWT, with its Unicode-only strings, assumption of garbage
collection with some manual handling of system resources, etc., seems like a
much better match for D than something like MFC, GTK+, Qt, etc. The important
parts of SWT are all native code with Java used mostly as wrappers, and it might
not be too tough to take the Java parts (I believe the wrapper code is all open
source with a BSD-like license) and rewrite them in D.

In the meantime, what have people tried and what advice do you have?

(I'm thinking of cross-platform ideally, but it would need to be very GOOD on
whatever platform I targeted, so feedback regarding any GUI library would be
interesting.)

Thanks.

Yep, people already pointed out the DWT project. I haven't fiddled with it personally, but I agree on the Eclipse part. From dsource.org you can find a project called eclipseD, but the project has been stopped for quite some time now. I tried using it but it didn't work as expected. I don't know why, but it messed up some aspects of JDT and most of CDT. For instance, I couldn't compile anything, it would crash my workbench every now and then and there were these actions you couldn't take at all. If someone is willing to start a D Development Tools project on Eclipse, be sure to post a message here. I, for one, would be interested in contributing :D Cheers!
Dec 10 2005
parent reply John Reimer <terminal.node gmail.com> writes:
Antti Oja wrote:

 
 Yep, people already pointed out the DWT project. I haven't fiddled with it
 personally, but I agree on the Eclipse part. From dsource.org you can find a
 project called eclipseD, but the project has been stopped for quite some time
 now. I tried using it but it didn't work as expected. I don't know why, but it
 messed up some aspects of JDT and most of CDT. For instance, I couldn't compile
 anything, it would crash my workbench every now and then and there were these
 actions you couldn't take at all. 
 If someone is willing to start a D Development Tools project on Eclipse, be
sure
 to post a message here. I, for one, would be interested in contributing :D
 
 Cheers!
 
 

Yes, I can't get the new DDT, aka EclipseD, to work either. It appears to be inactive right now, even though it promised to be an impressive addition to Eclipse. If you are interested in helping in developing it, you should let Brad at dsource.org know. He may be able to get you set up with contribution access. -JJR
Dec 10 2005
parent Eugene Pelekhay <pelekhay gmail.com> writes:
John Reimer wrote:
 Antti Oja wrote:
 
 Yep, people already pointed out the DWT project. I haven't fiddled
 with it
 personally, but I agree on the Eclipse part. From dsource.org you can
 find a
 project called eclipseD, but the project has been stopped for quite
 some time
 now. I tried using it but it didn't work as expected. I don't know
 why, but it
 messed up some aspects of JDT and most of CDT. For instance, I
 couldn't compile
 anything, it would crash my workbench every now and then and there
 were these
 actions you couldn't take at all. If someone is willing to start a D
 Development Tools project on Eclipse, be sure
 to post a message here. I, for one, would be interested in
 contributing :D

 Cheers!

Yes, I can't get the new DDT, aka EclipseD, to work either. It appears to be inactive right now, even though it promised to be an impressive addition to Eclipse. If you are interested in helping in developing it, you should let Brad at dsource.org know. He may be able to get you set up with contribution access. -JJR

I'm developing this DDT, but due to the lack of spare time I didn't update SVN for for several weeks. I have plans to resume my work from 24 December. In case of problems with this plugin or questions don't hesitate to mail me.
Dec 13 2005