Node-CEF (NC.js) – 為你的 CEF 項目搭載上 Node.js 模塊
前言
說起來 SAO Utils 也有好幾個月沒有更新了,你們肯定以為這個找不到工作的死宅肯定進入了 吃飯—睡覺—追番—打游戲 的 NEET 模式對吧?
–沒錯, 你們還真猜對了。咳咳……
簡單來說,這個項目最初的目的就是為了給 SAO Utils 的網頁引擎加上適用于 JavaScript 的包管理系統,以及更多的可以讓網頁掛件開發者使用的系統接口,而無需學習高深的 C艸 或 COM 知識。之后又由于各種各樣的原因,這個目的最后以這個 CEF 擴展庫 形式實現了,下一個版本的網頁引擎插件馬上會集成本功能。
其實一開始要我寫這篇日志我是拒接的,因為我博客的讀者基本都沒興趣看這個,只是因為 Google 索引不到 Github 的項目才在博客寫方便索引的。
什么是 Node-CEF ?
Node-CEF 作為 CEF 的擴展庫,為你的 CEF3 項目提供 Node.js 底層的 C++ Binding。換句話說,通過使用 Node-CEF,可以使你的 CEF3 應用擁有 Node.js 大部分的功能,當然基本的 `require()` 函數及模塊系統也包含在內。
為什么選擇 Node-CEF ?
一直以來,Node.js + Web App 的開發模式都被 Node-Webkit(NW.js),Electron 等獨立應用開發框架獨占,也就是說,如果你希望在自己現有的應用上使用某些 Node.js 特性的話,不得不砍掉整個項目重新使用上述框架重新開發。這樣一來就非常尷尬了,工作量大不說,某些特殊的需求還無法滿足……而這個項目則是為解決這個問題而誕生了。
當然,把 Node.js 跟 CEF3 的源代碼雜交到一起的項目很早就出現了,例如 Cefode 這個。然而,由于這些項目過于繁多的依賴(Node.js 和 CEF3,一個大型一個巨型項目),沒有一個強大的開發團隊是不太可能維護下去的,所以這個項目也廢棄了很長時間。同時,這類合體項目都是基于源碼級別的,這意味著用戶必須花數小時自己去編譯一個 Chromium 級別的項目,或者由項目團隊生成各個平臺的 Binary……
Node-CEF 則是基于相對穩定的 CEF3 DLL Wrapper API,理論上替換任何版本、任何分支、任何 Chromium 核心的 CEF3 分發庫都可以直接支持,而無需對源碼做任何修改。可以,這很東方
Node-CEF 能做什么?
- 加載任意兼容 Node.js 的模塊;
- 使用 npm 管理及安裝包;
- 輕易地增加建模塊的 C++ 綁定接口;
- 使用 Chrome DevTools 對模塊進行 debugging。
目前可用的 Node.js 內建模塊請參見 Github 項目主頁。
Node-CEF 目前僅提供 Visual Studio 2005 的編譯項目,理論上支持 Windows, Mac, Linux,以及 CEF3 所有分支,不過由于沒有時間去測試其他分支和平臺,暫時無法提供支持。如果你有這個興趣或能力,請加入到本項目!
遇到問題?
我發現了 Bug
請在本頁留言或在 Github 提交一個 Issue。
我想加入到本項目
請直接在 Github 發起 Pull Request。
媽個雞,項目不維護,打什么游戲……趕緊繼續擼起來 腦殘JS 我需要它
什么時候出新的軟件
加油?。。。。。?!11
告訴我你的steam號唄,我加你好友
23333
GP,能把你的CEF資料給我嗎,有關于WebUI部分的嗎?謝謝
gp 把你打的游戲介紹一下吧2333333 最近我也進入了NEET模式……但是不知道玩什么
GTA5 d≡ω≡.
233333
還以為是進入現充模式了23333
苦逼的c#程序猿在圍觀
作為一個計算機學院的大學生,邏輯上可以理解說的什么,鍵盤上完全不能理解的菜雞路過。。。
GP君你是不是把href打成了herf
習慣 md 了忘了打 href