fil*_*lip 4 user-interface wysiwyg frontend
二十年前,我通过一本计算机杂志接触到了 Borland Delphi 2。这是我第一次接触编程,构建图形用户界面的可视化拖放方法非常适合我。使用表单设计器创建高级 GUI: 既轻松又有趣,尽管我最终没有成为一名开发人员,但从那时起我就一直在编程。
不幸的是,业界似乎正在逐渐放弃可视化 GUI 编辑器。近年来,我使用 HTML/CSS、QT/QML、WPF/XAML 和 Android 实现了 GUI。我的经验是,这些技术都没有与 Delphi 2 中的可视化编辑器相媲美的可视化编辑器,而应该是可视化的任务最好使用代码来完成。
这个观察正确吗?如果是这样,那么现代 GUI 是如何阻止它们使用可视化编辑器轻松构建的呢?
答案已经隐藏在你的问题中了。HTML、QML、XAML,所有这些语言的名称中都有一个“ML”,这意味着它们是“标记语言”,不是用来描述精确的布局,而是用来描述内容的语义。即使在 HTML 之前,这也不是一个新概念(例如,参见 LaTeX),但这种方法的优点花了很长时间才进入公众意识。事实上,HTML 多年来一直被误用为布局描述语言(在某些情况下仍然如此)。
那么所谓的优势是什么?与 Delphi 鼎盛时期的一大区别是,我们现在必须应对截然不同的设备、操作系统和屏幕分辨率。这与 80 年代和 90 年代形成了鲜明的对比,当时我们大多不得不应对一小部分标准分辨率和小部件。如今,应用程序可能部署在各种不同的设备上,这些设备具有截然不同的屏幕格式和分辨率。尝试像素精确放置在这种情况下没有意义。试图维持像素精确布局概念的工具只会设定错误的期望,并且弊大于利。将布局决策委托给平台的相应布局引擎会更加高效。
这不是意味着放弃控制权吗?当然可以,但是开发者在控制方面失去的正是用户获得的,这可以说更重要。这可以对可访问性产生巨大的影响。也许有些用户甚至不需要 GUI?我什至不仅仅指残疾人(这是开发人员和产品经理经常忽视的用户群),还指其他计算机程序,以使自动化和集成变得更容易。例如,从(编写良好的)HTML 文档中提取特定文本比从 PDF 中提取特定文本要容易得多。
这是否意味着图形工具不再有任何用处了?当然不是,但不可否认的是,直接编辑标记花费了更多的时间。但标记本质上是声明性的,它本身比我们被迫用来编写 UI 的命令式代码具有巨大的优势。我什至不会考虑这种“编程”。因此,有时甚至可以省略编译步骤,从而缩短开发周期。因此,RAD 工具本质上是试图解决这里甚至不再以这种形式存在的问题。