该项目由Yuichiro MASUI发起,此人为Appcelerator工作。Appcelerator是一家提供移动平台开发框架的公司,其Titanium开发框架允许开发者使用自己熟悉的语言来开发移动应用。
MobiRuby基于mruby(轻量级的Ruby语言实现,可使用解释模式运行Ruby代码并在虚拟机中执行)构建。Yuichiro MASUI希望通过该框架,使Ruby能够替代Objective-C/C/Java语言来开发移动应用,就像Lua或Mono一样。
目前,该项目只有一个代码示例和截图,Yuichiro称,***版本将在未来几个月内发布,将基于Apache 2.0许可协议。
MobiRuby示例:
Ruby代码:
- # UIAlertView demo
- def _S(str)
- NSString._stringWithUTF8String(str)
- end
- class MyAlertView < Mobi::Cocoa::UIAlertView
- define :void, :didPresentAlertView, :id do
- p "MyAlertView::didPresentAlertView"
- end
- define :void, :alertView, :id, :clickedButtonAtIndex, :int do |me, index|
- if index == 1
- app = UIApplication._sharedApplication
- url = NSURL._URLWithString(_S("http://mobiruby.org"))
- app._openURL url
- end
- end
- end
- alert = MyAlertView._alloc.
- _initWithTitle _S("Hello"),
- :message, _S("I'm MobiRuby"),
- :delegate, nil,
- :cancelButtonTitle, _S("I know!"),
- :otherButtonTitles, _S("What's?"), nil
运行结果:
【编辑推荐】