Scala:未受重視卻潛力巨大的Android編程語言
譯文【8月31日 51CTO外電頭條】Scala,這款運行于Java虛擬機之上的靜態(tài)類型語言,正逐漸成為谷歌Android應用程序開發(fā)領(lǐng)域的新選擇。
盡管開發(fā)人員對Java及C++語言在Android上的使用已經(jīng)非常熟悉,但他們?nèi)匀豢梢赃x擇采用其它JVM語言,因為Android一直在大力推動Java兼容虛擬機Dalvik,開發(fā)人員Mike Burns推斷道。他工作于一家名為Thoughtbot的網(wǎng)頁及移動應用程序開發(fā)公司。“Scala如今也具備了正在蓬勃發(fā)展的[開發(fā)人員]社區(qū),”他如是說。
舉例來說,來自波士頓Android開發(fā)組的成員們已經(jīng)開始利用Scala進行Android開發(fā),Burns說道,他正是該工作組的負責人:“Scala能夠讓大家更快地完成編碼及分享的工作,尤其是與采用Java進行開發(fā)的過程相比。”Burns即將出席今年10月于舊金山舉行的Android開放式會議,會上將討論關(guān)于Scala替代Java的各項細節(jié)。
Scala的創(chuàng)造者Martin Odersky進一步證實了Burns的主張:“我對他的說法深表贊同:Scala是一款獨具魅力的Android開發(fā)語言。另外值得一提的是,Android插件中還具備對SBT,即Scala標準創(chuàng)建工具的支持。”谷歌目前拒絕對Scala在Android開發(fā)領(lǐng)域的相關(guān)話題發(fā)表評論。但谷歌的項目托管站點上已經(jīng)設(shè)有Scala – Android頁面,展示通過Scala為Android創(chuàng)建應用程序過程中所需的各類工具。
對于移動設(shè)備上的應用程序,Scala則比JRuby及Groovy等其它JVM語言更具優(yōu)勢,因為靜態(tài)類型語言運行速度更快、內(nèi)存占用更少、優(yōu)化程度也往往好于平均水平,Burns說道。他還強調(diào)說Android系統(tǒng)往往運行于處理器速度緩慢且內(nèi)存較小的嵌入式設(shè)備上,如此一來降低配置要求就顯得尤為重要。
在今年春季的一篇博文中,Burns如此宣揚Scala的編程特點:“Scala可以被看作Java的改進版。首先,大家不再需要輸入大量分號。Scala帶給我們的是現(xiàn)代抽象科學的創(chuàng)造之力。添加屬性、固有內(nèi)容、值的類型檢測以及信息塊——所需的每種要素如今都以實實在在的編碼成品方式擺在我們面前。”
來自Forrester公司的分析師Jeffrey Hammond表示,Dalvik虛擬機使用其自身的字節(jié)碼格式來執(zhí)行應用程序。谷歌將Java作為媒介語言以對.dex格式的文件進行編輯,他說:“Mike似乎在尋找一種方式,旨在將Scala作為編寫應用程序以及生成.dex編碼類型文件的一種后備方案。”
Burns說他已經(jīng)切實用Scala為Android編寫了一些程序,其中包括一款以Umbrella Today為基礎(chǔ)的天氣預報軟件。他向我們列舉了用Scala為Android系統(tǒng)進行開發(fā)工作的優(yōu)勢,例如速度快、編程容易以及具備充滿活力的相關(guān)社區(qū)等等。不過,缺點也確實是客觀存在的,其中包括以實踐經(jīng)驗相對匱乏及缺少文檔資料為主的各類未知情況。
當然,Android同時也是甲骨文與谷歌之間鬧得沸沸揚揚的訴訟事件的核心角色,起因是Android被指揮存在與Java專利相關(guān)的侵權(quán)行為。但Burns卻對訴訟沒有太多意見。“我對這事真的不太感興趣,”他說。
了解更多請點擊51CTO獨家專題:Android開發(fā)應用詳解 Scala編程語言
【51CTO譯稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載,合作媒體轉(zhuǎn)載請注明原文出處、作者及51CTO譯者!】