October 21, 2018
On 2018-10-21 03:25, Nick Sabalausky (Abscissa) wrote:

> What about DWT? It seemed pretty good from what I could tell, though I
> still haven't ventured into D GUIs just yet myself. Are there issues
> people have with DWT? Or WxD?

DWT is currently stuck at SWT version 3.4 and no macOS version is available yet. I'm working on a tool that will automatically port the Java code that will hopefully fix this.

-- 
/Jacob Carlborg
October 21, 2018
On 2018-10-21 09:33, Russel Winder wrote:

> The SWT framework is being replaced with JavaFX, so should D forget DWT
> and do something similar?

Where do you get that idea? SWT (and therefore DWT) is using the native drawing operations of the OS.

No, D should not forget DWT. It's one of the few (they only?) D GUI toolkit that has a native look and feel.

-- 
/Jacob Carlborg
October 21, 2018
On 2018-10-20 11:25, Russel Winder wrote:

> GtkD works very well for me. But I guess GTK+ has a reputation of not
> working on Windows and macOS. Once a reputation is established it is
> nigh on impossible to refute.

As has been stated elsewhere, it's working on Windows and macOS but looks very alien on macOS. When I was in school I wrote a program using C# (Mono) and GTK on macOS. GTK seemed to be the best alternative (for using with Mono) back then. During the development of that program a beta or alpha version of GTK was released with support for a native main menu on macOS, the rest was non-native. Not sure how it looks like now.

-- 
/Jacob Carlborg
October 21, 2018
On Sunday, 21 October 2018 at 01:32:22 UTC, Nick Sabalausky (Abscissa) wrote:
> On 10/20/18 6:28 AM, Gregor Mückl wrote:
>> 
>> Even though web and mobile UIs seem to be the rage at the moment, I believe a solid support for desktop UIs is very important for a general purpose language, if it wants to be successful in the market.
>
> I think that may be doubly true in the case of D, given D's focus on efficiency. HTML-based interfaces (whether web or app) are notoriously rife with inefficiencies: That's likely to be a major turn-off for exactly the very same audiences that D would appeal to most.

While talking about bindings, do not forget Delphi. It has still a good eco system. Combining Delphi's advanced Runtime reflection capabilities with D's advanced compile reflection capabilities opens this eco system.

I created a proof of concept and the results were really promising. Using Delphi components is very easy and the wrapper code on D side is very thin.

Even clicking together a Firemonkey ui in Delphi and writing all code in D works fine.

Delphi is available for windows,  Mac os,  Android and IPhone. Linux support is somehow planned. It is free for personal use.

See an example here https://github.com/andre2007/delta-fmx-10-2-1/blob/master/examples/gui1/source/app.d

Due to very limited time resources I have no time to work on this specific topic at the moment but everyone is free to use these base research results.

Side remark: Lazarus (free pascal) is planning to add the same advanced Runtime reflection capabilities as Delphi.

Kind regards
Andre
October 21, 2018
On Saturday, 20 October 2018 at 16:37:07 UTC, Atila Neves wrote:
> I've also realised that there are parts of C++ that are probably unstranslatable no matter what I do.

This can be solved with good gui. It need to look like meld on linux where original cpp and translated d files are side by side and parts of untranslatable code visibly marked so the user can translate it by hand.
October 21, 2018
On Sun, 2018-10-21 at 04:15 -0400, Nick Sabalausky (Abscissa) via
Digitalmars-d wrote:
> […]
> 
> That's pure nonsense: It's Linux - unless one option actually goes
> away
> (KDE is still actively used and developed), then there's no such
> thing
> as one "winning" over the other.

Hardly nonsense. Debian, Ubuntu, Fedora all prefer GNOME over KDE, so GTK+ over Qt.

> It IS a big problem that far too many people (mainly developers
> coming
> directly from the Windows world who have decided to half-ass a Linux
> port) have decided to erroneously equate "Linux" with "GTK-based DE"
> these days, but that's a far cry from saying that GTK/GNOME/Unity
> "won
> out" over Qt/KDE.

People coming from Windows or macOS are genreally unaware of the notion of choice when it comes to UI. That Linux provides a choice is clearly alien to them. That I have chosen GNOME over KDE is a personal choice, but I like having the choice: I like that others can choose KDE or Cinnamon or whatever.

[…]
> Programmers writing GUI apps often like GTK. Nobody else does. From
> a
> programmer standpoint, it may very well be nice. But that's
> irrelevant,
> because from the user standpoint, GTK is, and has always been, a
> steaming pool of diarrhea, even if you ARE using GNOME/Unity.

