2014-10-21 16:51 GMT-03:00 kilon alios <kilon.alios@gmail.com>:
I didn't check but I wonder how they perform with resizing layouts? Do they use spacers? Do they use constraints?
I don't know/ remember for the other 2 (I have used them a couple of times long time ago) but Lazarus is basically an open source recreation of Delphi so those are pretty standard features. Even the standard library of Delphi has been ported to Lazarus / Free Pascal and it directly support specific Delphi versions. What you describe are standard features for most if not all GUI designers anyway.
In Delphi I vaguely remember they were called anchors, you could pin them on a specific layout or choose sides or pin them in absolute positions though the last option was the least desirable if you wanted an easily resizable interface but overall you had tons of options.
I remember too but in those builders you mention you were not using constraints, you are just aligning by snapping widgets. Most GUI builders do not include a built-in constraint-based solver. They are difficult to implement, and maintain (over-constraints are a symptom of a tedious UI design process too). High-level constraints for automatic layout is a relatively active research topic.
I remember the Delphi ("Mastering Delphi 6") book have once bought around 1000 pages , I still have it with me, 300 pages was the designer itself. But I dont count in the overall architecture where everything worked with drag and drop. So basically if you wanted to add a database engine inside your app , the engine was represented as a GUI button you drag and drop on top of the form of your app like any other GUI element but of course it was not visible when you run the app.
Delphi is minimising code this way which is paradigm that Lazarus follows very closely too. So the designer went and still is going far beyond to just designing GUIs.
Of course I dont expect something of such power in Pharo, actually not even Visual Studio has been able to compete with Delphi in RAD (Rapid Application Development) or even its main competitor Visual Basic. Borland was very powerful and quite well funded company with very big experience on programming languages and IDEs. Unfortunately like Visual Basic they lost traction when Java came out and Delphi was sold to a much smaller company. But still Delphi is quite popular. On the other hand modern IDEs do have many of these features.
I was mainly talking about basic GUI designers. Draging , droping, resizing, setting layouts and constraints and at least having access to basic widgets for fast creation of GUI is absolute essential for a GUI based IDE like Pharo.
Agree, but if your priority is having a GUI Builder, Pharo is not the best choice today. But you have MT GUI Builder, Smalltalk/X GUI Painter, Cincom GUI Painter Tool, Dolphin View Composer, etc. Cheers, Hernán