Am 02.12.2011, 21:19 Uhr, schrieb Adam Wilson <flybo...@gmail.com>:
On Fri, 02 Dec 2011 10:15:12 -0800, Nick Sabalausky <a@a.a> wrote:
"Adam Wilson" <flybo...@gmail.com> wrote in message
news:op.v5vibnca707...@invictus.skynet.com...
On Fri, 02 Dec 2011 04:33:48 -0800, a <a...@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.