開發桌面應用框架:atom-shell

jopen 11年前發布 | 25K 次閱讀 atom-shell

atom-shell是 GitHub 隨 Atom 一起開源的跨操作系統(Windows,Linux,MacOS X)的利用 Web 技術(Node.js、JavaScript、HTML 5)開發桌面應用的框架。Atom即構建在 atom-shell 之上。

與 Node-Webkit 的區別

atom-shell 和Node-Webkit很像,那么兩者有什么區別呢?

1. 程序入口

Node-Webkit 的程序入口是一個網頁,你在package.json中指定主頁,然后這個主頁會在瀏覽器中打開,作為應用程序的主窗口。

atom-shell 的程序入口則是一個 JavaScript 腳本,而不是直接指定一個 URL。你需要手動創建瀏覽器窗口,并通過相應的 API 加載 html 文件。你同時需要監聽窗口事件以便決定何時退出應用。

因此,atom-shell 更接近 Node.js 運行時,API 也更加底層,你可以利用 atom-shell 進行 web 測試,類似phantomjs

2. 編譯系統

atom-shell 使用libchromiumcontent訪問 Chromium 的 Content API,這樣編譯 atom-shell 的時候就不用編譯整個 Chromium (編譯 Chromium 非常費時)。

順便提一下,GitHub 開發者還創建了brightray庫,讓 libchromiumcontent 的使用更方便。

3. Node 集成

Node-Webkit 的 Node 集成需要給 Chromium 打補丁才能工作。atom-shell 通過集成 libuv loop 和 平臺的 message loop 避免給 Chromium 打補丁。

4. Multi-context

Node-Webkit 創造了 Node context 和 web context 的概念,而 atom-shell 沒有引入新的 context,而是直接使用 Node 的 Multi-context 特性(這一特性是 Atom 開發者贊助 Node 添加的)。

作者

GitHub 最初考察了 Node-Webkit,但是最終還是決定雇傭@zcbenz來開發想要的框架。于是 atom-shell 誕生了。

@zcbenz 真名趙成。

PS:網易也有開放了Hex,同樣是不滿意node-webkit,就自己做了套.


項目主頁:http://www.baiduhome.net/lib/view/home/1408504737334

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!