我需要开发一套大量工具,可以从服务器命令行运行(即非客户端-服务器架构)。系统不必高性能;我只是想要一个易于开发的东西。
有哪些技术可用于构建简单的GUI,可从命令行运行?我只需要菜单,可以在对话框中选择行/复选框/输入自由文本。
编辑:忘记添加,访问Mysql(即驱动程序可用)至关重要。
有哪些技术可用于构建简单的GUI,可从命令行运行?我只需要菜单,可以在对话框中选择行/复选框/输入自由文本。
编辑:忘记添加,访问Mysql(即驱动程序可用)至关重要。
Shell,配合dialog,是一种老牌的技术 - http://www.linuxjournal.com/article/2807
编辑- 如果与MySQL有关,请查看PERL-Tk和DBI。
这里可以使用Python + Ncurses的组合。
Devel::REPL
库中的 re.pl
来快速创建 CLI(命令行界面)接口。在您对此表示反对之前,请听一下我的理由!re.pl
为您提供了所有好处,即命令编辑和历史记录。您需要编写的只是用户将调用的函数。好处在于,熟悉 Perl 的用户会意识到他们可以使用任何已安装的模块来扩展系统的功能。在我的情况下,我使用 re.pl
创建了一个类似于 mysqlclient 的工具,用于访问和显示以标准 mysqlclient 无法处理的方式压缩的数据。我必须说,使用Python是因为我喜欢它。
但基于文本的界面几乎不值得一提,因为它们似乎是个好主意,直到你看到细节:
ncurses不提供小部件集,只提供低级操作。上述问题的答案并不容易。
这真的表明最近没有人对基于键盘和文本驱动的终端用户界面进行过多思考,否则这些问题都已经解决了。
事实上,Web界面已经解决了这些问题,你甚至可以使用文本模式的Web浏览器。
现代设备,如i(phone|pad)s甚至廉价手机都有足够好的Web浏览器。
编写一个使用非常简单的样式(少量图像,少量JavaScript)的Web应用程序,并使其在各种设备上轻松运行是很容易的。
所以我会说,听从dmckee的评论“用你熟悉的东西去做”。
通过构建自己的基于终端的界面,你将在长期内限制自己的发展空间。