微软在 Windows 10 中扩展了其Chakra JavaScript 引擎的用途,使开发者能够在他们的应用程序中使用新的API。名为JavaScript Runtime(JsRT)的API 最初出现在Windows 8.1 中,但侧重于服务器端功能。在Windows 10 中,这些API 将不限于服务器端项目,而是可以用于传统的Win32 应用程序或通用Windows 应用程序。
这些API 提供了一些额外的自定义选项。对于长时间运行或经常使用的程序,开发者可以利用 JsSerializeScript 在代码执行前将其序列化。这样,就可以在需要的时候缓存代码,提升启动速度。
鉴于在应用程序中包含 JavaScript 引擎这种设计使用户可以插入自己的代码,应用程序开发者需要有办法限制这些脚本消耗的资源,防止流氓脚本导致性能问题。JSRT API 提供了限制这些脚本所使用的内存和 CPU 的功能。
由于微软计划继续更新他们的新 Web 浏览器 Edge,所以他们需要一种方式,更新与之关联的 Chakra JavaScript 引擎,而又不破坏可能依赖于旧特性的遗留应用程序。Chakra 通过分成两个版本达成了这一目的。当前(遗留)的 Chakra 引擎包含在 jscript9.dll 中, 而新的 Chakra 引擎(在 Windows 10 中提供)将包含在 chakra.dll 中。开发者可以根据需要选择指向哪个 DLL。运行 Internet Explorer 11 的机器可以使用指向 jscript9.dll 的应用程序,这为尚未迁移到 Windows 10 的应用程序提供了一个单独的选项。
微软总结了如下两条标准,用于指导开发者做出选用哪个库的决定:
- 如果重点是向后兼容现有应用程序,则指向遗留引擎。
- 如果希望应用程序具有前瞻性,并在 JavaScript 新特性发布时支持它们(比如,ECMAScript 6),则指向 Edge 引擎。
除了支持 ECMAScript 6 之外,指向最新的 DLL 还可以简化在 Visual Studio 中的代码调试工作。要试用新的 Chakra 引擎及 Windows 10,请访问微软 Windows 10开发工具页。GitHub 上提供了一些初始示例。
查看英文原文: Windows 10 uses Chakra to Provide JavaScript For All Applications
评论