我即将编写一个小 GUI 应用程序,它将位于系统托盘中,执行一些 FTP 和 ODBC。
如果可能的话,我想在 Linux 中开发。
你会推荐什么?
非常感谢!
我可能会失望,但我认为FreePascal是你最好的选择。
大多数(如果不是全部)功能都是跨平台的,并且可以很好地解决。我不确定,但我可以调查,但 TTrayIcon 是跨平台的,这就是将应用程序放入托盘所需的内容。它还与数据库上的主要参与者有很好的核心连接。它在 Windows、Linux、MAC OS 甚至 ARM 和其他嵌入环境中都是跨平台的。
唯一的问题是它是 Object Pascal 而不是 VB'ish。
鉴于您提出问题的方式,Gambas是显而易见的选择。但我不认为这可能是你真正想要的。不过,它是最接近 VB6 for Linux 的东西。
如果你真的需要编译,Perl 是一个选项 (JIT),它在 Linux 上无处不在。在这种情况下,大多数 Linux 应用程序(如果需要编译)将使用带有 QT 或 GTK 工具包的 C/C++。但更多时候在 Linux 上,您会看到使用 Python 或 Perl。
我相信 jdesktop 为您提供了 Java 的跨平台“系统托盘”功能。(编辑:实际上功能在核心 Java中,截至 6)
NetBeans 非常适合开发 GUI,可能不如 VB,但也不错。但是对于您的情况,Java 可能有点矫枉过正。
对于“小 GUI 应用程序”,我会推荐 Tk,无论是使用 Tcl 还是作为 Tkinter 使用 Python。Tk 是一个非常易于使用的高级跨平台(和跨语言)GUI 工具包。哎呀,我也推荐将 Tk 用于大型 GUI 应用程序,但这不是重点。
如果您使用 Tcl,您还将获得一个非常棒的分发机制(tclkit/starkit/starpack),这使得创建单文件可执行文件或双文件平台特定运行时 + 平台不可知的虚拟文件系统变得微不足道。
Python 可能会为您提供更好的 ODBC 功能,尽管这只是一种预感。我没有将 ODBC 与 Tcl 或 Python 一起使用。
我使用了几个 GUI 工具包进行跨平台开发,以下是我的前 4 条建议,按我的首选顺序:
Eclipse RCP - 它可能是重量级的,但它是跨平台的,为每个操作系统生成原生 GUI 组件,并具有许多部署特性。
wxWidgets - 开源 GUI 库,可以使用 C++ 或 python (wxpython)。
Tkinter - 真正快速、简单、轻量级的 Python 图形用户界面工具包,跨平台,可能与上述选项一样具有完整的功能。
Java Swing - 很好的库,但可以“看起来像 java”(它不使用本机 GUI 组件)
“坐在系统托盘中”位有多重要?我不知道有什么可以让您以跨平台的方式做到这一点。
我仍然认为wxWidgets是一个很好的跨平台 UI 开发工具包,它正在积极开发中,并且有很大的社区支持。
有几种 VB 替代方案:
http://www.realsoftware.com/products/realbasic/
http://www.libertybasic.com/visual-basic.html
那么德尔福呢?
由于我的罪过,我是一名 VB 开发人员,我转向 C#,然后使用 Qt 转向 C++。
我认为这将取决于你作为程序员的技能,如果你高度依赖 VB 的程序性质,那么坚持使用 BASIC 作为一种语言。
如果您倾向于使用 VB 在类和对象中进行开发,您可能会发现 Python、C# 或 Java 是不错的选择。
此外,在查看跨平台时,它不仅仅是语言,还有您将使用的工具包。Qt 对我来说很棒,但也有 wxWidgets 和 GTK 之类的。
Miguel de Izaca 的 Mono - 现在由 Novell 拥有/赞助。它为您提供了 Linux 中 90% 的 .NET 框架。
由于您特别提到了 Visual Basic,因此您应该查看Gambas。它不是 VB 的克隆,而是类似于 VB。