Sky:一個基於 Dart 的高效能移動應用 UI 框架

發表於2015-05-04

【伯樂線上更新】:之前新浪科技編輯編譯有誤。Sky 並不是一種開發語言,而是一個高效能的移動應用 UI 框架,目前還只是一個試驗性專案。

GitHub 主頁地址:https://github.com/domokit/sky_sdk


除遊戲之外的Android應用通常使用Java語言來開發,而谷歌內部的一個團隊正在探索全新的應用開發方式。他們利用了谷歌自主的網頁開發語言Dart來開發Android應用。這幫助他們專注於速度,並可以與網頁進行深度整合。

Dart由Chrome V8引擎的團隊成員發明。該團隊近期舉行了Dart開發者峰會,展示了在Android專案中使用的Dart。在Android專案中使用的Dart並未被稱作“Dart on Android ”,而是有了一個新名字“Sky”。目前,Sky只是一次開源的嘗試。但相對於傳統的Android應用開發方式,Sky有著多方面優勢。

Sky的最主要目的包括提高執行速度和響應速度。在大部分裝置上,應用流暢的標準都是實現60FPS的幀率。不過,Dart團隊希望實現高達120FPS的幀率。目前在Android平臺上,許多應用連標準的60FPS幀率都難以達到,更不用說120FPS。60FPS的幀率要求每16毫秒繪製一幀,當畫面繪製速度達不到這一水平時,應用就會出現卡頓。

Dart團隊展示了一款演示應用,每幀的繪製速度僅為1.2毫秒。儘管這只是一次簡單的展示,但這意味著,對於開發流暢而複雜的應用來說,Sky有著很大的空間,這也使120FPS的幀率成為了可能。該團隊表示,Sky的應用程式介面(API)不會影響介面的主執行緒,這意味著即使應用執行速度變慢,使用者介面仍將保持流暢的響應速度。

Sky並不依賴於平臺,其程式碼可以執行在Android、iOS,以及任何整合了Dart虛擬機器的平臺上。這類應用的執行類似於網站。應用的很大一部分基於HTTP,這意味著開發者可以進行持續的開發,並確保所有使用者一直使用最新版本。這款演示應用的弱點在於無法離線執行,而啟動應用則需要1到2秒鐘時間,因為應用需要下載資料。不過,這兩方面的問題可以通過快取機制來解決。

基於HTTP的模式使開發變得很簡單。開發者不必編輯程式碼、編譯並打包,這些程式碼可以在HTTP伺服器上編輯。而使用者只需關閉並重新開啟應用,即可完成應用的“升級”。這就像是一款網頁瀏覽器。Android開發者可以使用Sky Framework,這提供了一整套Material Design小工具,幫助開發者方便地增加操作欄、觸控效果、導航皮膚,以及Android應用中所需的一切元素。

與普通應用類似,Sky應用可以獲得Android的全部許可權和API,但結合來自網頁伺服器的自動升級功能,這將帶來資訊保安問題。不過目前,Sky僅僅只是一個試驗專案。在Sky成為一種主流的Android應用解決方案之前,Sky團隊需要解決這些問題。該團隊的GitHub頁面顯示:“我們仍在對Sky進行頻繁地迭代,這意味著框架和底層引擎有可能以不相容的方式出現改變。”

相關文章