D "Swing"

Chris wendlec at tcd.ie
Mon Dec 24 02:34:41 PST 2012


On Monday, 24 December 2012 at 02:17:51 UTC, evilrat wrote:
> On Sunday, 23 December 2012 at 21:03:40 UTC, Chris wrote:
>> There exist some GUI Toolkits for D, however, they are more or 
>> less all based on bindings to native toolkits.
>>
>> Is anyone working on or are there plans to develop a pure 
>> Swing-like GUI Framework for D? While bindings have the 
>> advantage of using native widgets, they tend to lack behind as 
>> native widgets toolkits evolve and improve from version to 
>> version. Also, the full use of native features is not always 
>> easily accomplished (cf. SWT/JFace). A self-contained 
>> framework (like Swing) that could be extended as needed by a 
>> small set of native bindings - to implement os specific tasks 
>> - might be worth looking into.
>>
>> D would have the benefit of hindsight in avoiding mistakes 
>> made in other GUI toolkits (such as Swing and SWT/JFace), and 
>> while this may sound like reinventing the wheel, catering for 
>> cross-platform bindings (Windows, Linux and OS X) is an 
>> endless race, and might not be real cross-platform after all, 
>> because either a whole platform is not (yet) catered for (cf. 
>> DWT), or some features are not yet implemented for one 
>> platform or another.
>>
>> Programmers have to make practical decisions and from my own 
>> experience I know that nothing is worse than betting on the 
>> wrong horse, and at present I could not decide on a GUI 
>> toolkit for D.
>>
>> Your comments and advice are more than welcome.
>
> did you remember c++ lesson with qt? no, qt is good framework 
> but in fact its better when used your custom styles(imho), 
> native look and feel sometimes is just crappy, and custom cross 
> platform look'n'feel for your professional oriented stuff is 
> another plus, it instantly becomes recognizable and users don't 
> need to adapt to version on another system.
>
> sorry if it still unclear, i'm  not against bindings to native 
> ui i'm just trying to say it is good for simple stuff only and 
> only when ur program targeting one system(again, imho).

I agree. If it gets a bit more sophisticated, it can be quite 
annoying when using bindings.

>
> so i think HTML/JS is the really(but not only, yes) 
> crossplatform(phones, set top boxes, pc's, just about 
> everywhere...), fast, cost effecient(the only tool you need to 
> start develop is text editor and browser with developer tools, 
> almost all if not any has such tools, there is lot of designers 
> and JS programmers, and so on) and modern UI, so you can take a 
> look at my recent project - 
> http://forum.dlang.org/thread/azrwqdorulvwhjcmmrxx@forum.dlang.org 
> though it still in alpha
>
>
> sorry if that's not what you expect for gui framework stuff 
> such as gtk or qt.

I'd prefer a fully-fledged pure D solution for desktop apps. With 
D's ability to integrate C code native extensions should be 
manageable. But the framework should be self-contained like 
Swing. With extensions I mean things like using a Mac menu bar, 
use system services etc but the widgets should be D's own.

However, I also like HTML/JS solutions but am not sure whether 
they can replace a real GUI framework like Cocoa or Swing. JS is 
at times cumbersome to use for user interfaces.


More information about the Digitalmars-d mailing list