【发布时间】:2010-02-03 12:05:59
【问题描述】:
我有一个大型跨平台(Linux 和 Windows)C++ 项目,我想为其创建一个 GUI。
对于此类项目的 GUI 基本原则,我有几个非常普遍的问题:
- 是否应该将 GUI 与应用程序的逻辑分开?
- 如果分开,逻辑和GUI应该如何通信? TCP/IP 套接字是一个不错的选择吗?还有哪些可能?
- 让 GUI 使用不同于 C++ 的语言是个好主意吗?如果是 - 哪种语言?
- 拥有基于浏览器的 GUI 是个好主意吗?
- 尽管项目的核心逻辑是跨平台的,但我可以决定 GUI 将仅基于 Windows(.NET?),它将通过 Socket 或类似方法与相关 Win/Linux 机器上的逻辑通信.这样做是个好主意吗?
【问题讨论】:
-
你研究过 Qt 吗? qt.nokia.com/products
-
是的,我研究过 Qt。这是选项之一。
-
还是单声道? mono-project.com/Main_Page
-
尽管有些人无疑会尝试回答您的问题,但您的每一个问题的真正回答都是“视情况而定”。这些决策是应用程序架构的一部分,应该由您或相关架构师做出。您提供的是豪宅的钥匙孔视图,并要求提供结构施工建议,如果没有全貌,建议无疑是主观和不准确的。我建议回到您的应用设计并寻找解决您遇到的痛点的方法,而不是从解决方案中倒退。
-
@Igor,对于每个问题,您需要问自己/赞助商/关键利益相关者“这对于应用程序的实施和操作是否必要?”这是第一个取决于。请记住,通常还需要考虑未来,即单一应用程序现在可能适合您的要求,但将来不适合。这里没有足够的信息来做出决定,如果有足够的信息,那么您需要比问答网站提供的更多帮助。要么阅读有关软件架构的所有内容,要么聘请架构师。就目前而言,“视情况而定”是每个问题的全部答案。
标签: c++ user-interface cross-platform