手写 GUI 或使用 GUI 设计器工具 [已关闭]

我想听听一些关于手头编写GUI的意见,就像在使用Java或Qt与C++时通常所做的那样,而不是使用gui-designer工具?GUI设计器工具的示例包括MFC GUI设计器,Qt设计器,Interface Builder(Apple)。

我曾经是手工编码的粉丝,但从最近的经验来看,我已经改变了。我在手动编码中看到的问题是,编写GUI相当快速和灵活,但是一旦您需要对很久以前编写的GUI进行更改,就可能非常困难。在大面板中找到合适的元素可能很困难。

第二个问题是,这使得在GUI创建和布局代码中添加大量逻辑变得太容易了。我经常不得不接管GUI代码的维护,这确实很难重用,因为它的行为与其外观混合在一起,混合布局和行为经常使类非常大且难以理解。

在我看来,使用GUI设计器工具可以更清楚地区分外观和逻辑。


答案 1

我总是在没有标准(或事实上的标准)GUI标记语言的情况下手动编写GUI设计代码(与)。这样做的原因是,我发现GUI构建器设计工具会将您与使用特定的IDE联系起来。随着时间的推移,用于 GUI 设计和/或编写代码的最佳 IDE 将会发生变化,每个开发人员都应该可以自由选择他们觉得最熟悉的 IDEJava

在我目前工作的地方,我们有很多遗留的GUI是使用Netbeans Matisse GUI构建器编写的(违背了我当时的建议:-)。这些现在几乎无法维护,因为所有开发人员都更喜欢IntelliJ IDEAEclipse作为他们的IDE。让开发人员仅仅为了修改 GUI 布局而启动 Netbeans 是不现实的,也是行不通的(人们不会保持 Netbeans 项目定义同步等)。

另一点是,编写GUI布局代码的总时间可能仅占给定项目总开发工作量的5%。即使您自己编写代码需要两倍的时间,这也不会在宏伟的计划中产生太多的开销。而且,为长期可维护性付出的代价很小。

只要您清楚将GUI布局逻辑与业务逻辑分开,我就不相信任何事情都会因此而受到影响。这里没有人再使用GUI构建器了!


答案 2

我手动完成,在应用程序中来回切换和重用面板要容易得多(有些面板可以出现在多个位置)。

当你在团队中时,使用设计师工作,艺术家应该做GUI。

在大面板中找到合适的元素可能很困难。

??我从未见过。


推荐