On Saturday, 7 March 2015 at 07:33:03 UTC, Russel Winder wrote:
On Fri, 2015-03-06 at 11:30 +0000, via Digitalmars-d wrote:
[…]
Not sure what you mean by a "non-browser UI". You need a
model, a layout engine, a composition engine and know-how.
Competing with browser engines is a lot of work.
I meant a user interface not using a browser as the
infrastructure.
Cocoa, Qt, GTK, JavaFX, etc. are all there already, and have
everything
browsers are still trying to get. I agree the pressure of
fashion and
orthodoxy is moving to HTML and JavaScript as the one true UI
framework,
but it's only real positive is that it is (supposed to be)
pre-installed
and the same on every machine. Sadly though, from what I can
see, vast
amounts of code and time is spent dealing with the differences
between
browsers.
It is going to be very hard to compete with reusable UI
components implemented in html+javascript, when they have
worked out the quirks, due to:
1. ease of development
2. ease of modification
3. volume of UI components
4. styling know-how
5. integration
6. installed base
HTML and Javascript may have an edge on ease of deployment, but
regarding the other dimensions, I fear you must have imbibed of
the
Kool-Aid. I agree that most people creating UIs do so with
browsers,
HTML and JS, but that doesn't mean they are doing it right or
not
blindly recreating from scratch a whole mass of things that
were already
known. We would be a lot further forward today on UI and UX if
people in
the Web arena had researched more and taken NIH attitudes less.
Clearly
new technology and new application require new things, but
simply
ignoring already known stuff is just wrong.
I'm the first who would welcome a better approach to UIs.
However, in the real world you cannot wait until the industry
finally "gets it". You cannot tell users "Yeah, no, we won't make
an app, because we are not happy with existing frameworks, you
know".
I hate JS for various reasons, one reason is that HTML5/JS makes
you reinvent the wheel again and again. However, while
reinventing the wheel, it helps you to understand that existing
frameworks are not the be all end all either.
What you need is a reactive layer that access native data. And
webtech provides the basic building blocks for it, thanks to
the requirements of asm.js/pnacl.