So far, I haven't seen a good overview and comparison of the architectural ideas manifested in GUI frameworks.
Questions
- How are UIs specified?
- How are widgets arranged on the screen?
- How are the UI and the application model kept in sync?
- How are actions triggered from the UI?
See UserInterfacePatterns, GraphicsPatterns
Interesting Candidates
- CleanObjectIo (see CleanLanguage)
- CommonLispInterfaceManager (CLIM)
- DylanUserInterfaceManager (DUIM)
- EtPlusPlus
- InterViews
- JavaSwing
- OpenStep ApplicationKit
- various Smalltalk frameworks
- WxWidgets
- MagicUserInterface
- GtkPlus
- EiffelGrape
- EiffelFenestra
- VCL (for the DelphiLanguage)
- Qt
And of course .NET WinForms
In the beginning there was ModelViewController. Then there was InterViews and EtPlusPlus. Then a few of those guys got together with some others and came up with DesignPatterns to explain what they had learned about GuiFrameworks.
TableOrientedProgramming GUI framework info: http://geocities.com/tablizer/guitable.htm
Although, "strict" relational may be insufficient to handle varying widget attributes. A MultiParadigmDatabase may better handle such attributes. NonOopGuiMethodologies also discusses some possibilities.
Comprehensive listing of GUI Toolkits and Frameworks with an emphasis on FreeSoftware: http://www.free-soft.org/guitool/
See Also: CoordinateVersusNestedGui
Please see also the java wiki JinxWiki on the SwikiFarm to the pages
- "Gui XML Projects" http://jinx.swiki.net/165
- "Swing XMLs" http://jinx.swiki.net/384