NativeScript:跨平台原生移动应用开发工具

  • 谢丽

2015 年 3 月 17 日

话题:JavaScript移动语言 & 开发架构

NativeScriptTelerik开发的一款从单一代码库构建多平台原生移动应用的开发工具,使开发人员可以使用 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)关注我们,并与我们的编辑和其他读者朋友交流。

JavaScript移动语言 & 开发架构