改動少許代碼,讓你的iOS游戲跨界Android平臺
現在,iOS和Android主宰了整個應用市場,無論是放棄哪一個平臺,對于開發者來說都是“艱難的抉擇”,但是同時進行兩個平臺的開發和維護,卻并不是一件容易的事。到底還有沒有什么好的辦法,可以在保證應用質量的情況下,盡可能簡單地進行跨平臺開發?
如果你也在苦惱這個問題,可以試試Apportable。他們提供的SDk,可以讓Object-C語言寫的程序直接在Android平臺上運行,也就是說,讓你的iOS應用可以移植到Android設備上來。不過,現在,他們還只主要面向移動游戲應用。
Apportable的聯合創始人Ian Fischer告訴PingWest,開發者如果想兼顧兩個平臺但是又不愿意做兩次開發,直接用Obejective-C語言來寫程序,然后利用 Apportable把應用移植到Android上,是很好的選擇。因為相比起需要利用虛擬機的Java,Objective-C是真正在CPU上運行, 這樣應用的表現會得到優化;另外一方面,轉化的過程中不需要對代碼做重大改變,只需要一些調整,依據應用的不同,一般只需要重寫1%-10%的代碼,就可 以完成移植,“有的人甚至可以在一兩周之內就完成。”
他也比較了現在流行的幾款跨平臺開發工具,比如Unity,或者Web應用等。他稱,Unity實際是在用C Sharp和Javasript進行編譯,換句話說,就是在用微軟的計算機語言來在iOS和Android上寫程序,這個效果并不好,Javascrip 也不算很友好的移動端語言;而對于Web應用來說,還不足以支撐大型游戲的表現,本地化才是最終的解決方案。“讓你用同樣的基礎代碼、然后提供更好的游戲 表現、保證應用的本地化,這就是我們的優勢。”
“三年前,我們開始做Apportable的時候,***的游戲還是《憤怒的小鳥》,但是只在iPhone上有,當時我們就在想,為什么這些游戲不 登陸Android呢?我們問了一些開發者,但是他們說太難了,團隊很小,也不容易做出來,所以我們就決定來幫助他們解決這個問題。”Ian回憶他們創業 時的初衷笑說,“當然,很快我們就發現:1.這個是有可能的;2.這個很難。”盡管如此,他們還是陸續從Google Ventures、Y Combinator和雅虎創始人楊致遠等人手上拿到了超過700萬美元的投資。
Apportable采用的是免費增值的模式,可以提供免費的版本給開發者,同時也有收費的高級版本和企業版本。到現在,大概有超過一萬的開發者在 使用Apportable的服務,而一些知名的游戲開發團隊,比如Booyah, Pocket Gems 和Wooga,都是他們的客戶。Wooga用Apportable開發出了他們很受歡迎的游戲Jelly Splash的Android版本,現在已經這款游戲已經有超過1500萬的下載量了。
盡管這聽起來是很廣泛的需求,但是Apportable還是把主要的精力放在了游戲領域(他們也幫助少數其他類應用完成了移植)。談起這個,Ian 也很坦率,他說,Apportable畢竟是一個創業公司來說,人力有限,而游戲應用占據了移動端的80%收入,所以這就成為必然的選擇。而從結果上來 看,這個決定也得到了市場的驗證:去年他們獲得了超過100萬美元的收入,大部分都來自于面向大型游戲公司的定制服務。
今年,Ian他們決定做點不一樣的事。在一月的時候,他們就在MacStore里推出了一個游戲開發工具SpriteBuilder,幫助開發者用Objective-C語言來快速開發iOS游戲。
作為一個游戲開發工具,SpriteBuilder是完全免費并且開源的。它可以提供一個更加完整的游戲開發體驗,比如利用可視化編輯,幫助設計師 和程序員們更好地協作。原來設計師們或許在需要挪動某個按鈕時,還得找程序員幫忙實現,但是利用SpriteBuilder,他們就可以直接進行諸如拖拽 等動作,完成設計上的修改。這樣程序員就可以專心寫架構和實現關鍵功能,設計師也不用再因為一些小的改動而煩惱。
談起做SpriteBuilder的初衷,Ian說,他們希望的是能吸引更多的開發者利用Objective-C語言來開發應用。如果能有一些高質量的開源工具,開發者們就會更有動力去做Objective-C游戲。
Apportable的很多用戶都來自美國之外,比如加拿大、歐洲和亞洲(日本),但是中國目前還不是主要的來源市場。Ian說,這可能和中國 Android份額太大、開發者喜歡直接開發Android應用相關,不過他們也在努力,比如和一些中國公司合作,引進美國的一些優秀游戲應用到中國來。
Ian堅信這將是一個非常大的市場。“到明年,移動端的支付就會達到120億美元,而這個數字在2017年會達到900億。相信我,本地應用是更好 的,Objective-C也是更好的,而Apportable就是讓Obejective-C在Android上本地化。這是***的。”