4 ms·
Adobe uses a declarative UI system, and what they call a 'property model', which apparently successfully reduced their UI code by a factor of over 500. The syst
by earthicus 7y ago
Adobe uses a declarative UI system, and what they call a 'property model', which apparently successfully reduced their UI code by a factor of over 500. The system is available here:
https://stlab.adobe.com/group__asl__overview.html https://stlab.adobe.com/group__asl__overview.html
- archagon 7y agoFascinating! (And on reflection, Blender probably does something similar, since it's super modular and practically every field is in perfect sync with the view and the data.)
- earthicus 7y agoIt's very interesting! The 'property model' was apparently a real research project, which adds an additional ingredient over and above most systems in common use: > The combination of procedural and declarative program code has found success in, for example, GUI element layout. The most familiar example is perhaps HTML, CSS, and DOM combined with JavaScript. The QTk library [12] in Mozart/Oz, Glade [7],XUL [16], XAML [34], and XForms [5] serve as further examples. Some of these systems, along with rule-based systems such as Drools [27], Jess [11], and R++ [14], also support concisely specifying declarative rules for maintaining consistency across values in user interfaces. Property models are distinguished from these systems by not only providing the ability to create rules that assist introducing a valid result but also by providing an explicit model of the dependencies these rules create. Inspecting the state of the model enables generic algorithms (e.g., for widget enablement) for user interface. http://www.emarcus.org/papers/gpce2009-marcus.pdf http://www.emarcus.org/papers/gpce2009-marcus.pdf