Haiku 操作系統現已支持Node.js
目前市面上大多數號稱跨平台(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)
- 統一嚴謹的接口