November 28, 2013
Le 28/11/2013 21:35, Jacob Carlborg a écrit :
> On 2013-11-28 21:03, Xavier Bigand wrote:
>
>> Take a look to QML with Qt Quick Controls :
>> http://www.youtube.com/watch?v=_6_F6Kpjd-Q
>
> That shows the problem with non-native toolkits. When he adds the button
> to the toolbar in the beginning, the toolbar isn't a native unified
> toolbar. It's some custom toolbar.
>

Yep, that the goal, having applications with a real personality. I don't think it's an issue especially when application is full screen and respect pictographs (icons and texts) standards,...

Having custom UI can help applications to improve ergonomic with dedicated behaviors when it's needed.

D itself isn't limited to one policy, you can do objects or not,... the only things that is important is to let a strong default couple of style and ergonomic without adding complexity for users want do some custom stuff.


What is native on windows ?
 - Win32
 - Winforms
 - Qt Widgets (that is near Win32)?

And on linux ?
 - GTK (with gnome and KDE)
 - Qt QML (KDE future)

A native UI isn't necessary considered as the standard one, maybe Qt have a chance to be a real standard (on many platforms).
November 28, 2013
On Thursday, 28 November 2013 at 20:55:02 UTC, Xavier Bigand wrote:
> Yep, that the goal, having applications with a real personality. I don't think it's an issue especially when application is full screen and respect pictographs (icons and texts) standards,...

It is easier (much much easier) but less desired path. I will chose native look & feel over any possible "personality". To be honest, personality is the very last thing I want from my applications. They are best when I don't notice them.

True cross-platform is a myth. However, I can't imagine anyone supporting full scale of popular native toolkits so it remains as unfortunate compromise.
November 29, 2013
On Thursday, 28 November 2013 at 20:55:02 UTC, Xavier Bigand wrote:
> Le 28/11/2013 21:35, Jacob Carlborg a écrit :
>> On 2013-11-28 21:03, Xavier Bigand wrote:
>>
>>> Take a look to QML with Qt Quick Controls :
>>> http://www.youtube.com/watch?v=_6_F6Kpjd-Q
>>
>> That shows the problem with non-native toolkits. When he adds the button
>> to the toolbar in the beginning, the toolbar isn't a native unified
>> toolbar. It's some custom toolbar.
>>
 clip
>
>
> What is native on windows ?
>  - Win32
>  - Winforms
>  - Qt Widgets (that is near Win32)?
>
> And on linux ?
>  - GTK (with gnome and KDE)
>  - Qt QML (KDE future)

Neither.  Its Motif :o)   Unity!
Actually, I would say Linux doesn't have a native GUI, since Qt/GTK are basically cross-platform UI toolkits that sit on top of X11/Wayland/Whatever.

>
> A native UI isn't necessary considered as the standard one, maybe Qt have a chance to be a real standard (on many platforms).

November 29, 2013
On Friday, 29 November 2013 at 01:26:57 UTC, Craig Dillabaugh wrote:
> Actually, I would say Linux doesn't have a native GUI, since Qt/GTK are basically cross-platform UI toolkits that sit on top of X11/Wayland/Whatever.

There can't be such thing as native Linux GUI. Linux is a kernel. There is a native Gnome GUI, same for KDE, Unity and probably some other Linux-based desktop environments. X11 is not a "native GUI" either as it is does not have own look & feel.
November 29, 2013
clip
>> What is native on windows ?
>> - Win32
>> - Winforms
>> - Qt Widgets (that is near Win32)?
>>
>> And on linux ?
>> - GTK (with gnome and KDE)
>> - Qt QML (KDE future)
>
> Neither.  Its Motif :o)   Unity!
> Actually, I would say Linux doesn't have a native GUI, since Qt/GTK are basically cross-platform UI toolkits that sit on top of X11/Wayland/Whatever.
>
Actually, now that I think about it, Motif never really got used much on Linux much if I recall.  I just found out that MS helped design Motif, which was very clever of them, designing such an ugly toolkit for what was their competition at the time.

