安卓操作系統的軟件開發語言是Java,而在過去幾年中,有關Java的版權,谷歌和甲骨文之間發生了長期的訴訟。最新外媒消息稱,谷歌正在考慮將蘋果開發的Swift作為未來安卓軟件開發的“一級”語言,此外Facebook、Uber等公司也開始越來越重視Swift的使用。
據美國科技新聞網站TheNextWeb引述知情人士報道,此前蘋果Swift轉變為開放源碼語言,而谷歌、Facebook、和Uber三家公司的代表曾經在英國倫敦開會,專門討論Swift語言,谷歌決定逐步在安卓系統中采用這種語言。
Java目前是安卓開發最為重要的語言。消息人士表示,至少在最初階段,Swift語言不會取代Java的重要地位。目前谷歌和甲骨文之間有關Java的訴訟仍在持續中,引發了外界隱憂,消息人士稱,谷歌認為Swift和Java相比有著廣泛的優勢。
Swift目前是一種開源語言,這意味著谷歌可以將其應用到安卓軟件開發中,同時不改變安卓的開源移動架構。
谷歌會這樣做嗎?
Swift由蘋果公司開發,目的是取代古老的開發語言Objective C。Swift很快獲得了蘋果開發者的歡迎,據稱軟件代碼更容易編寫、沒有其他語言的復雜參數結構。
Swift語言在2014年蘋果全球開發大會上發布,隨后獲得了許多科技公司的支持,比如IBM、專車公司Lyft、Vimio、Pixelmator等都在使用Swift語言開發自己的iOS軟件。
不過,Swift不能夠輕易到“拷貝黏貼”到其他操作系統上,如果谷歌要將其作為安卓開發語言,谷歌首先必須開發一個Swift的“運行時庫”,這還只是第一步。
谷歌還要把整個的安卓應用軟件開發庫移植到Swift上,另外各種軟件開發結構和開發包,都要支持Swift語言。據稱,目前安卓底層的開發接口采用C++語言編寫,Swift不能夠輕松兼容,因此谷歌可能要重寫編寫這些接口的代碼。
另外在使用Java高級開發接口方面,Swift語言也會遇到麻煩,谷歌需要做一些重寫代碼的工作。
不過,將Swift作為安卓主要開發語言,從技術上并非不可能。去年底,知名軟件開發員Romain Goyet曾經試驗用Swift來開發安卓軟件,并且取得了成功。他的試驗發生在蘋果將Swift開源之前,但這也證明Swift可以用于安卓軟件開發。
據悉,上述的試驗使用了“安卓NDK”工具,這一工具也能夠讓其他開發語言應用于安卓開發。不過,因為Swift已經轉變為開源語言,此外背后還有谷歌的支持,因此未來如果作為安卓主導開發語言,開發者可能不再需要這一工具。
總體而言,如果使用Swift語言,谷歌可能要重新進行圍繞Java的相關工作。
Kotlin語言
消息人士還透露,谷歌也曾經討論是否將另外一種語言Kotlin作為安卓開發的一級語言。
和Swift一樣,Kotlin也是面向對象的語言,更加關注軟件的安全性。不過和Swift不同的是,Kotlin能夠在谷歌提供的安卓開發工具“Android Studio”中。
不過,消息人士透露,谷歌相關團隊目前認為Kotlin語言在進行編譯時,速度有些慢。
Kotlin語言被認為能夠應用于任何Java語言運行的環境中,另外一些開發項目也能夠無縫支持混合使用Kotlin語言和Java。
如果谷歌將Kotlin語言作為安卓開發主要語言,那么谷歌需要做的移植工作相對少一些,但是開發者可能面臨艱難的過渡。
Facebook和Uber
因為Swift的一些技術優勢,Facebook已經開始重視這種語言。Swift的優勢之一,是能夠同時作為后臺開發和前端開發的語言。對于Facebook這樣的社交網絡產品而言,這種特點很有幫助。比如移動應用軟件和服務其能夠無縫通信,另外Facebook也能夠更容易推出各種服務的開發接口。
Facebook已經開始使用Swift進行開發。最近在開源項目存放服務Github上,出現了一個名為“Port to Android”的項目,由Facebook的員工開發。不過目前還不清楚這是否是Facebook官方正式的開發項目。不過可以證實的是,Facebook內部已經在使用Swift語言,只是不為外界所知。
和谷歌、Facebook相比,移動專車公司Uber使用Swift語言的道路更加明晰。Uber在開發中也存在大量的服務端、開發接口等,不過競爭對手Lyft使用Swift,給Uber提供了一個參考的榜樣。
何時會采用Swift?
不過短期之內,Swift還無法作為安卓開發的主導語言,主要原因是安卓操作系統需要做好大量的準備工作。
不過,Swift語言正在星火燎原。一些研究顯示,Swift目前已經成為全世界發展速度最快的程序開發語言,另外轉向開源之后,更是出現了火箭式暴增。GitHub披露,在其平臺上,Swift的流行度排名第11位。
另外,市場對于Swift開發員的需求正在迅速增加,至少表明一些科技公司正在探索用Swift開發軟件。
不過,谷歌安卓操作系統使用Swift的道路很漫長,其需要重寫安卓的每一個系統服務、軟件和開發接口。谷歌也必須提供很多的支持工作。
另外,谷歌實際上已經在離開甲骨文主導的Java語言,谷歌已經在使用安卓的“Open JDK”,而不是甲骨文擁有版權的Java API,另外谷歌也開始考慮“后Java”的一些問題。