2010-07-13 37 views
0

我有兴趣开发一个跨平台的应用程序(主要用于Windows和Mac,Linux不是那么多),它需要一个有点但不过分复杂的GUI(显示图形数据),并且还必须通过USB接收来自外部控制器的输入。我感兴趣什么语言或语言组合(或框架,或其他)的堆栈溢出读者会建议以及为什么。我熟悉C#,Java,Python和Ruby,并且已经将我的脚趾头放在了函数式语言库中,但是如果它有意义的话,它会愿意学习新的东西。最好的跨平台GUI和USB语言

回答

0

我建议Java加JFreeChart为一个好的图形工具包。您还没有提及您正在与之通话的USB设备类型,但使用带有创建虚拟COM端口的驱动程序的USB设备(然后通过rxtx访问),我已经取得了一些成功。

谷歌搜索Java USB库,我发现jUSB(Windows + Linux)javax.usb(Linux + alpha Windows支持)。我怀疑支持OSX会很困难。

+0

是的,OSX似乎是关键。这是我倾向于Ruby的原因之一,但在Ruby中似乎并没有一个非常好的USB库。 – David 2010-07-16 19:42:10

1

Tcl/Tk值得考虑。它可以说是任何其他语言的跨平台。如果你正在开发一个你想要发布的产品,没有任何语言与tcl/tk有什么关系,它们与starkits,tclkits和starpack(混淆术语; google是你的朋友)有什么关系。想想在虚拟文件系统中包含所有内容(dll,图像,声音,代码)的单一文件分发。

它本身没有USB支持,但Tcl的强大之处在于,用C编写的代码扩展语言非常非常容易。因此,使用C编写USB专用代码,然后创建Tcl中的GUI。

有些人不喜欢Tcl - 这是一种稍微不寻常的语言,你几乎可以在一天内掌握它,或者你可以使用它一年,但仍然不太满意。这在一定程度上取决于你是多么开放。

有些人也说Tk过时或丑陋,但a)丑陋在旁观者眼中,b)有时丑陋无关紧要。如果你正在制作一个内部应用程序,这个应用程序看起来像是一个Windows应用程序的100%,或者90%足够好吗?通常,足够好足够好。

+0

+1,一个写得很好的,深思熟虑的论点。 – ewall 2010-07-14 03:32:28

+0

谢谢,我会对此进行调查,但我的快速检查表明您的权利,它可能需要我一段时间。 – David 2010-07-16 19:40:51