[erlang-questions] wXWidgets

Vans S vans_163@REDACTED
Mon Oct 31 19:00:42 CET 2016

Interesting thread, may I butt in with a comment about how the GUI library is just that, to be ideally cross platform and to have widgets, gadgets and other pre-built things like tables.

But the real problem I have been encountering these days is how do you make your GUI represent your data, without tangling it in a mess of events, handlers and triggers.

On the GUI side of things I have toyed with observer pattern (backbone, knockout.js) > reactive model (react.js+redux) > clojurescript (reagent).  So far I have loved the one way reactive model, and clojurescript takes that to a new level.

The premise is that your GUI is "dumb" and cannot handle any events/triggers to check/uncheck a checkbox for example.  The only "smart" parts of your program are your state, and your actions/reductions/transitions/insert_fancy_term_here on that state (nicely modeled by using a gen_statem). Anytime the state changes, the GUI now needs to be redraw to reflect the change in state.  

Having just last week bumped head first into this problem yet again when working with a foreign code base.  The codebase did not use any observer/reactive patterns, everything on the GUI was triggered via a global event that could be called from any place in the code, and multiple parts of the UI could subscribe to the same global events, leading to a GUI that grew exponentially in complex as features were added.

    On Monday, October 31, 2016 12:32 PM, Anthony Ramine <n.oxyde@REDACTED> wrote:

> Le 31 oct. 2016 à 16:55, Joe Armstrong <erlang@REDACTED> a écrit :
> So this is why something that used to be a few KBytes of code
> is now wrapped up in the middle of a GByte download.

But you do realise that what you dismiss as bloat is just... way more features that were lacking and that you can't argue they should disappear, right?

I don't get the false comparison with the 80s systems where you just couldn't use said systems if you were disabled. Tcl/Tk was never made to work with screen readers and whatnot.
erlang-questions mailing list

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20161031/9526471d/attachment.htm>

More information about the erlang-questions mailing list