1. 程式人生 > >NodeJS無所不能:細數10個令人驚訝的NodeJS開源專案

NodeJS無所不能:細數10個令人驚訝的NodeJS開源專案

在幾年的時間裡,NodeJS逐漸發展成一個成熟的開發平臺,吸引了許多開發者。有許多大型高流量網站都採用NodeJS進行開發,像PayPal,此外,開發人員還可以使用它來開發一些快速移動Web框架。

除了Web應用外,NodeJS也被應用在許多方面,本文盤點了NodeJS在其它方面所開發的十大令人神奇的專案,這些專案涉及到應用程式監控、媒體流、遠端控制、桌面和移動應用等等。

NodeOS是採用NodeJS開發的一款友好的作業系統,該作業系統是完全建立在Linux核心之上的,並且採用shell和NPM進行包管理,採用NodeJS不僅可以很好地進行包管理,還可以很好的管理指令碼、介面等。目前,Docker和Vagrant都是採用NodeOS的首個版本進行構建的。

這裡寫圖片描述

許多硬體黑客希望通過Web頁面即可控制他們的Arduino,Noduino就是這樣的一個專案,一個簡單靈活的JavaScript和NodeJS框架,通過使用HTML5、Socket.IO和NodeJS的Web應用來控制Arduino。目前,該專案剛剛啟動,支援一些常用功能,比如從Arduino中捕獲事件(例如點選按鈕)等。

這裡寫圖片描述

Node-Webkit是一個基於Chromium與NodeJS的應用程式執行器,允許開發者使用Web技術編寫桌面應用。它是NodeJS與WebKit技術的融合,提供一個跨Windows、Linux平臺的客戶端應用開發的底層框架。

跨平臺開發並非易事,其中一種方式便是使用Web技術和Node-Webkit開發桌面應用來代替那些龐大且笨重的開發框架。

這裡寫圖片描述

PDFKit是採用NodeJS開發的一款PDF文件生成庫,它使用一個“Html5 canvas-like API”來建立向量圖形和字型嵌入,並且支援許多標準的PDF功能,如檔案的安全性、表的建立、文字換行、專案符號、高亮提示、註釋等PDF功能。

注意,PDFKit是一款PDF生成工具,而不是一個文件轉換系統。如果你想對現有的PDF文件進行操作,你可以使用另一個NodeJS專案—— Scissors。

這裡寫圖片描述

Log.io是一個基於NodeJS開發的實時日誌監控專案,在瀏覽器裡訪問。需要注意的是,Log.io只監視日誌變動並不儲存日誌,不過這個沒關係,只要知道日誌儲存在哪個機器上。

Log.io使用 Socket.io庫傳送活動報告的,和其他的監控工具一樣,Log.io也採用伺服器-客戶端的模式。Log.io由兩部分組成:server和harveste,server執行在機器 A(伺服器)上監視和紀錄其他機器發來的日誌訊息;log harvester 執行在機器 B(客戶端)上用來監聽和收集機器 B上的日誌改動,並將改動傳送給機器 A,每個需要紀錄日誌的機器都需要一個harvester。

這裡寫圖片描述

受谷歌Chromecast技術的啟發,開發者使用NodeJS開發出不少Chromecast模擬應用。如Nodecast或Leapcast。在PC上執行Nodecast或Leapcast,啟動移動裝置,選擇一個支援Chromecast的應用程式,然後你就可以把移動廣播上的內容對映到電腦上了,把電腦當成一個流媒體使用。

在這兩個應用中,Nodecast比較簡單些,但相應的功能也比較少,它僅經過了YouTube和Google Music的測試( DEMO)。注意,大家不要把Nodecast與 Nodecast庫混淆,後者使用DIAL發現協議提供連結裝置(類似Chromecast)。

這裡寫圖片描述

Nexe

Nexe是一款小巧卻非常實用的NodeJS工具,它可以為NodeJS應用建立單一可執行的檔案,並且無需安裝執行時,這樣,一些非技術終端的使用者就無需變動NodeJS應用的所有依賴程式。如果你想釋出一個NodeJS應用程式,並且沒有GUI,Nexe則是您的最佳選擇。目前該應用程式的一個弊端是不能在Windows平臺上工作,只適用於Linux和Mac OS X平臺,並且它也不支援本地NodeJS模組。

這裡寫圖片描述

Hyro

Hyro是使用NodeJS開發的一款實時HTML5編輯器,如下圖所示,左邊顯示HTML原始碼,右邊顯示內容。語法高亮由 CodeMirror提供。Hyro並不打算成為一款成熟的Web IDE,更像是一款輕量級的HTML或CSS記事本。

這裡寫圖片描述

Haroopad是一款Linux上的markdown編輯器,使用Chromium作為UI,支援Windows、Mac OS X和Linux。主題樣式豐富,語法標亮支援54種程式語言。 如下圖所示,一邊是程式碼編輯視窗,一邊是預覽視窗,可以實時更新。其郵件匯出功能可以將文件傳送到Tumblr和Evernote。

這裡寫圖片描述

TiddlyWiki是一款互動式的wiki,非常靈活,它也可以在瀏覽器裡作為單一的HTML檔案或者是一款功能強大的NodeJS應用程式。

TiddlyWiki5是全新設計的5.0版本,它可以直接整合NodeJS解鎖一系列的功能,但在單機模式下是不可用的。目前,TiddlyWiki5仍處於測試階段。

這裡寫圖片描述