NineYao 2015-03-13
作为一项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层通常属于其性能瓶颈所在。”