Visual Basic的最佳开源,跨平台,已编译GUI替代品?

时间:2020-03-06 14:58:50  来源:igfitidea点击:

我将要编写一个小GUI应用程序,它将位于系统托盘中,并做一些FTP和ODBC。

如果可能的话,我想在Linux上进行开发。

你会推荐什么?

谢谢一堆!

解决方案

Miguel de Izaca的Mono现在由Novell拥有/赞助。它为我们提供了Linux中90%的.NET框架。

由于我们特别提到了Visual Basic,因此我们应该签出Gambas。它不是VB克隆,而是VB之类。

"坐在系统托盘中"位有多重要?我不知道有什么可以让我们以跨平台的方式进行操作。

考虑到我们提出问题的方式,Gambas是显而易见的选择。但是我认为这可能不是我们真正想要的。不过,这是最接近Linux的VB6的东西。

如果确实需要编译,则可以选择Perl(JIT),它在Linux上无处不在。在这种情况下,大多数Linux应用程序(如果需要进行编译)将使用QT或者GTK工具箱的C / C ++。但是在Linux上,我们会经常看到使用Python或者Perl。

我相信jdesktop为我们提供了Java的跨平台"系统任务栏"功能。 (编辑:实际上,功能是在核心Java中,从6开始)

NetBeans非常适合开发GUI,可能不如VB好,但还不错。但是Java可能对情况有些过分。

我可能会降级,但我认为FreePascal是我们最好的选择。

大多数(如果不是全部)功能都是跨平台的,并且可以很好地解决。我不确定,但是我可以调查,但是TTrayIcon是跨平台的,这就是我们需要将应用程序放入托盘中的原因。它与数据库的主要参与者之间也具有很好的核心连接性。它在Windows,Linux,MAC OS甚至ARM和其他嵌入式环境中都是跨平台的。

唯一的事情是对象Pascal,而不是VB'ish。

我仍然认为wxWidgets是一个免费的跨平台UI开发工具包,正在积极开发中,并获得了社区的大力支持。

有几种VB替代方法:

http://www.realsoftware.com/products/realbasic/

http://www.libertybasic.com/visual-basic.html

那德尔菲呢?

对于"小型GUI应用程序",我建议使用Tk,或者与Tcl一起使用,或者与Tkinter和Python一起使用。 Tk是一个非常易于使用的高级跨平台(和跨语言)GUI工具包。哎呀,我也建议将Tk用于大型GUI应用程序,但这不是重点。

如果我们使用Tcl,那么我们还将获得一个非常出色的分发机制(tclkit / starkit / starpack),该机制使创建单个文件可执行文件或者特定于两个文件平台的运行时+平台无关的虚拟文件系统变得不容易。

Python可能会为我们提供更好的ODBC功能,尽管这只是一种预感。我没有在Tcl或者Python中使用ODBC。

我的罪过是VB开发人员,因此我先后转向Cand和Qt的C ++。

我认为,这将取决于我们作为程序员的技能,如果我们高度依赖VB的程序性质,那么请坚持使用BASIC作为语言。

如果我们倾向于使用VB在类和对象中进行开发,则可能会发现Python,Cor Java是不错的选择。

同样,在跨平台浏览时,它不仅是语言,而且还是我们将要使用的工具包。 Qt对我来说很棒,但是也有wxWidgets和GTK来命名。

我已经使用了多个GUI工具包进行跨平台开发,以下是我的4条建议(按我的优先顺序排列):

Eclipse RCPIt可能是重量级的,但它是跨平台的,为每个OS生成本机GUI组件,并具有许多部署功能。

wxWidgets开源GUI库,可以使用C ++或者python(wxpython)。

Tkinter确实非常便捷,用于python,跨平台的轻量级GUI工具包可能具有上述选项的完整功能。

Java Swing Good库,但可以"看起来像Java"(它不使用本机GUI组件)