<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Electron 和 NW.js (原名 node-webkit) 在技術上的差異 __備注:Electron 的原名是 Atom Shell。__ 與 NW.js 相似,Electron 提供了一個能通過 JavaScript 和 HTML 創建桌面應用的平臺,同時集成 Node 來授予網頁訪問底層系統的權限。 但是這兩個項目也有本質上的區別,使得 Electron 和 NW.js 成為兩個相互獨立的產品。 __1. 應用的入口__ 在 NW.js 中,一個應用的主入口是一個頁面。你在 `package.json` 中指定一個主頁面,它會作為應用的主窗口被打開。 在 Electron 中,入口是一個 JavaScript 腳本。不同于直接提供一個URL,你需要手動創建一個瀏覽器窗口,然后通過 API 加載 HTML 文件。你還可以監聽窗口事件,決定何時讓應用退出。 Electron 的工作方式更像 Node.js 運行時。 Electron 的 APIs 更加底層,因此你可以用它替代 [PhantomJS](http://phantomjs.org/) 做瀏覽器測試。 __2. 構建系統__ 為了避免構建整個 Chromium 帶來的復雜度,Electron 通過 [`libchromiumcontent`](https://github.com/brightray/libchromiumcontent) 來訪問 Chromium 的 Content API。`libchromiumcontent` 是一個獨立的、引入了 Chromium Content 模塊及其所有依賴的共享庫。用戶不需要一個強勁的機器來構建 Electron。 __3. Node 集成__ 在 NW.js,網頁中的 Node 集成需要通過給 Chromium 打補丁來實現。但在 Electron 中,我們選擇了另一種方式:通過各個平臺的消息循環與 libuv 的循環集成,避免了直接在 Chromium 上做改動。你可以看 [`node_bindings`][node-bindings] 來了解這是如何完成的。 __4. 多上下文__ 如果你是有經驗的 NW.js 用戶,你應該會熟悉 Node 上下文和 web 上下文的概念。這些概念的產生源于 NW.js 的實現方式。 通過使用 Node 的[多上下文](http://strongloop.com/strongblog/whats-new-node-js-v0-12-multiple-context-execution/)特性,Electron不需要在網頁中引入新的 JavaScript 上下文。 [node-bindings]: https://github.com/electron/electron/tree/master/atom/common
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看