GTK+ is fine and dandy. That you do not like it is your choice, and that is fine.

-- 
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk



October 21, 2018
On Sun, 2018-10-21 at 08:42 +0000, Paolo Invernizzi via Digitalmars-d wrote:
> […]
> 
> Linux is not only the desktop, and Qt simply dominates in industrial, medical and automation sector, that's where the money is.
> 
> Qt is pushing strongly on the embedded marked, bare metal or linux (kernel) based...

Which means that D not having a good play in the Qt space is a big
barrier to adoption. This means it ought to be a strategic goal to have
a (and I think I mean one here) D binding to Qt and QML.

-- 
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk



October 21, 2018
On Sun, 2018-10-21 at 12:49 +0200, Jacob Carlborg via Digitalmars-d wrote:
> On 2018-10-21 09:33, Russel Winder wrote:
> 
> > The SWT framework is being replaced with JavaFX, so should D forget
> > DWT
> > and do something similar?
> 
> Where do you get that idea? SWT (and therefore DWT) is using the
> native
> drawing operations of the OS.

But who apart from Eclipse and JetBrains uses Java for desktop GUI applications? I do not have Eclipse to check, but the JetBrains IDEs (at least CLion, GoLand, IntelliJ IDEA, and PyCharm) ship Swing, SWT, and JavaFX in their systems.

Swing, and I believe SWT, have somewhat old architectures for GUI
frameworks where GTK+, Qt, and wxWidgets have moved on. But this may
just be opinion rather than agreed "fact".

> No, D should not forget DWT. It's one of the few (they only?) D GUI toolkit that has a native look and feel.

Apart from GtkD on GTK+ systems, and dqml, QtE5, qtD, and dqt on Qt, and wxD on wxWidgets. Qt and wxWidgets pride themselves on being able to use native frameworks underneath – I have no personal evidence as I only use GNOME, I am not a good data point.

I do know though that a decade ago I was a fan of wxWidgets exactly
because it was a wrapper around native look and feel and better than
Qt. GTK+ doesn't really play that game.

-- 
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk



October 21, 2018
On Sun, 2018-10-21 at 12:54 +0200, Jacob Carlborg via Digitalmars-d wrote:
> 
[…]
> As has been stated elsewhere, it's working on Windows and macOS but
> looks very alien on macOS. When I was in school I wrote a program
> using
> C# (Mono) and GTK on macOS. GTK seemed to be the best alternative
> (for
> using with Mono) back then. During the development of that program a
> beta or alpha version of GTK was released with support for a native
> main
> menu on macOS, the rest was non-native. Not sure how it looks like
> now.

I tried GTK+ on OSX (*) a few weeks back using all the stuff from Homebrew. It started an X server, so definitely not native GUI framework. At least not directly.

(*) El Capitan. Apple in its infinite wisdom has decided my MBP is too old to have any OS more recent than that.

-- 
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk



October 21, 2018
On 2018-10-21 19:29, Russel Winder wrote:

> But who apart from Eclipse and JetBrains uses Java for desktop GUI
> applications?

There's probably a ton of business/enterprise applications that are written in Java.

But I don't care for that, that's why I'm using D :)

> I do not have Eclipse to check, but the JetBrains IDEs
> (at least CLion, GoLand, IntelliJ IDEA, and PyCharm) ship Swing, SWT,
> and JavaFX in their systems.

Not sure what you mean with "ship" here. Swing and JavaFX are shipped with Java.

Eclipse itself is built using SWT.

> Swing, and I believe SWT, have somewhat old architectures for GUI
> frameworks where GTK+, Qt, and wxWidgets have moved on. But this may
> just be opinion rather than agreed "fact".

I haven't use these other frameworks so I don't know what's consider old architecture and modern architecture.

> Apart from GtkD on GTK+ systems

Linux doesn't have a "native" GUI in the same sense as macOS and Windows.

, and dqml, QtE5, qtD, and dqt on Qt,
> and wxD on wxWidgets. Qt and wxWidgets pride themselves on being able
> to use native frameworks underneath – I have no personal evidence as I
> only use GNOME, I am not a good data point.

Qt is not native, at least not on macOS. Are any of the Qt D bindings actually useful? wxD seems very old, D1 old, is that useable?

When I said that DWT is basically the only native D toolkit, I failed to also include: up to date (as in working with the latest compiler), working and cross-platform.

-- 
/Jacob Carlborg