HipByte 发布了RubyMotion 3 ,用于iOS、OS X和Android应用开发的Ruby。这是第一个包含Android支持的版本,该特性先前只向Beta测试人员提供:
从RubyMotion 3开始,我们将支持Android的所有版本,一直到最新版本(5.0 Lollipop)。开发人员可以调用所有用于这些平台的Java API,并且也可以集成第三方Java库。
RubyMotion为使用Ruby编写应用程序提供了一个完整的工具链。这些应用程序之后会被一个基于LLVM的编译器编译成原生代码。在先前的一篇新闻报道中,InfoQ 报道了关于如何做到这一点的技术细节 。
对于具备Ruby知识的Android开发人员而言, 示例应用 会让他们顿时觉得非常熟悉:class MainActivity
def onCreate(savedInstanceState)
super
@contentLayout = Android::Widget::FrameLayout.new(self)
# ...
end
end
请注意,require Java包的语句计划在稍后的版本中增加。目前,还需要使用完全限定名。
WatchKit Apps
此外,RubyMotion 3使开发人员可以使用苹果的WatchKit编写Apple Watch应用。
一个WatchKit App需要与现有的iOS App对应,作为它的扩展。在RubyMotion 3中编写WatchKit App,首先你需要安装Xcode 6.2和iOS 8.2 beta,然后只需要在已有的iOS应用项目里使用ios-watch-extension模板:$ motion create --template=ios MyHostApp
$ cd MyHostApp
$ motion create --template=ios-watch-extension MyWatchApp
然后,配置项目的Rakefile,将WatchKit扩展包含进去:Motion::Project::App.setup do |app|
...
app.target "./MyWatchApp", :extension
end
最后,你能在模拟器中浏览Watch App:$ rake watch
需要注意的是RubyMotion对WatchKit App的支持仍处于开发阶段,未来会进一步增强。
面向iOS开发人员的进一步改进包括支持iOS 8扩展。为此,他们还提供了一些 模板 ,如下:ios-action-extension
ios-custom-keyboard
ios-document-picker
ios-file-provider
ios-photo-editing
ios-share-extension
ios-today-extension
ios-watch-extension
而且,iOS应用现在默认编译成64位。
HipByte还 推出了新定价方案 。随着技术支持级别和响应时间的不同,方案价格从每年每人149美元(个人方案)到每年每人999美元(企业方案)不等。所有方案都有一个30天的免费试用期。
至今为止,RubyMotion工具链只能用在OS X上。因此,我们问HipByte创始人Laurent Sansonetti,他们是否计划支持其它平台:
现在有Windows版本的需求。我们会考虑。目前,考虑到RubyMotion的跨平台特性以及iOS开发需要Mac这样的事实,我们计划只停留在Mac上。
所有示例都是以编程方式创建视图,它们可以在Android XML Schema中声明吗?
你当然可以在一个RubyMotion Android应用中使用XML资源,就像你在Java中的做法一样。不过,我们建议开发人员用代码编写UI,也像我们一样开发iOS视图。我们的gems(像MotionKit[他们的跨平台布局样式库])很快就会支持Android,这会使一切变得更简单。
要了解更多信息,请访问 RubyMotion官方网站 ,获取试用许可证。