Java > Scala -> new thread: GUI for D

Marco Leise Marco.Leise at gmx.de
Fri Dec 2 12:51:12 PST 2011


Am 02.12.2011, 21:19 Uhr, schrieb Adam Wilson <flyboynw at gmail.com>:

> On Fri, 02 Dec 2011 10:15:12 -0800, Nick Sabalausky <a at a.a> wrote:
>
>> "Adam Wilson" <flyboynw at gmail.com> wrote in message
>> news:op.v5vibnca707hn8 at invictus.skynet.com...
>>> On Fri, 02 Dec 2011 04:33:48 -0800, a <a at a.com> wrote:
>>>
>>>> QML looks like it is (currently ?) targeted at the kind of GUI
>>>> programming when you make your own custom widgets for everything. It
>>>> only provides the most basic components such as rectangles, text, and
>>>> images. There isn't, say, a button components - you have to make one
>>>> using a Rectangle and a MouseArea. One consequence of this is that
>>>> typical GUI programming is much slower. Another consequence is that  
>>>> you
>>>> can't build GUIs that look native on multiple platforms. QML is  
>>>> probably
>>>> great for some things, but it is not a replacement for GUI  toolkits
>>>> such as Qt.
>>>
>>> This is similar in concept to how XAML in WPF/Silverlight is used to
>>> construct screens, and it's not bad idea. And the fact that the UX can  
>>> be
>>> skinned to look nothing like the default OSUI is actually probably one  
>>> of
>>> the most useful things about WPF and Silverlight. Yes, it doesn't look
>>> true to the OS, but you'll find that in the UI Design world, that is of
>>> surprisingly little importance.
>>
>> That's without a doubt my #1 complaint about desktop apps over the last
>> decade: Narcissistic designers with nothing but contempt for a user's
>> control over their own system.
>>
>
> So the push for multi-platform UI consistency via the internet and  
> HTML/CSS is wrong? I don't mind calling the use of HTML/CSS the wrong  
> method to achieve multi-platform UI consistency, it's a document markup  
> language after all and was never originally intended to construct  
> complex UI's, but what you are saying is that the entire idea of how the  
> internet displays data is wrong. It certainly has it's pitfalls, but I  
> have trouble believing that the collective conclusion of billions of  
> people that it is the right idea can realistically be considered  
> 'wrong'. Users in general LOVE the cross-platform UI consistency of the  
> internet. Amazon, Facebook, the list goes on, the most widely-used and  
> successful interfaces in the world are built on the concept of  
> cross-platform UI consistency. It just so happens that it is achieved  
> with HTML/JS/CSS. The implementation might be lacking, but I don't see  
> any point in arguing with the collective will of billions of people.
>
>>> The most important thing to a UI designer  is that the UI looks and  
>>> works
>>> the same across *ALL* OS's.
>>
>> That's just terrible.
>>
>
> Why? Isn't that pretty much the definition of the internet?
>
>>> Facebook looks and works the  same regardless of whether I pull it up  
>>> in
>>> Chrome or Firefox, Mac or Linux.
>>
>> The hell with mobile, eh? Making things look and act the same on  
>> everything
>> is *terrible* UI design. Making things look and act *appropriate* for  
>> the
>> given platform has alwas been and will always be the proper thing to do
>> regardless of what the majority of designers decide is the trend du jour
>> (ok, so that's redundant, so sue me ;) ).
>
> Mobile has form factor issues, namely that it's too small to display a  
> desktop style UI. But UI design isn't a technical thing, it's a  
> right-brain thing. As long as the interaction and display models are  
> similar (i.e. it works and looks similar) the physical layout changes  
> that the mobile form-factor demands won't seem nearly as jarring to the  
> user, because they already have a mental model for how to interact with  
> the interface for that piece of software.
>
> Now, all that said, the default style of WPF is Windows Aero (aka the  
> default look of Vista/7). And there is no reason not to have the UI  
> framework default to the OS default style. But the true power of WPF is  
> that if you need to, you can change everything. It's like Andrei once  
> said, "The right way should be easy, but the wrong way should be  
> possible." The implication there is that 'wrong' isn't always wrong.  
> That's what WPF does and that's what I want to build for D.
>
> I have no problem defaulting to the OS default look, and in fact that  
> would be the default of any GUI project I'd be interested in  
> undertaking. But I don't want to be limited to just the OS look. Those  
> types of arbitrary limitations fly in the face of the D way, at least as  
> I understand it.

The OS default look is provided by the OS widgets. Skinned interfaces are  
created by not using them. I don't think the limitations are arbitrary  
here. Swing tried to provide native look without native widgets and my  
experience was, that it felt neither native nor nice. Perhaps the common  
ground is to provide two implementations of a 'button'. One using OS  
widgets and one that just renders into a bitmap, but provides the same  
event hooks.


More information about the Digitalmars-d mailing list