在Linux上,哪种编程语言最容易开发命令行/简单GUI界面?

5
我需要开发一套大量工具,可以从服务器命令行运行(即非客户端-服务器架构)。系统不必高性能;我只是想要一个易于开发的东西。
有哪些技术可用于构建简单的GUI,可从命令行运行?我只需要菜单,可以在对话框中选择行/复选框/输入自由文本。
编辑:忘记添加,访问Mysql(即驱动程序可用)至关重要。

2
你已经了解并拥有开发环境的一个... - dmckee --- ex-moderator kitten
@dmckee 目前我最擅长的技能是 PHP 和 C#,但我不认为它们适合这个任务(对于 php-gtk 项目还不确定,看起来有点像一个被放弃的项目)。 - Itay Moav -Malimovka
6个回答

5

3

这里可以使用Python + Ncurses的组合。


2
我喜欢使用 Perl 的 Devel::REPL 库中的 re.pl 来快速创建 CLI(命令行界面)接口。在您对此表示反对之前,请听一下我的理由!
在这种类型的应用程序中,您要执行查询操作。这些操作很自然地适合 "repl" 风格的交互方式。re.pl 为您提供了所有好处,即命令编辑和历史记录。您需要编写的只是用户将调用的函数。好处在于,熟悉 Perl 的用户会意识到他们可以使用任何已安装的模块来扩展系统的功能。在我的情况下,我使用 re.pl 创建了一个类似于 mysqlclient 的工具,用于访问和显示以标准 mysqlclient 无法处理的方式压缩的数据。
我引用 Perl 是因为它的 DBI 是最好的数据库抽象,而且这也是我使用的......但是这个理由可以扩展到其他工具。Python 的 repl 或其他任何工具都能提供同样的好处。

1

你可以使用Linux上的Mono,用C# .NET编写程序,然后使其在Linux上运行,因为Mono允许这样做。


1

就图形命令行界面而言,最好的框架之一是ncurses。它抽象了与图形命令行应用程序相关的大部分丑陋细节。


1

我必须说,使用Python是因为我喜欢它。

但基于文本的界面几乎不值得一提,因为它们似乎是个好主意,直到你看到细节:

  • 没有真正的标准键盘导航模型适用于文本用户界面;它们都使用自己的方案
  • Unicode如何支持?(提示:这是非平凡的)
  • 不同的键盘布局怎么办?如果他们的键盘没有“home”,“end”或“Escape”键,那么某人应该按哪个键?

ncurses不提供小部件集,只提供低级操作。上述问题的答案并不容易。

这真的表明最近没有人对基于键盘和文本驱动的终端用户界面进行过多思考,否则这些问题都已经解决了。

事实上,Web界面已经解决了这些问题,你甚至可以使用文本模式的Web浏览器。

现代设备,如i(phone|pad)s甚至廉价手机都有足够好的Web浏览器。

编写一个使用非常简单的样式(少量图像,少量JavaScript)的Web应用程序,并使其在各种设备上轻松运行是很容易的。

所以我会说,听从dmckee的评论“用你熟悉的东西去做”。

通过构建自己的基于终端的界面,你将在长期内限制自己的发展空间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接