NativeScript 是 Telerik 开发的一款从单一代码库构建多平台原生移动应用的开发工具,使开发人员可以使用 JavaScript 和 CSS 为 iOS、Android 和 Windows Phone(很快就会支持)平台编写原生移动应用,并且跨平台共享代码。
Telerik 的副总裁 Todd Anglin告诉InfoWorld ,“NativeScript 将在由iOS(JavaScriptCore)、Android(V8)和Windows(Chakra)提供的原生JavaScript 虚拟机上运行JavaScript”。同时,它提供了“一个JavaScript 代理,将所有底层的原生iOS/Android/Windows API 暴露给这些JavaScript 引擎,从而使JavaScript 可以完全控制本地设备。”
NativeScript 还处理跨平台的原生 UI。它提供了一种标记语言,可以在应用构建时编译成平台相关的 UI 窗口小部件。例如,当开发人员向应用添加了一个按钮,NativeScript 将自动使用 iOS、Android 和 Windows 提供的、恰当的按钮 UI 控件。也就是说,NativeScript 是通过底层的 JavaScript 引擎来控制原生 UI 层。所以,NativeScript 应用的整个用户体验都是原生的,支持与原生应用相同的可访问性模型。
根据 NativeScript GitHub 页面的介绍,Telerik 公司并不想围绕该框架重新创建一个生态系统,而是希望加入现有的 JavaScript 和原生 iOS/Android/Windows 生态系统。因此,NativeScript 不仅支持现有的 JavaScript 库,而且还支持现有的原生 Objective-C、 Java 和.NET 库。不过,开发人员并不用为了重用这些库去了解这些语言,因为所有的 API 都是用 JavaScript 提供的,而且未经修改。也正是因为这个原因,当苹果、谷歌和微软更新他们的移动平台时,开发人员可以使用最新的原生 API 和新增的 UI 组件,而不需要任何官方支持。
Appcelerator Titanium 的目标也是通过 JavaScript 构建原生移动应用,但 Anglin 认为它定制太多。同时,他认为,“不依赖于浏览器 /Web UI 层是 NativeScript 应用与混合应用(如 PhoneGap 和 Sencha)的一个重大区别。它渲染独立于浏览器的原生 UI……”
Telerik 将在本周推出一项 beta 测试计划,并将于 4 月底发布 NativeScript 1.0。
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论