返回博客首页
← 所有文章

Windows 10 的 NativeScript 运行时预览

2016年3月17日 — 作者:Jason Zhekov

Windows Mobile 支持是 NativeScript 最受欢迎的功能之一,我们很高兴地宣布,今天我们开源了 NativeScript 运行时在 通用 Windows 平台 (UWP) 上的工作。该仓库可在 GitHub 上获取,并且有一个您可以运行的最小示例应用程序。

windows-runtime-preview

该应用程序也可在 Windows Mobile 10 上运行,预计本月上线。

NativeScript 运行时允许从 JavaScript 调用 Windows 运行时 API。它类似于 Microsoft 提供的 JavaScript 桥接,但也允许实例化 XAML UI 控件。这样,NativeScript 应用程序再次成为真正的原生应用程序,而不是基于 HTML 的应用程序。

请注意,目前运行时处于 **概念验证** 阶段。它允许 JavaScript 和原生世界之间非常有限的互操作性(仅调用具有基本类型的简单方法)。但是,这是更高级功能的基础,例如继承、泛型、高级编组 - 所有这些问题都在 iOS 和 Android 运行时中得到了解决。只是时间问题,我们就会将 Windows 运行时提升到全速运行。

Windows 的 NativeScript 运行时实现基于 JavaScriptCorelibffi

  • JavaScriptCore 是用于解析和执行 JavaScript 源文件的 JavaScript 引擎。本身,JavaScript 引擎不与任何特定环境绑定。例如,浏览器通过 web 内容windowdocumentnavigator 等)对其进行扩展,而 Node.js 通过 其自己的 APIglobalrequireprocess 等)对其进行扩展。我们正在扩展 JavaScriptCore,以便能够从 JavaScript 与 Windows 运行时 API 进行交互。
  • libffi 是让这一切正常工作的粘合剂。它将 JavaScript 引擎和底层原生 API 联系起来。libffi 允许像 JavaScript 这样的解释型语言动态调用现有的原生 C 函数或在运行时创建新的函数。

下一步

请记住,运行时只是整个故事的一部分。将 NativeScript 运行时与通用 Windows 平台 (UWP) 集成到 NativeScript CLI 中还有很多工作要做。我们的 跨平台模块 也需要更新以适应 Windows。毫无疑问,还有很多工作要做。最终,我们将提供流畅的开发体验,就像我们在 iOS 和 Android 环境中所做的那样。

我们希望了解将跨平台移动应用程序引入 Windows 设备的需求和计划。请在评论中告诉我们您对 Windows Mobile 10 和 NativeScript 的看法。