为什么使用代码而不是可视化编辑器完成现代GUI开发?

时间:2017-04-28 19:43:18

标签: user-interface frontend wysiwyg

二十年前,我通过计算机杂志获得了Borland Delphi 2。这是我第一次接触编程,构建图形用户界面的可视化拖放方法非常适合我。使用表单设计器创建高级GUI:s很轻松有趣,即使我最终没有成为开发人员,我也一直在编程。

Delphi 2 screenshot

不幸的是,业界似乎正在​​逐渐远离可视化GUI编辑器。近年来,我使用HTML / CSS,QT / QML,WPF / XAML和Android实现了GUI。我的经验是,这些技术都没有与Delphi 2中的视觉编辑器相提并论,而使用代码可以更好地完成视觉任务。

这种观察是否正确?如果是这样,那么现代GUI是什么呢?它们阻止了它们使用可视化编辑器进行构建?

1 个答案:

答案 0 :(得分:2)

答案已隐藏在您的问题中。 HTML,QML,XAML,所有这些语言都有一个" ML"在名称中,这意味着这些是#34; Markup Languages",并不意味着描述精确的布局,而是描述内容的语义。甚至在HTML之前,这不是一个新概念(例如参见LaTeX),但是这种方法的优势进入一般意识需要很长时间。事实上,HTML多年来被滥用为布局描述语言(在某些情况下仍然如此)。

那么所谓的优势是什么? Delphi鼎盛时期的一大不同之处在于,我们现在必须应对截然不同的设备,操作系统和屏幕分辨率。与80年代和90年代形成鲜明对比的是,我们大多不得不应对一小部分标准分辨率和小部件。如今,应用程序可能部署在各种不同的设备上,具有截然不同的屏幕格式和分辨率。在此上下文中尝试像素精确放置并不合理。试图保持像素精确布局概念的工具只会设置错误的期望并且弊大于利。将布局决策委托给平台的相应布局引擎会更有效率。

这不意味着放弃控制吗?当然,但开发者失去控制权的是用户获得的东西,这可能更重要。这可以对可访问性产生巨大影响。也许有些用户甚至不想要GUI?有了这个,我甚至不仅仅意味着残疾人(开发人员和产品经理经常被忽视的用户群),还有其他计算机程序,以使自动化和集成更容易。例如。从(写得好的)HTML文档中提取特定文本比从PDF中提取特定文本要容易得多。

这是否意味着图形工具不再具有任何用途?当然不是,但是不能否认花费更多的时间直接编辑标记。但是标记本质上是声明性的,它本身比我们被迫用来编写UI的命令式代码具有巨大的优势。我甚至不会考虑这个"编程"。因此,甚至可以省略编译步骤,这缩短了开发周期。所以RAD工具基本上试图解决这里不再存在的问题。