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