TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Adam and Eve – Adobe's Cross-Platform GUI Libraries

2 点作者 earthicus将近 6 年前

1 comment

earthicus将近 6 年前
I came across this in a talk by Sean Parent (once lead developer of Photoshop). What caught my attention was his assertion that they were able to reduce the GUI code of Photoshop by 600x, from a Million lines of code to less than 2k. It uses a declarative UI, together with what they call the &#x27;Propagator Model&#x27; which is an R&amp;D project by Sean Parent &amp; his academic collaborators. An excerpt from one of their papers explains the new ingredient:<p>&gt; 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 [...], 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.<p><a href="http:&#x2F;&#x2F;www.emarcus.org&#x2F;papers&#x2F;gpce2009-marcus.pdf" rel="nofollow">http:&#x2F;&#x2F;www.emarcus.org&#x2F;papers&#x2F;gpce2009-marcus.pdf</a>