【发布时间】:2008-10-01 15:13:24
【问题描述】:
我即将编写一个小 GUI 应用程序,它将位于系统托盘中,执行一些 FTP 和 ODBC。
如果可能,我想在 Linux 中进行开发。
你会推荐什么?
非常感谢!
【问题讨论】:
标签: open-source
我即将编写一个小 GUI 应用程序,它将位于系统托盘中,执行一些 FTP 和 ODBC。
如果可能,我想在 Linux 中进行开发。
你会推荐什么?
非常感谢!
【问题讨论】:
标签: open-source
我可能会失望,但我认为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 的跨平台“系统托盘”功能。 (编辑:实际上功能在core Java,截至6)
NetBeans 非常适合开发 GUI,可能不如 VB,但也不错。但是对于您的情况,Java 可能有点矫枉过正。
【讨论】:
对于“小 GUI 应用程序”,我会推荐 Tk,无论是使用 Tcl 还是作为 Tkinter 使用 Python。 Tk 是一个非常易于使用的高级跨平台(和跨语言)GUI 工具包。哎呀,我也推荐将 Tk 用于大型 GUI 应用程序,但这不是重点。
如果您使用 Tcl,您还将获得一个非常棒的分发机制 (tclkit/starkit/starpack),这使得创建单个文件可执行文件或双文件平台特定运行时 + 平台无关虚拟文件系统变得微不足道。
Python 可能会为您提供更好的 ODBC 功能,尽管这只是一种预感。我没有在 Tcl 或 Python 中使用过 ODBC。
【讨论】:
我已经使用了几个 GUI 工具包进行跨平台开发,以下是我最喜欢的 4 条建议:
Eclipse RCP- 它可能是重量级的,但它是跨平台的,为每个操作系统生成原生 GUI 组件,并且具有许多部署特性。
wxWidgets - 开源 GUI 库,可以使用 C++ 或 python (wxpython)。
Tkinter - 真正快速、简单、轻量级的 Python 图形用户界面工具包,跨平台,功能可能与上述选项一样完整。
Java Swing - 不错的库,但“看起来像 java”(它不使用原生 GUI 组件)
【讨论】:
我仍然认为wxWidgets 是一个非常棒的跨平台 UI 开发工具包,正在积极开发中,并且有很大的社区支持。
【讨论】:
“坐在系统托盘中”位有多重要?我不知道有什么可以让你以跨平台的方式做到这一点。
【讨论】:
【讨论】:
由于我的罪过,我是一名 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 之类的。
【讨论】: