用于跨平台GUI开发的CPython vs.Jython vs.IronPython

2024-04-29 04:05:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在考虑为数字硬件设计制作一种实验性的IDE。所以我不能选择巫婆平台。

我将有一个文本编辑器,语法突出显示,一些矢量图形和许多选项卡窗口。

我的目标: 一。使GUI尽可能少地使用自定义组件。 2。使之尽可能跨平台

(我已经知道CPython和Jython是跨平台友好的,但是IronPython+Mono呢?)

所以-问题是关于GUI-我应该选择什么?


Tags: 图形目标硬件矢量跨平台语法组件gui
3条回答

好吧,Mono并不是大多数Linux发行版的基础。它也不是一个非常轻量级的依赖项,而且我认为Java对于人们来说已经很有可能了。你打算在Mono中使用“Winforms”吗?如果是这样,而且您没有使用Winforms的经验,请阅读其他人的意见:-)另一个.NET GUI工具包是WPF,不幸的是Mono没有计划实现WPF。

Jython也会更好,因为您可以使用SWT,它可以呈现本机小部件,并提供许多布局可能性。或者你可以用Jython和Swing,或者其他什么东西——如果你喜欢丑的话,甚至可以用AWT。

我真的很喜欢wxPython(您可以将其与CPython一起使用,这在大多数发行版中是默认的),因为它在OSX、Windows和Linux中呈现了好看的本地小部件(我只亲眼看到过Gnome小部件)。wxPython是迄今为止我使用过的最容易使用的GUI工具包——甚至是编程的(即没有Glade或类似的布局)。我也用过SWT,我觉得很不错,Swing,我个人不太喜欢它的外观,Winforms,甚至尝试用它来做简单的布局都是一个噩梦。

下面是OS的解释器/语言运行时存在性的快速比较

  • 塞普顿
    • Windows-可能没有安装,您必须让非python安装程序将其与您的软件一起安装:-P
    • Linux-可能已经安装(Ubuntu、Gentoo和RedHat都有用Python编写并在CPython上运行的系统工具)
    • Mac-预装在OSX上
  • Jython公司
    • 在我的经验中,可能在某个时候安装了Windows,尽管它没有附带
    • 可能已经安装了Linux,但更重要的是,没有人会因为像Mono这样依赖它而恨你
    • Mac-预装在OSX上(“Mac OS X Leopard预装了J2SE 5.0,基于JDK 1.5.0_13_b05”--苹果网站)
  • 铁蟒
    • Windows-可能运行良好,因为我敢打赌,如果大多数人有最新版本的Windows,他们至少有.NET2.0
    • Linux—可能没有安装—我在Linux上使用Mono的唯一应用程序是Rasterbator,它运行得很好,但是我觉得在Linux上使用.NET很奇怪
    • Mac-见上文

我会先选择一个GUI工具包,因为这将极大地影响用户体验和总体难度(我会选择wxPython,但SWT将是一个很接近的第二个),然后考虑上述问题,也许是一个突破。

我想说的是,如果跨平台是一个目标的话,那就忘掉IronPython吧。很多人都讨厌它带来的依赖性,所以在一些操作系统/发行版中运行它需要做太多的工作。Jython也会遭受这样的痛苦,尽管程度较轻。

IronPython with Mono是跨平台的,适用于Mono支持的任何平台,也适用于Mono支持的特性集(这几乎意味着Windows窗体得到了很好的支持)。不过,GUI toolkits are available的其他选项可能提供更好的“跨平台”功能,或者至少在非Windows平台上感觉更好。

CPython将取决于您选择的GUI套件。就个人而言,我发现CPython with PyQt是Python中最有用的跨平台GUI选项。它非常强大,功能丰富,并且工作得很好。

Jython可以工作,但我个人不太喜欢GUI选项(不过,这是100%的个人偏好)。

相关问题 更多 >