JavaScript以原生姿態進入iOS等應用程序
原文 http://developer.51cto.com/art/201503/468155.htm
作為一項Telerik技術方案,NativeScript旨在利用單一代碼庫構建面向多平臺的原生移動應用程序,并即將于今年四月底發布其1.0版本。Telerik方面還在本周發布了一套beta測試程序,旨在將NativeScript推向開源。
NativeScript官方網站以及GitHub頁面在描述該運行時時指出,其幫助開發人員利用JavaScript與TypeScript實 現面向iOS、Android以及Windows Phone(通過Windows Universal戰略)的原生應用程序開發工作,并實現不同平臺之間的代碼共享。“擁有Web技能且希望構建真正原生應用程序的開發人員應該會因此而感 到振奮,這是因為如今他們終于迎來了一種能夠在無需學習定制化語言或者框架之前提下完成這一目標的有效途徑,”Telerik公司副總裁Todd Anglin指出。
NativeScript所提供的應用程序擁有一套原生UI,Anglin表示。“具體而言,此類應用程序并非在Web視圖當中進行HTML渲染 ——正如我們在執行混合型應用程序或者傳統瀏覽器應用程序時的情況……NativeScript能夠幫助底層JavaScript引擎作用于iOS、 Android以及Windows平臺之上,進而控制一套原生UI層。”
開發人員運用的NativeScript庫能夠將不同原生平臺之間的差異屬于進行抽象化處理; 除此之外,開發者還能夠隨意使用CSS與ECMAScript 5。這套Node.js服務器端JavaScript平臺“能夠充當移動應用程序當中JavaScript引擎所扮演的角色,”Anglin解釋稱。
NativeScript還提供面向原生平臺API的全面接入能力,而且其擁有一套預封裝的JavaScript虛擬機環境; 針對NativeScript應用程序所編寫的JavaScript代碼仍然能夠作為JavaScript直接運行在設備之上。 “NativeScript將在由iOS(即JavaScriptCore)、Android(即V8)以及Windows(即Chakra)所提供的原 生JavaScript虛擬機當中執行其JavaScript代碼,”Anglin補充道。NativeScript提供“一套JavaScript代 理,能夠將全部底層原生iOS/Android/Windows API交付至對應的JavaScript引擎,進而通過對JavaScript的全面控制實現原生設備功能的調用。”
NativeScript同時能夠處理該跨平臺原生UI,并在應用程序構建完成后為其提供對特定平臺UI部件加以解析的標記語言。“舉例來說,當 一位開發人員向應用程序當中添加一個按鈕時,NativeScript將自動利用來自iOS、Android以及Windows系統中適用的原生按鈕UI 控制機制。”
在Anglin看來,NativeScript與其它移動開發技術存在著諸多差異,例如Appcelerator Titanium——后者同樣能夠通過JavaScript實現原生移動應用程序之構建。Titanium當中包含大量自定義機制,這使其存在專有性傾 向,Anglin解釋稱。
“NativeScript應用程序與混合型應用程序(例如PhoneGap或者Sencha)之間的根本性差異在于,NativeScript 并不依賴瀏覽器/Web UI層實現應用程序渲染。其獨立于瀏覽器之外實現原生UI渲染。……對于希望能夠提供平滑順暢的動畫與滾動效果的移動應用程序來說,瀏覽器/Web UI層通常屬于其性能瓶頸所在。”
自去年六月發布NativeScript以來,Telerik公司希望通過提供優質的UI工具及平臺調整方案進一步借助NativeScript實現盈利。
原文標題:JavaScript goes native for iOS, Android, and Windows Phone apps