nev*_*ame 5 ruby ironruby jruby objective-c macruby
对于Web应用程序,我使用Ruby on Rails.现在是时候看看我是否可以使用Ruby编写桌面应用程序.
所以我想知道我应该选择哪一个.
我看到它的方式是MacRuby + IronRuby vs JRuby.
前者让我可以同时使用Mac和Windows的桌面应用程序,而后者可以同时使用,但只能学习一种工具.
使用前者是否有强烈的论据而不是后者?
JRuby桌面应用程序是否与MacRuby + IronRuby桌面应用程序一样本机(或接近本机)?
每种解决方案的优缺点是什么?
我也非常新的桌面开发.分享您的想法和经验!
MacRuby使用本机 Apple Objective C 堆栈。
优点:它的类库基本上是 Objective C GUI 类的包装器。您可以获得快速的本机应用程序。
缺点:只能在 Mac 上运行。它们也不能移植到 iPad 或 iPhone(Ruby 解决方案都不能移植)。
IronRuby使用本机 Windows .NET 框架。
优点: 使用本机 WinForms 创建丰富的本机应用程序。它可以访问完整的 .NET 库生态系统。
缺点:仅在 Windows 上运行。
JRuby使用 Java 抽象层 (JVM)。
优点:有多个可用的 GUI 库。最常见的是 SWT 和 Swing。SWT 使用本机小部件,速度更快,更接近本机。Swing 是纯 Java(模拟小部件)并且更可移植。还有更多库抽象了 SWT 和 Swing,使它们对 Ruby 更加友好。以Swing 的Profligacy为例。
缺点:一层在一层之上,一层在一层之上。Swing 和 SWT 非常成熟,但它们之上的 Ruby 层还不太成熟。
还有另一种选择
Ruby和 Qt 库。
Qt 是跨平台的,使用本机小部件并用 C++ 编写。它相当快,但库又复杂又大。
我的经验法则是你的 GUI 越复杂,你应该越接近本机平台。您还需要评估每个图形库的学习曲线以及在平台之间移植所需的工作。
| 归档时间: |
|
| 查看次数: |
1193 次 |
| 最近记录: |