我正在寻找使用Ruby进行移动跨平台开发的方法。我们需要至少支持Android和iOS,如果支持Windows Phone和Blackberry就更好了。这将是一款最终会进入应用商店供普通公众使用的应用程序,因此不仅仅是企业内部使用的东西。到目前为止,我找到了以下几个选项:
- Rhodes,覆盖了所有提到的平台并且是开源的。我们现在不需要来自RhoMobile的额外(付费)功能。
- RubyMotion;仅支持iOS,价格为199美元,不幸的是没有试用版。
- Ruboto,仅支持Android并且是开源的。
- MobiRuby,仅支持iOS,计划支持Android,是开源的,但在撰写本文时看起来还不够成熟,不符合我们的需求。
我们还有一个必须满足的用例,需要同时访问相机和加速度计,并在屏幕上绘制加速度计数据。由于这很特定,在我查看的所有跨平台框架中(包括Phonegap、Titanium等),都不支持这个用例,看起来我需要为每个平台编写本地代码才能使其工作。
到目前为止,我倾向于选择Rhodes。它是一个经过验证的框架,似乎可以做到我需要的一切,包括针对上述用例的“本地化”。另一个选择是同时使用RubyMotion和Ruboto,它们都是使用Ruby而不是Objective-C或Java的解决方案。理论上,我应该能够在平台之间共享通用代码(如连接性和存储),尽管我没有找到任何成功使用这两个框架编写适用于Android和iOS的应用程序的示例。
我想知道是否有人能够确认我的思路或者我有所忽略。当然,任何额外的见解都是受欢迎的。