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 < Android::App::Activity 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官方網站 ,獲取試用許可證。