<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                V8給Chrome瀏覽器帶來一個強勁的心臟,使得它在瀏覽器大戰中脫穎而出,也使Ryan Dahl在評估后為選擇JavaScript增加了極大的權重。這里我們談談Node給JavaScrpt帶來的一個新局面。鑒于Node之前那些不給力的后端JavaScript實現,在性能和編程模型等方面沒能達到與其他語言一較高下的程度,這里先撇開不談,先談談Node與瀏覽器的對比。 Chrome瀏覽器和Node的組件構成如圖所示: ![](https://box.kancloud.cn/2016-08-25_57bdc8fa599f4.png) 瀏覽器中除了V8作為JavaScript引擎以外,還有一個WebKit布局引擎。HTML5在發展過程中定義了更多豐富的API。在實現上,瀏覽器提供了越來越多的新功能暴露給JavaScript和HTML標簽。這個愿景美好,但對于瀏覽器的發展現狀,HTML5標準統一的過程是相對緩慢的。JavaScript作為一門圖靈完備的語言,長久以來卻限制在瀏覽器的沙箱中運行,它的能力取決于瀏覽器中間層提供的支持有多少。 除了HTML、WebKit和顯卡這些UI相關的技術沒有支持外,Node的結構與Chrome十分相似。 它們都是基于事件驅動的異步架構,瀏覽器通過事件驅動來服務界面上的交互,Node通過事件驅動來服務 I/O ,這個細節將在第3章中詳述。在Node中,JavaScript可以隨心所欲的訪問本地文件,可以搭建WebSocket服務器端,可以連接數據庫,可以如Web Workers一樣玩轉多進程。如今,JavaScript可以運行在不同地方,不再繼續限制在瀏覽器中與CSS樣式表、DOM樹打交道。如果HTTP協議棧是水平面,Node就是瀏覽器在協議棧另一邊的倒影。Node不處理UI,但用和瀏覽器相同的機制和原理運行。Node打破了過去JavaScript只能在瀏覽器運行的局面。前后端編程環境統一,可以大大降低前后端轉換所需要的上下文交換代價。 對于前段工程師,自己熟悉的JavaScript如今竟然可以在另一個地方放出異彩,僅僅因為好奇,就值得去關注和探索它。 > 隨著Node的出現,關于JavaScript的想象總是無限的。目前,社區已經出現node-webkit這樣的項目,這個項目在2012年的滬JS會議上首次介紹給公眾。如同上文提及的關于瀏覽器的優勢和限制,在node-webkit項目中,它將Node中的事件循環和WebKit的事件循環融合在一起,既可以通過它享受HTML、CSS帶來的UI構建,也能通過它訪問本地資源,將兩者的優勢整合在一起。桌面應用程序的開發可以完全通過HTML、CSS、JavaScript完成。
                  <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>

                              哎呀哎呀视频在线观看