[erlang-questions] wxErlang - some answers
Sun Jul 9 10:34:13 CEST 2017
On Sat, Jul 8, 2017 at 9:10 PM, Vlad Dumitrescu <> wrote:
> Hi Joe,
> I wonder -- from this point of view of the APIs, what do you think of the
> now defunct `gs` application?
I'd always liked gs - the trouble seems to be (I might be wrong here)
is no longer popular and untrendy. Also my impression was that the
GUI's you could make
deviated from the current look-and-feel that people expect.
> People have given good feedback, but I will add my 2c too. There are several
> issues to solve.
> One issue is "how do I put the GUI together?", which IMHO is best done
> declaratively. With an adequate language, even dynamic UIs can be described.
> This is relatively easy.
I agree - actually wxWidgets has hboxes and vboxes so this should be
Relatively being a relative term here :-)
> The second issue is handling the state: bot the application state (what the
> real app needs to know from the inputs) and the GUI state (for example, a
> checkbox controlling the enabled state of the rest of the controls on the
> page; or an input validator for the whole UI). The latter is the tricky one,
> in my experience, as some entity needs to have the whole state available.
> Updates to this states need to be observed, which is not easy to do
> correctly (see even below).
Yes - I see this as a concurrency problem. If all the controls on the
GUI either send or
respond to messages is the control program one or several processes?
> Then there is the issue of performance, again two-sided:
> - we'd like to be able to use native controls/widgets, but allow custom ones
> too. Here we also stumble upon supporting all OSs and graphics frameworks.
> - updating the UI needs to be done at the appropriate moments, i.e. if
> needed and not more often than the display can update itself.
> There is one technology that is available everywhere, has optimized
> rendering and is reasonably easy to adapt and adapt to: HTML. With
> frameworks like Electron (https://electron.atom.io/), it is available on the
> rise and there are libraries (vue.js, https://vuejs.org/, for example) that
> make them easy to build and reason about. The remaining issue however is an
> interesting hurdle: how to interface JS with Erlang? There have been
> interesting projects for that (like beam.js and erlv8), but I can't find any
> active one - it would be interesting to know what what the reason was for
> not continuing the work.
Ummm - the problem with web technologies is the gigantic size and complexity of
everything - webkit + JS is great - but huge.
The problem is what I want is (say) a graphics widget that responds to
messages containing SVG - and NOTHING ELSE. This is *easy* to do in the
browser BUT I get a lot of other stuff that I don't want.
I think I once found a project that bundled a web browser canvas + JS
into a single program
with nothing else - this would be great if it exists.
The thing I'd like would have (say) the web browser canvas object, JS
and a socket support.
When looking for wxWidgets examples I stumbled over wxLua - which
looks like a good
source of inspiration (has anybody reading this used wXLua???)
> best regards,
> On Sat, Jul 8, 2017 at 11:28 AM, PAILLEAU Eric <>
>> Hello Joe,
>> I'm particularly interested in XRC  standard.
>> I think your effort, and efforts of people helping, may be a step to
>> create XSLT templates to write wx abstract code to help people create easily
>> wx UI without the huge effort to understand basics of wx.
>> wx documentation is intimidating (well like was Erlang documentation first
>> time I looked at it many years ago :) ...) but much harder than it to be
>> able to write code quickly.
>> Those templates could be a plugin in usual build tools to handle .xrc
>> files, like asn1 file are handled to create code.
>> If I can help, I will !
>>> My intention is to try and decompose wxErlang into a large number of
>>> small examples, where each example illustrates one feature of the
>>> system. Also so show how to build complex examples from the small
>>> I'll make all the code available on github so you can join in the fun
>>> (is this fun?).
>>  http://docs.wxwidgets.org/trunk/overview_xrc.html
>> erlang-questions mailing list
More information about the erlang-questions