谷歌推安卓應(yīng)用開發(fā)語言Sky
5月4日,碼農(nóng)易友們可能會知道,現(xiàn)在我們在市面上所看到的大部分非游戲安卓應(yīng)用都是由Java語言來編寫的。日前,Google內(nèi)部一個團(tuán)隊正在測試一種全新安卓應(yīng)用編程方式和編程語言,那就是Google的網(wǎng)頁開發(fā)語言Dart。
Dart的目標(biāo)是實(shí)現(xiàn)完全獨(dú)立、高效地開發(fā)安卓應(yīng)用,并能實(shí)現(xiàn)與網(wǎng)頁瀏覽很好的契合,整個過程都將不需要借助Java語言的協(xié)助。
Dart語言起初是因?yàn)镚oogle Chrome V8 Javascript引擎團(tuán)隊的工程師們無法忍受那款用了20多年的舊版編程語言所帶給人的糟糕體驗(yàn),于是他們親自動手,開發(fā)出了Dart語言。
而在日前,這個團(tuán)隊也順利召開了Dart Developer Summit(Dart開發(fā)者峰會),并在會上向所有人展示了Dart語言是如何服務(wù)于開發(fā)安卓應(yīng)用的。
其實(shí),為安卓而生的Dart語言還有一個更高上大的名字——“Sky”。就目前看來,Sky語言還處于開源測試階段,但是同傳統(tǒng)的應(yīng)用開發(fā)語言相比,Sky承諾,將為開發(fā)者們提供更多便利。
對Sky來說,高效性和及時性是它在安卓應(yīng)用開發(fā)過程中最希望達(dá)到的效果。對大多數(shù)設(shè)備和應(yīng)用開發(fā)者來說,60幀(Hz)是能實(shí)現(xiàn)畫面清晰和流程的最理想標(biāo)準(zhǔn),而Dart語言開發(fā)團(tuán)隊希望能將這個標(biāo)準(zhǔn)突破性地提升到120幀。這對于現(xiàn)在標(biāo)準(zhǔn)智能手機(jī)60幀的顯示屏來說,還顯得有些可望而不可及。
讀者朋友們乍聽之下可能會覺得有些天方夜譚。就安卓手機(jī)?它連60幀都無法保證吧,還敢做120幀?我們在此也需要對那些不太了解這些數(shù)據(jù)的易友們科普一下,如果要讓一款軟件以60幀的畫面運(yùn)行,這就意味著它需要支持每16毫秒繪完一幀的速度。如果一款應(yīng)用無法達(dá)到每16毫秒一幀這一底線的話,它就不可避免地會出現(xiàn)屏閃或卡頓的現(xiàn)象。
Sky語言開發(fā)團(tuán)隊也在此前的演示中,向我們展示了一款測試用的App,它的整套系統(tǒng)支持高達(dá)1.2毫秒一幀的驚人繪制速度。雖然這還只是一個簡單的例子,但是卻也向我們展示了Sky確實(shí)能帶給開發(fā)者們帶來無窮的想象空間:能在更大型復(fù)雜的游戲中,體驗(yàn)到如絲般順滑的操作體驗(yàn)。這也讓我們對120幀(8毫秒一幀)的美好愿景成為了可能。
Sky語言開發(fā)團(tuán)隊還表示:“Sky的獨(dú)特設(shè)計能讓它編寫出的應(yīng)用永遠(yuǎn)也不會出現(xiàn)閃屏現(xiàn)象,它的APIs不會影響UI主線程”。通俗地講,這意味著即便應(yīng)用運(yùn)行緩慢了,它的UI界面仍將保持流暢和靈敏。
Sky語言的網(wǎng)頁開發(fā)語言背景也將很好地兼容移動領(lǐng)域。只要你裝載了Dart語言虛擬機(jī),Dart就可以支持在任何平臺上進(jìn)行編程,而這其中也包括Android和iOS。
這些由Sky語言開發(fā)出來的應(yīng)用運(yùn)行起來會有些像網(wǎng)頁應(yīng)用。雖然Sky內(nèi)置了極簡的安卓APK,但它的最大部分應(yīng)用是基于HTTP協(xié)議的,這可以讓應(yīng)用實(shí)現(xiàn)網(wǎng)頁的兼容性部署,讓任何人都能在上面運(yùn)行最新版本的應(yīng)用。而URLs也是Sky的基礎(chǔ)層,所以你只要懂網(wǎng)頁編程,就差不多能玩Sky了。
但這樣說來,我們也可以看到一個顯而易見的短處:一旦你下線了,這些應(yīng)用也將停止運(yùn)行,并且在每次重啟時,你都需要等上一兩秒的時間來加載數(shù)據(jù)。但是,這些問題實(shí)際上都可以靠緩存來輕松解決。
基于HTTP協(xié)議,讓整個應(yīng)用的開發(fā)流程都變得更容易上手。不像傳統(tǒng)編寫應(yīng)用那樣,開發(fā)者們在更新應(yīng)用時,不需要再編寫代碼,編譯程序,或是安裝新應(yīng)用了。所有的代碼編寫都是在HTTP服務(wù)器上完成的。程序升級只需要簡單地關(guān)閉程序,然后重啟就可以實(shí)現(xiàn)了。
這樣編寫出的應(yīng)用就像一款瀏覽器那樣方便。對于那些開發(fā)安卓應(yīng)用的開發(fā)者們來說,Sky還為他們提供了滿滿一籃子的編程小工具,可以讓開發(fā)者們在應(yīng)用中輕松添加指令欄,觸屏效果,操作盤等等這些你在應(yīng)用開發(fā)過程中,所能想到的一切。
基于Sky開發(fā)出來的應(yīng)用,將具備安卓應(yīng)用的一切特點(diǎn)。它就像普通的安卓應(yīng)用那樣,但考慮到這些應(yīng)用會自動從網(wǎng)頁服務(wù)器那兒更新數(shù)據(jù),所以,如何解決好安全問題,是Sky團(tuán)隊現(xiàn)在所需面對的最大問題。
雖然,我們已經(jīng)在前面提過,Sky語言目前還處于測試階段,但在它正真成為一個不可忽視的編程語言前,我們必須要充分考慮到像安全和隱私這一類與我們息息相關(guān)的重要問題。
Sky語言開發(fā)團(tuán)隊也在它們的GitHub主頁上留言道:“我們還在忙著測試升級Sky語言,它的框架和底層引擎都還常出現(xiàn)兼容性問題。”
但是,Sky語言關(guān)注的是開發(fā)安卓應(yīng)用的高效性和顛覆性的開發(fā)過程,這讓它的前景看起來一片光明,而我們也還需要更多時間來繼續(xù)觀察。