我正在寻找使用 Ruby 进行移动跨平台开发的方法。我们至少需要对 Android 和 iOS 的支持,以及对 Windows Phone 和 Blackberry 的支持。这将是一款最终会出现在面向公众的应用商店中的应用,因此它不仅仅是企业内部的事情。到目前为止,我发现:
- Rhodes,涵盖了所有提到的平台和开源平台。我们现在不需要 RhoMobile 的额外(付费)功能
- 红宝石运动;仅限 iOS,售价 199 美元,遗憾的是没有可用的试用版
- Ruboto,仅限 Android 和开源
- MobiRuby,iOS 仅计划支持 Android,开源,但在撰写本文时看起来还不够成熟,无法满足我们的需求
我们还有一个必备用例,我们需要同时访问相机和加速度计,并从屏幕上的加速度计中提取数据。因为这是非常具体的,所以我看过的任何跨平台框架(包括 Phonegap、Titanium 等其他框架)都不支持它,看起来我需要为每个平台编写本机代码才能让它工作。
到目前为止,我倾向于选择罗德。这是一个经过验证的框架,似乎能够做我需要的一切,包括上述用例的“原生化”。另一种选择是同时使用 RubyMotion 和 Ruboto,它们都是编写 Ruby 而不是 Objective-C 或 Java 的解决方案。从理论上讲,我应该能够跨平台共享通用代码(如连接和存储),尽管我找不到任何成功使用这两个代码编写适用于 Android 和 iOS 的应用程序的示例。
我想知道是否有人可以证实我的想法或者我忽略了一些东西。当然,欢迎任何其他见解。