我想听到一些关于手工编写GUI的意见,就像使用Java或Qt和C++一样,使用gui设计工具?GUI设计器工具的示例是MFC GUI设计器,Qt设计器,Interface Builder(Apple).
我曾经是手工编码的粉丝,但从最近的经验我已经切换.我用手编码看到的问题是编写GUI非常快速和灵活,但是一旦你需要对很久以前编写的GUI进行更改,这可能会非常困难.在大面板中找到正确的元素可能很困难.
第二个问题是它很容易在GUI创建和布局代码中添加大量逻辑.我经常不得不接管维护很难重用的GUI代码,因为它的行为与它的外观混合在一起,混合布局和行为通常使得这个类非常庞大且难以理解.
在我看来,使用GUI设计器工具可以在外观和逻辑之间实现更清晰的分离.
我总是手工编写GUI设计,其中没有标准(或事实上的标准)GUI标记语言(如同Java
).这样做的原因是我发现使用GUI构建器设计工具会将您绑定到使用特定的IDE.随着时间的推移,用于GUI设计和/或编写代码的最佳IDE将会发生变化,每个开发人员都可以自由选择他们认为最适合的IDE.
我目前在哪里工作,我们有许多遗留的GUI,这些GUI是使用Netbeans Matisse GUI构建器编写的(当时我反对我的建议:-).这些现在几乎无法维护,因为所有开发人员都喜欢使用IntelliJ IDEA或Eclipse作为他们的IDE.让开发人员启动Netbeans只是为了修改GUI布局(人们不会保持Netbeans项目定义同步等)并不现实或可行.
另一点是,写出GUI布局代码的总时间可能只占给定项目总开发工作量的5%.即使你自己编写代码需要两倍的时间,这也不会在宏观方案中转化太多的开销.这对于长期可维护性来说是一个很小的代价.
只要您清楚将GUI布局逻辑与业务逻辑分离出来,我就不相信任何结果都会受到影响.这里没有人再使用GUI构建器了!
我是手工完成的,在应用程序内部重新设置面板并重新使用面板要容易得多(一些面板可以出现在几个地方).
使用设计师在团队中工作时,艺术家应该使用GUI.
在大面板中找到正确的元素可能很困难.
?? 我从来没有见过这个.