Also, I just checked and Unity is based on GTK, so that is out. I should research my posts better :o)

November 29, 2013
On Friday, 29 November 2013 at 01:30:46 UTC, Dicebot wrote:
> On Friday, 29 November 2013 at 01:26:57 UTC, Craig Dillabaugh wrote:
>> Actually, I would say Linux doesn't have a native GUI, since Qt/GTK are basically cross-platform UI toolkits that sit on top of X11/Wayland/Whatever.
>
> There can't be such thing as native Linux GUI. Linux is a kernel.
clip

Are you really Richard Stallman? :o)
November 29, 2013
On Friday, 29 November 2013 at 01:43:39 UTC, Craig Dillabaugh wrote:
> On Friday, 29 November 2013 at 01:30:46 UTC, Dicebot wrote:
>> On Friday, 29 November 2013 at 01:26:57 UTC, Craig Dillabaugh wrote:
>>> Actually, I would say Linux doesn't have a native GUI, since Qt/GTK are basically cross-platform UI toolkits that sit on top of X11/Wayland/Whatever.
>>
>> There can't be such thing as native Linux GUI. Linux is a kernel.
> clip
>
> Are you really Richard Stallman? :o)

Still lacking proper beard ;)
November 29, 2013
On Friday, 29 November 2013 at 01:43:39 UTC, Craig Dillabaugh wrote:
> Are you really Richard Stallman? :o)

There is one true linux gui: emacs!
November 29, 2013
On Friday, 29 November 2013 at 01:44:34 UTC, Dicebot wrote:
> Still lacking proper beard ;)

A programmer without a beard! Blasphemy! Witch!

----

But anyway, going along with what you guys are saying, if you've ever seen reviews on Android apps, a lot of apps get lots of bad reviews for not adhering to the Android design standards. Using cross-platform toolkits are usually a death sentence for your rating. So, there's a lot to be said about making sure your app looks consistent in the OS it's running in.

Some apps do "get away" with something that is somewhat custom. Take, for instance, Steam on Windows. It doesn't look like a "proper" Windows application, but it works very well for it regardless. That said, Steam on Mac is terrible because it feels too much like a windows app there (mainly in regards to scrolling behavior).

That all said, if I were writing a GUI app in D right now, I would probably write my own toolkit and make something super simple (but "good" looking) to test out some new ideas. I think we really need an easy, straight-forward, and powerful UI toolkit that takes advantage of D's unique features (such as compile-time specialization, maybe using DSLs that compiled & used at compile-time instead of runtime) while reflecting well in comparison to the newest paradigms of application design (think how Android & iOS apps are made and maybe even a bit of web design). I can't quite precisely quantify what we need, but I think a fresh approach to the UI programming interface could set D apart in this area.

Simply using a translation of an old UI toolkit is "easy" but will not make UI applications pleasing to develop.
November 29, 2013
On Thursday, 28 November 2013 at 12:13:42 UTC, Chris wrote:
> On Thursday, 28 November 2013 at 12:05:09 UTC, Jacob Carlborg wrote:
>> On 2013-11-28 11:12, Chris wrote:
>>
>>> +1 GtkD & Glade (UI builder) are very good (http://gtkd.org/). Hopefully
>>> one day we will have our own pure D GUI toolkit.
>>
>> DWT is a pure D GUI toolkit.
>
> What I meant was no bindings to native widgets or other toolkits. DWT (like SWT) uses the native widgets and needs an interface. I was thinking of a toolkit where everything is provided by D and done in D without any reference to native frameworks (Cocoa etc.).

DOOGLE[1] currently only depends on libfreetype2, (with Windows as only target) Windows API and OpenGL. I would remove libfreetype2 but.. its basically standard for font rasterization cross platform wise.
I have designed it to have its interface abstracted away from the implementation fully.

Its current state is well listed on my blog[2] it may not look much now and not ready for production use, but definitely should be said.

[1] https://github.com/rikkimax/doogle
[2] http://alphaglosined.blogspot.com/2013/11/web-services-and-opengl-oh-my.html