目前市面上大多数号称跨平台(Linux、Windows 和 macOS)的软件都是使用 JavaScript 或 TypeScript 编写的,而运行这些应用都离不开一个开源项目 —— Node.js,这是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 已经流行很多年了,本文将提到的开源操作系统 Haiku 却一直迟迟没有对 Node.js 提供支持,因此我们无法基于 Haiku 运行或开发依赖于 Node.js 运行环境的 JavaScript 应用和库。
不过从现在起,Haiku 操作系统将长期以来的缺席补上了,我们可以从 Haiku 的包管理系统 HaikuDepot 下载 Node.js 并进行安装使用(目前仅支持 64 位版本,对 32 位版本的支持正在开发中)。当前可用的版本是 12.3.1,在撰写本文时,该版本已更新为最新版本 12.10.0,并且也将支持即将推出的 LTS 版本。
此外,Haiku 团队的维护者也一直在向上游 Node.js 项目提供相关的支持补丁,目前已支持 libuv(跨平台 async I/O 库), GN 等项目,还希望为更加大型的项目提供支持,如 V8 JavaScript 引擎以及 Node.js 项目。
如需在 Haiku 上安装 Node.js,首先要在 HaikuDepot 中搜索该软件包,然后单击“安装”或在 Haiku 终端应用上输入pkgman install nodejs
命令,它将自动安装所有内容。
这对于 Haiku 的使用者来说,也就意味着我们可以使用 npm, yarn 或其他包管理器直接从 JavaScript 和 TypeScript 生态系统安装和运行软件,并且大多数软件都支持开箱即用。下面是一些运行在 Haiku 上的软件。
在 Haiku 上运行 React 和 TypeScript:
在 Haiku 上运行 Angular 和 TypeScript:
简易的 Express Web 服务器:
Socket.IO 聊天 Demo:
使用 Hexo 创建一个静态网站:
另外,还可以通过远程使用 Chrome Inspector 来连接 node 程序以进行远程调试。下面是在使用 Chrome (macOS) 远程调试在 Haiku 机器上运行的 Node.js 应用的一个例子:
请注意,这是将 Node.js 移植到 Haiku 操作系统的早期阶段。因此,某些软件包可能会无法正常运行,并且需要修复补丁。与此相关的是,Haiku 上的 Node.js 某些功能当前也不可用,例如用于监视文件系统中文件更改的文件系统事件 (fs-events)。不过 Haiku 本身也具有监视文件系统事件的功能,但团队表示未来有计划将其集成到 Node.js 中。
最后,团队目前还在研究 Haiku 的绑定功能以处理 JavaScript/TypeScript 中的 GUI 应用程序和其他特性。
为了加深大家对 Haiku 操作系统的认识,这里整理了一些关于 Haiku 操作系统的介绍:
Haiku 操作系统的背景:
曾经有一款名为 BeOS 的操作系统,但由于该厂家自身原因于 2001 年终止开发并被 Palm 公司所收购,从此更名便有了 Haiku 操作系统,不过 Haiku 操作系统延续了 BeOS 的用户体验和个性,它是一个快速,简洁优雅,易学易用,而且非常强大的操作系统。
Haiku 操作系统的名字:
由于 Haiku 操作系统继承自商业操作系统 BeOS,而 BeOS 里面,大量输出信息使用俳句的形式(Haiku 翻译过来就是俳句,俳句是日本的三行诗,以其静谧、优雅、简洁著称,所以这是一款够诗意够文艺的系统),比如 BeOS 网络错误信息会有如下输出,此乃原文:
Sites you are seeking
From your path they are fleeing
Their winter has come.
译文(来自网络):
君所觅之站
正循君之所迹离失
恐已入休眠之季
对于这样的系统报错,即使当你遇到了网络问题,是不是哭笑不得啊?
当然 Haiku 操作系统并没打算真的写诗,而是用来表明团队对这个系统的热爱之情。
Haiku 操作系统的特点:
-
特别关注于个人计算
-
快速响应的定制内核
-
高效率多处理器/核心的多线程设计
-
用于快速开发的丰富的面向对象 API
-
支持元数据的类数据库文件系统(OpenBeFS)
-
统一严谨的接口