Igo*_*Oks 21 c++ user-interface cross-platform
我有一个大型的跨平台(Linux和Windows)C++项目,我想为其创建一个GUI.
关于此类项目的GUI基本原理,我几乎没有一般性的问题:
And*_*Dog 26
GUI应该与应用程序的逻辑分开吗?
当然是....
如果它是分开的,逻辑和GUI应该如何通信?TCP/IP套接字是一个不错的选择吗?还有什么其他可能性?
......但不是那么多.套接字会过度(例外:见问题5).通常,您在GUI和后端部分中拆分类.然后GUI类调用后端的方法.
使用不同于C++的语言使用GUI是一个好主意吗?如果是 - 哪种语言?
如果是这样,你必须整合这两种语言,所以我建议用同一种语言编写所有内容.但要回答你的问题,你可以为你的后端创建Python绑定,并用Python编写GUI(使用PyGTK,PyQT或wxWidgets).
拥有基于浏览器的GUI是一个好主意吗?
这取决于您希望如何部署应用程序.如果它应该安装在每台客户端计算机上,则Web界面没有意义.如果您想集中托管它,那么您可以选择Web界面.
即使项目的核心逻辑是跨平台的,我可以决定GUI只是基于Windows(.NET?),它将通过Socket或类似方法与相关Win/Linux机器上的逻辑进行通信.这样做是个好主意吗?
我认为只有当后端必须是某种安全(即不得安装在用户的计算机上)或者如果你有类似瘦客户端的方法时才有意义.编写跨平台的GUI比编写跨平台后端(在我看来),所以你宁愿跨平台做两个部分.顺便说一下,基于.NET的GUI不仅仅是Windows - 例如,Mono已经支持Windows窗体的一个很好的子集(但遗憾的是不支持WPF).
编辑:
关于你的单声道问题:单声道大多是稳定的,但并非一切都已实现.可以肯定的是,您可以运行Mono迁移分析器(MoMA)来查明Mono中是否有不起作用.但我认为很多公司在生产环境中成功使用Mono 这一事实意味着您至少应该考虑将Mono作为一种选择!
| 归档时间: |
|
| 查看次数: |
5864 次 |
| 最近记录: |