<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] # 第六章 歷史JavaScript的里程碑 JavaScript花了很長時間才能產生今天的影響。許多JavaScript相關技術存在一段時間,才被主流發現。 本節介紹從JavaScript創建到今天發生的情況。在整個過程中,只有最受歡迎的項目被提及,許多被忽略,即使它們是第一個。例如,列出了Dojo Toolkit,但也有不太為人知的[qooxdoo](http://qooxdoo.org/),它是在同一時間創建的。并列出了Node.js,即使[Jaxer](https://github.com/aptana/Jaxer)存在于它之前: **1997- [動態HTML](https://msdn.microsoft.com/en-us/library/ms533044(v=vs.85).aspx)** 動態HTML允許您動態更改網頁的內容和外觀。您可以通過操作頁面的文檔對象模型(DOM),樹形數據結構來實現此目的。你可以做的事情包括改變內容,改變風格,顯示和隱藏元素。動態HTML首先出現在Internet Explorer 4和Netscape Navigator 4中。 **1999- [XMLHttpRequest](http://www.w3.org/TR/XMLHttpRequest/)** 該API 允許客戶端腳本向服務器發送HTTP或HTTPS請求,并通常以文本格式(XML,HTML,JSON)獲取數據。它是在Internet Explorer 5中引入的。 **2001- [JSON](http://json.org/),一種基于javascript的數據交換格式** 2001年,Douglas Crockford命名并記錄了JSON(JavaScript Object Notation),其主要思想是使用JavaScript語法以文本格式存儲數據。JSON為對象,數組,字符串,數字和布爾值使用JavaScript文字來表示結構化數據。例如: ```json { "first": "Jane", "last": "Porter", "married": true, "born": 1890, "friends": [ "Tarzan", "Cheeta" ] } ``` 多年來,JSON已經成為XML的一個流行的輕量級替代品,特別是當結構化數據被表示而不是標記時。當然,JSON通過JavaScript很容易消費(參見第22章)。 **2004年 - [Dojo Toolkit](http://dojotoolkit.org/),一個用于編程大型JavaScript的框架** Dojo Toolkit提供了必要的基礎設施來促進大型編程:繼承庫、模塊系統、桌面樣式的圖形小部件的API等等。 **2005 - [Ajax](http://bit.ly/1oNW3Lf),基于瀏覽器的桌面級應用程序** Ajax 是一系列技術,為與桌面應用程序相媲美的網頁帶來了一定程度的交互性。2005年2月推出了一個可以通過Ajax實現的令人印象深刻的例子:Google Maps。此應用程序允許您平移和縮放世界地圖,但只有當前可見的內容已下載到瀏覽器。在Google Maps出來之后,Jesse James Garrett注意到它與其他互動網站分享了一些特質。他稱這些特質為Ajax,這是Asynchronous JavaScript和XML的縮寫。[ 7 ] Ajax的兩個基礎是在后臺異步加載內容(通過XMLHttpRequest),并通過動態HTML動態更新當前頁面(通過動態HTML)。不再是總是執行完全的頁面重新加載的情況,這可是一個相當大的易用性改進。 Ajax標志著JavaScript和動態Web應用程序的主流突破。有趣的是注意到,在這一點上,Ajax成分已經存在多年了。自從Ajax開始以來,其他數據格式已經變得流行(JSON而不是XML),使用其他協議(例如除了HTTP之外的Web Sockets),雙向通信也是可能的。但是基本的技術還是一樣的。然而,Ajax這個術語現在使用得更少,而且大部分已經被HTML5和Web Platform(這兩者都意味著JavaScript加瀏覽器API)的綜合術語所替代。 **2005 - [Apache CouchDB](http://couchdb.apache.org/),一個以JavaScript為中心的數據庫** 大概CouchDB是一個JSON數據庫:您可以提供JSON對象,而不需要提前指定模式。另外,您可以通過執行map / reduce操作的JavaScript函數來定義視圖和索引。因此,CouchDB非常適合JavaScript,因為您可以直接使用本機數據。與關系數據庫相比,沒有映射相關的阻抗不匹配。與對象數據庫相比,您避免了許多并發癥,因為只存儲數據,而不是行為。CouchDB只是幾個類似的[NoSQL數據庫](http://bit.ly/1oNYfCp)之一。他們大多數都有很好的JavaScript支持。 **2006- [jQuery](http://jquery.com/),幫助DOM操作** 該瀏覽器DOM是客戶端Web開發中最痛苦的部分之一。jQuery通過抽象瀏覽器的差異,并提供強大的流暢的API來查詢和修改DOM,從而使DOM操縱樂趣。 **2007- [WebKit](https://www.webkit.org/),采用移動網絡主流** 基于KDE以前的工作,WebKit是由蘋果公司于2003年推出的HTML引擎,它是2005年開放的。隨著iPhone在2007年的推出,移動網絡突然成為主流,幾乎沒有限制比較到非移動Web。 **2008- [V8](http://code.google.com/p/v8/),證明JavaScript可以快速** 當Google推出Chrome瀏覽器時,其亮點之一是一個名為V8的快速JavaScript引擎。它改變了JavaScript的緩慢感覺,使得其他瀏覽器供應商的速度競爭。V8是開源的,如果您需要一種廣為人知的快速的嵌入式語言,就可以將其用作獨立組件。 **2009- [Node.js](http://nodejs.org/),在服務器上實現JavaScript** Node.js可以實現負載良好的服務器。為此,它使用事件驅動,非阻塞I / O和JavaScript(通過V8)。Node.js創建者Ryan Dahl提到了選擇JavaScript的以下原因: * “因為它是裸機,并沒有I / O API。”[Node.js可以引入自己的非阻塞API。] * “Web開發人員已經使用它。”[JavaScript是一種廣為人知的語言,尤其是在Web上下文中。] * “DOM API是基于事件的。每個人都已經習慣了沒有線程和事件循環的運行。“[開發人員習慣于異步編碼風格。] Dahl能夠在事件驅動服務器和服務器端JavaScript(主要是[CommonJS](http://www.commonjs.org/)項目)的基礎上建立早期工作。 Node.js對JavaScript程序員的吸引力超出了以熟悉的語言編程的能力; 您可以在客戶端和服務器上使用相同的語言。這意味著您可以共享更多的代碼(例如,用于驗證數據),并使用諸如[同構JavaScript](http://bit.ly/1gWhLIs)的技術。同構JavaScript 是關于在客戶端或服務器上組合網頁,具有許多優點:頁面可以在服務器上呈現,以便更快的初始顯示,SEO,并且在不支持JavaScript或不太老版本的瀏覽器上運行。但是,它們也可以在客戶端上進行更新,從而產生更加靈敏的用戶界面。 **2009年 - PhoneGap,在HTML5中編寫本機應用程序** PhoneGap 由一家叫做Nitobi的公司創建,后來被Adobe收購。PhoneGap的開源基礎叫做Cordova。PhoneGap的最初任務是通過HTML5實現原生移動應用。此后,支持已擴展到非移動操作系統。目前支持的平臺包括Android,Bada,BlackBerry,Firefox OS,iOS,Mac OS X,Tizen,Ubuntu,Windows(桌面)和Windows Phone。除了HTML5 API之外,還有用于訪問本地功能(如加速度計,攝像頭和聯系人)的 PhoneGap專用API。 **2009 - [Chrome操作系統](http://bit.ly/1oO27U2),使瀏覽器成為操作系統** 使用Chrome操作系統,網絡 平臺是本地平臺。這種方法有幾個優點: 創建操作系統要容易得多,因為所有的用戶界面技術都已經存在。 很多開發人員(大多數)知道如何為操作系統編寫應用程序。 管理應用程序很簡單。這有助于公共設施,如網吧和學校。 的介紹 移動操作系統webOS(起源于Palm,現在由LG Electronics擁有)早于Chrome OS的推出,但是“與操作系統相似的瀏覽器”更為明顯(這就是為什么被選為里程碑)。webOS越來越少。更少,因為它非常專注于手機和平板電腦。更多,因為它有內置的Node.js,讓您實現JavaScript中的服務。網絡操作系統類別中最近的一個條目是Mozilla的Firefox OS,它面向手機和平板電腦。Mozilla的wiki提到了Web操作系統的好處: > 我們還需要一座山,以擴大和集中我們的努力。最近我們看到了pdf.js項目(通過HTML5渲染PDF,不需要插件)暴露了需要填充的小差距,以將“HTML5”作為PDF的超集。我們現在想要邁出更大的一步,找到那些讓網絡開發者們無法開發應用程序的漏洞——這些應用程序在每一個方面都與為iPhone、Android和WP7構建的本地應用程序相當。 **2011年[Windows 8](https://support.microsoft.com/zh-cn/products/windows),一流的HTML5應用程序** 當微軟推出Windows 8時,令操作系統廣泛整合HTML5的人感到驚訝。HTML5應用程序是Windows 8中的一流公民,與通過.NET和C ++等現有技術實現的一樣。為了表明這一點,微軟在HTML5中編寫了幾個重要的Windows 8應用程序(包括本機API的調用),包括應用程序商店和電子郵件應用程序。 [7] Ajax是一個縮寫,全稱為“Asynchronous JavaScript and XML”(異步JavaScript和XML)。 > [《JavaScript 20 年》](https://github.com/doodlewind/jshistory-cn)
                  <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>

                              哎呀哎呀视频在线观看