[Cuis-dev] DSL GUI framework
Juan Vuletich
juan at jvuletich.org
Fri Sep 10 07:28:50 PDT 2021
On 9/9/2021 1:34 PM, Hilaire Fernandes via Cuis-dev wrote:
> Le 06/09/2021 à 22:47, Juan Vuletich a écrit :
>> I haven't had time to focus on this yet, but I agree that it would be
>> great to start moving in this direction. I guess the model would be
>> less powerful than "full morphic" and more focused on composing
>> widgets, right?
>
> Yes that the idea. For spacial composition, a composer object could
> apply default layout rules, while possibly adjustable.
>
> Hilaire
>
Took a look at Concur
[https://potocpav.github.io/programming/2020/05/01/designing-a-gui-framework.html?utm_source=pocket_mylist]
. I agree that a space composition dsl without extra complexity is
something we want. I'm not crazy about their functional style time
composition: they completely disregard view / model separation, etc.
(see below)
WRT Glimmer [https://github.com/AndyObtiva/glimmer], it doesn't look too
different from the "obvious" Smalltalk code o set up, for example, a
multi column list.
Going back not to spatial composition, but to "time composition" and,
more generally, to the general arquitecture of a GUI application, this
is something I wrote many years ago, and that is not currently
implemented for Cuis:
http://jvuletich.org/Cuis/APatternForGUIProgramming.html . LightWidgets
was a set of widgets I wrote for Cuis around that time. It wasn't
maintained and later abandoned. But it shouldn't be too hard to build
something like that again (or simply to rescue it from some old Cuis
release).
I wrote this after many years of experience seeing how simple GUIs are
easy to build, but the kind of spaghetti they turn into as models and
views become more complex. Although the basic guidelines for simple guis
and models seem obvious, the more seemingly arbitrary rules for model
and view composition are my take on keeping complexity under control,
and making it easy to guarantee model consistency, view consistency and
model-view consistency (yes, those are three different things!). I
haven't built GUI apps in some time, but if I ever do it again, I'd
follow a style like this.
Cheers,
--
Juan Vuletich
www.cuis-smalltalk.org
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
https://github.com/jvuletich
https://www.linkedin.com/in/juan-vuletich-75611b3
@JuanVuletich
More information about the Cuis-dev
mailing list