[Haskell-cafe] Gitter Haskell Community
Joachim Durchholz
jo at durchholz.org
Mon Dec 12 20:07:15 UTC 2016
Am 12.12.2016 um 20:14 schrieb MarLinn via Haskell-Cafe:
> It's probably because
> the whole web dev world is a bit bonkers.
My impression: Lack of generally accepted style guidelines, plus too
many hard technological challenges to leave much energy for making the
UI slick.
To make matters even worse, some of the solutions to the technological
challenges make some UI patterns more difficult than others, so people
start to think technology-first, usability-later, so the whole usability
thing doesn't get the attention that it deserves.
E.g. incremental loading over an (inherently) unreliable and laggy
network collides with a type-to-search approach - you can't search in a
list that you haven't fully loaded yet.
> But if any community has the
> right people to add a voice of reason, I'd still think ours might be a
> strong candidate. Naturally it's not a really loud voice, but then we do
> have some great server libraries as a selling point.
If it turns out to work better than existing libs, loudness will come
without even working much on it.
However, language&lib quality factors only partly into final framework
quality. Being a good Haskeller is orthogonal to being a good at web UI
usability, so there's no reason to assume that Haskell will bring better
quality to the masses in this specific area. Doesn't mean that it is a
bad idea to try it anyway, just don't expect to get specific leverage
out of Haskell :-)
The various things that are important:
- Ability to easily shift computations between frontend (browser) and
backend (server). Because latencies or changing data volumes might force
you reversing decisions about whether something is processed on the
server or on the client.
- For anything that happens on the client, the server needs to be able
to re-check it (because the user might be trying to hack the server).
Absolute must: No need to code this twice, once in JS and once in
Haskell (otherwise you'll get inconsistent checks, which are one of the
worst security problem generators because people will mistakenly check
browser logic when they should be checking server logic and vice versa).
- "Reactivity", which means that the majority of pages should be equally
displayable on a desktop, in a desktop browser, and on cramped
smartphone space.
Setting up such a framework definitely requires excellent Javascript and
DOM knowledge over a range of implementations, and either a
Haskell-to-Javascript compiler or a DSL-to-Javascript compiler (DSL
would be pretty restrictive though because then you'd have to limit the
DSL so that it can never execute arbitrary Haskell).
It's a really big thing to do, but I suspect doing anything smaller
isn't going to get any attention outside the Haskell community.
Just my ramblings, YMMV :-)
Regards,
Jo
More information about the Haskell-Cafe
mailing list