跨平臺移動端開發框架NativeScript 發布正式版本
“一次編碼,處處運行”一直是應用程序開發人員的夢想。在傳統的桌面應用開發中,Java 等虛擬技術已經在夢想實現的路上邁出了很大一步。隨著移動應用的強勢崛起,多平臺開發再次成為程序設計人員所必須解決的問題。利用 HTML 和 JavaScript,Hybrid App 作為一種有效的解決方案已經取得了一定的成功。但是,對流媒體處理速度慢的缺陷使得該方案越來越難滿足用戶需求。在這種情況下,開發人員迫切需要一種新的 跨平臺開發的解決方案來應對挑戰。NativeScript 就是一款由 Telerik 公司提出的跨平臺原生移動應用的開發框架。該項目的目的是利用單一代碼庫構建面向多平臺的原生移動應用程序,支持 iOS、Android、Windows Phone 等主流的移動操作系統平臺。NativeScript 為開發人員提供便捷之處在于利用 Javascript 和 CSS 就可以進行原生用戶體驗的移動應用開發。而且,Nativescript 的源代碼直接托管在 GitHub 上,真正實現了零門檻約束。
JavasScript 因為易學易用的語言特點,早已被廣大程序開發人員所掌握。而隨著主流移動平臺推出強勁的 JavaScript 處理引擎(iOS 7 及以后版本的 JavaScriptCoew、Android 自帶的 V8 JavaScript Engine),使用這些引擎來進行跨平臺開發也成為高效的解決方案。據 Teletrik 公司的開發大使 TJ VanToll 透露,NativeScript 的基本運行原理如下:用戶首先用 JavaScript 語言編寫應用程序,然后利用各平臺的處理引擎對應用進行解釋。之后,NativeScript 運行時環境找到原生的目標 API,將 JS 數據類型轉化為相應的原生類型,從而運行平臺的原生代碼。采用這種方式使得 NativeScript 可以配合最新的平臺 API 以及各種第三方庫,方便應用程序更新。此外,NativeScript 借助一套類似 node 的包管理系統,用 modules 對這些不同平臺的代碼進行了統一的封裝。對于 UI 的處理,NativeScript 選擇了使用類似 Android 的 XML 的方式進行布局,然后用 CSS 來控制控件的樣式。
NativeScript 的第一個公開版本在兩個月前一經發布便受到了廣泛關注。很多開發人員積極反饋對于 NativeScript 的意見以及建議。近期,NativeScript 進一步推出了正式版本——NativeScript 1.0.0。在新版本中,開發人員特別加入了一些新的特性來滿足用戶的需求。例如,NatvieScript 提供了一些應用程序樣例,幫助開發人員進行更好的了解該工具的使用。樣例中包含了 TelerikNEXT 會議的官方應用軟件和一款名為 Friends 的軟件。這兩個軟件的源代碼都已經放在了 GitHub 中 NativeScript 目錄下,供用戶下載和研究。此外,對于不同分辨率的設備,NativeScript 實現了不同的視圖,并提供不同分辨率的圖片,來提升用戶體驗。AngularJS 2.0 也已經初步集成在了 NativeScript 中,供網頁開發人員使用。而且,NativeScript 還加強了對于調試方面的支持。這包括支持“—print-app-output”來記錄軟件控制臺的所有輸出以及在仿真器上進行調試等。最后,該版本的 NativeScript 還特別改善了 Android 設備上應用程序的加載時間。
其實,NativeScript 所代表的解決思路就是使用已經被廣大前端開發者所掌握的工具鏈和語言來進行移動應用程序開發。其一經推出必然會收到很多前端開發者的歡迎,但是使用 JavaScript 所面臨的 UI 問題仍然存在。此外,跨平臺開發框架面臨的應用程序尺寸的問題以及復雜應用程序開發中的調試問題也是 NativeScript 發展所遇到的挑戰。通過正式版發布時所更新的特性,讀者可以看出 NativeScript 有信心應對這些挑戰。據 Teletrik 公司官方博客表示,未來 NativeScript 的發展將會關注 iOS 系統中第三方靜態庫的支持、NativeScript 插件的支持,Android 系統編譯時間的優化以及應用程序內部的錯誤報告支持等方面。