如何编写跨平台程序?

Pav*_*tov 13 cross-platform

问候,

我想在其中编写一个带有GUI的小型跨平台实用程序.我应该坚持哪种语言/ GUI库?有可能吗?

这将是一个小程序,所以我不想让人们下载JVM或.NET Framework.有可能本地开发它吗?

更新1.

"本机"是指最终结果将是没有Java虚拟机或.NET公共语言运行时等中间层的本机代码

更新2.

免费解决方案更可取;)

Rem*_*o.D 15

如果您了解C或C++,我能想到的第一个跨平台GUI框架是:

  • QT(C++,专有但免费获得LGPL许可)
  • wxWidgets(C++,最完整,最稳定但也很庞大)
  • FLTK(C++)
  • 福克斯(C++)
  • IUP(C,比上面的更简单,更清洁)

如果你了解Pascal,你可以尝试freepascal + Lazarus.但我从来没有用过它.

  • Qt现在有(免费)LGPL许可,因此上述评论由skymt不再正确. (5认同)

Geo*_*rgi 6

问题是:如果你不想拥有一个GUI,但你不想要求用户下载一个永久的API,框架或虚拟机来运行它,无论是TCL/TK,Java还是QT等,那么你迷路得很快.

原因是:您必须重建所有(GUI)功能,这些API,框架和虚拟机为您提供独立于平台的功能.这需要做很多工作......

另一方面:Java虚拟机几乎可以从头开始安装在任何操作系统上,为什么不试一试呢?

  • 您可以静态链接Tk,wxWidgets,Qt,SDL等. (5认同)

Epa*_*aga 5

您想本地开发跨平台程序吗?呃......我认为这不会起作用,主要是因为这句话是一个悖论.如果你编写本机代码,它本质上只会在你编程的平台上运行.;-)这就是框架的全部内容.

所以你应该做的是使用一个非常纤薄的框架,如果你的程序将如此之小.itmatt对Qt的看法是可能的.