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