微软演示了在 Linux 和 Mac OS X 上运行 ChakraCore 以及在 Linux 上运行 Node.js/ChakraCore。
六个月之前,我们曾对Chakra 引擎开源进行过报道。微软的目的是将其移植到其他平台,并让Node.js 可以在上面运行。7 月27 日,在这些天于旧金山举行的 Node 峰会 2016 上,微软演示了 ChakraCore 在 Linux x64 和 Mac OS X 10.9+ 上运行,其中包括在运行于 Linux x64 之上的 ChakraCore 上运行 Node.js(尚处于实验阶段)。
微软之所以开展这项跨平台工作,是为了帮助开发人员编写可以运行在 Windows UWP 和其他平台上的应用程序。UWP 是微软为了让应用程序可以跨各种不同类型的 Windows 设备运行而提出的解决方案,包括桌面、移动、IoT、Xbox、Surface Hubs 和 HoloLens。除 C#、C++ 和 Visual Basic 之外,UWP 应用程序还可以使用 HTML/JavaScript 编写,并运行在所有这些设备的 Chakra 上。由于 ChakraCore 是 Chakra 去掉了一些 Windows 相关的 API,所以,开发人员现在可以将其运行范围扩展到 Linux 和 Mac OS X 上。借助 Windows Bridge for iOS ,许多 iOS 应用程序都可以移植到 Windows 上,尤其是手机和平板。由于缺少一个好的应用程序生态系统,微软在这两个领域似乎没有什么发展。
微软原本计划通过 Astoria 项目打通 Android 和 Windows,但他们放弃了这个想法。开发人员仍然可以通过Xamarin 将应用移植到UWP,尽管那不是一种直观的方法。不过,考虑到大部分移动开发人员都面向iOS 开发,他们可能不需要一个Android-UWP 桥,如果他们有兴趣,Xamarin 足以让他们将Objective-C 代码移植到Windows 平台了。
按照微软的说法,除了 Intl API 正在开发中之外,ChakraCore 在 JavaScript 特性支持方面已经和 Chakra/Windows 不相上下。JIT 和部分 GC 特性尚不完善,但他们计划充分完善它们的功能,让它们具有和在 Windows 上同样的性能。
微软不只是将桌面应用程序作为目标,他们还希望使用一个运行在 ChakraCore 上的 Node.js 分支提供服务器应用的跨平台支持。感兴趣的读者可以从这里下载用于Windows 和Linux 的预构建二进制文件。
如果希望了解有关Node.js 如何在ChakraCore 上运行的技术细节,我们建议您阅读文章《微软开源Chakra,并计划在上面运行Node.js 》。
评论