我编写了一个命令行实用程序,我想为它开发一个GUI。我看到linux上的几乎每个工具都有命令行,它最终有一个GUI,它与命令行实用程序交互,使那些不熟悉命令行的人的生活变得更容易。
我想做一些类似的事情,linux的标准是什么呢?
我想出了两种可能的解决方案:
linux中是否有将GUI连接到命令行实用程序的标准?
如果是,那是什么?
发布于 2016-06-21 23:44:51
我认为最受欢迎的是将SweetApp和libsweetapp一起编写,SweetApp命令行应用程序是一个功能齐全但极简的CLI包装器。然后,图形化GSweetApp或KSweetApp使用这个库构建GUI应用程序。
除此之外,没有权威的标准,最终为人们所做的一切都是最重要的。我所描述的以及你们两种可能的解决方案都是很常见的。
发布于 2016-06-21 23:50:57
我不能给您提供GUI和CLI广泛使用的应用程序的代表性示例,但作为良好架构的一般规则,您的程序逻辑应该与用户交互逻辑分离。即使您只打算提供单一的用户界面,这种模块化对于单元测试仍然是非常有价值的。
细节可能取决于应用程序的类型,但最干净的解决方案似乎是将所有程序逻辑放入库中,然后由CLI和GUI应用程序使用(链接到)。请注意,这也为在没有任何用户界面的情况下使用工具作为库提供了机会。
但是,如果您的工具非常简单,并且您会发现自己更适合用另一种语言编写GUI,而不是CLI应用程序,那么最好将GUI编写为CLI的包装脚本。但是,这也有一些缺点,因为进程之间的通信需要正确地封送所有参数并将其解封为/从文本,而进程之间的通信错误通常要复杂得多。因此,一些CLI程序提供特殊标志,使它们以更适合机器处理的格式接受/产生输入/输出。
https://softwareengineering.stackexchange.com/questions/322902
复制相似问题