什么是基于Ruby的移动跨平台解决方案?

时间:2013-01-07 09:49:10

标签: android ios ruby cross-platform

我正在研究如何使用Ruby进行移动跨平台开发。我们需要至少支持Android和iOS,支持Windows Phone和Blackberry支持。这将是一个应用程序,最终将在公众的应用程序商店,所以它不是一个企业内部唯一的东西。到目前为止,我发现:

  • Rhodes,涵盖了所有提到的平台和开源。我们现在不需要RhoMobile的额外(付费)功能
  • RubyMotion;仅限iOS,费用为199 dolla,遗憾的是没有试用版
  • Ruboto,仅限Android和开源
  • MobiRuby,iOS仅支持Android支持计划,开源,但在撰写本文时看起来还不够成熟以满足我们的需求

我们还有一个必须使用的用例,我们需要同时访问摄像头和加速度计,并从屏幕上的加速度计中提取数据。因为这是如此具体,所以我所看到的任何跨平台框架(包括Phonegap,Titanium等其他框架)都不支持它,看起来我需要为每个平台编写本机代码才能实现这一点。

到目前为止,我倾向于选择Rhodes。它是一个经过验证的框架,似乎能够完成我需要的一切,包括上述用例的“原生”。另一种选择是使用RubyMotion和Ruboto,它们都是编写Ruby而不是Objective-C或Java的解决方案。从理论上讲,我应该能够跨平台共享通用代码(如连接和存储),尽管我找不到任何成功使用这两个代码来编写适用于Android和iOS的应用程序的示例。

我想知道是否有人可以证实我的想法或者我忽略了什么。当然欢迎任何其他见解。

3 个答案:

答案 0 :(得分:4)

如果选择Ruboto,您可以按原样使用与UI无关的Ruby代码。无论如何,UI代码很可能依赖于平台。

Ruboto还很年轻,但还有更多的项目开始使用它。一个例子是

https://play.google.com/store/apps/details?id=com.jonsoft.globalchat

它跨平台共享通信Ruby代码。

作为Ruboto项目的开发人员之一,我可以向您保证良好的支持和完整的Ruby体验。

对于iOS,RubyMotion看起来不错,但我还没有使用它。您应该能够为共同逻辑使用共享代码库,但为UI和访问传感器分开代码库。

答案 1 :(得分:2)

我会继续使用Android的原生Java和iOS的RubyMotion,并有两个代码库。 RubyMotion是你提到的最稳定的,并且值得用于iOS开发,但在Android平台上没有一个好的选择。

答案 2 :(得分:0)

Rhodes与网络应用无关。 Rhodes允许您使用Ruby构建本机应用程序,并且比这些替代品更加成熟。它还支持每个主要的智能手机操作系统