Post by Torsten Bergmann
A GUI builder is always a nice thing ... and there already was an attempt
Now marked as "Failed attempt of develop a UI builder for Pharo-Smalltalk. That version
only works in Pharo 1.1. Is opened for any developer.".
Dont know why it failed ... maybe because the UI (especially with Morphic legacy)
is still too shaky are in Pharo.
- good and stable graphics framework (maybe solved with Bloc)
- good and stable standardized widget set (maybe solved with Brick)
- then place a UI builder on top of it
Yeap that's the ideology about GUI designers , which is why so few IDE's
have them. It's like the man waiting for the perfect woman to marry, ending
up all alone and miserable.
As a designer myself I cannot follow easily this ideology. Actually I
cannot follow it at all.
I see it the exact opposite way, if you don't have a good GUI designer ,
your ability to provide a stable and powerful GUI API will be limited
because less people will use it.
The most stable and powerful GUI api I ever used was VCL , the standard
library of Delphi and surprise, surprise it has a GUI designer. The most
powerful I used so far.
Open source wise QT dominates , surprise , surprise it has a very powerful
On Windows you have VS studio GUI designer on MacOS and iOS the XCode GUI
Designer and so forth.
There a ton of GUI APIs out there that almost none uses, is it because they
are not stable ?
Well ... *cough* Windows *cough* ... sure.
Making GUIs via code, is not as much fun, its slower and ends up being also
less flexible as you can easily lose track of what you intend to do trying
to understand the internals of a GUI API. Not fun at all. Especially if you
experienced the horrors of MFC.
But I am realistic , don't expect a GUI designer any time soon in Pharo.
They are very hard to make and coders being allergic to GUIs does not help
motivate to make one.
I am ok with just a modular image format.
Also I drink my own poison. I have made my own GUI API in Python with
OpenGL (used from inside Blender for an application I am developing) very
loosely inspired by some things I liked about Morphic. The more complex it
becomes the more I feel the need to create a designer that will handle the
boring stuff for me.
For now I use the excellent excuse you provide of stability and inability
to promise the structure of the GUI API in the future. But its an excuse
with an expiration date. Making the GUI I have in my head using plain code
, without a GUI designer, is a nightmare that is highly unlikely I will let
On the other hand when one makes his own GUI API the good news is that he
can make it fits well in the workflow of a GUI designer. This way instead
of trying to make the Designer according to the API , I make the API
according to the designer.
But the good news is that it has helped me realize the amount work needed
to put in GUI API to become really useful. Fortunately making API to find
only my needs has made things far easier and far smaller. I cannot imagine
making something like Bloc and keeping my sanity. This way the next time I
complain about a GUI API, I will have a whole different level of respect
for the developers behind it.