實時Web時代即將到來:不只谷歌推ter玩得起

openkk 12年前發布 | 7K 次閱讀 web

實時Web時代即將到來:不只谷歌推ter玩得起

實時 Web 時代即將到來

        北京時間 5 月 18 日消息,國外媒體近日發表文章稱,實時 Web 并不只是一種時尚,而是一種技術趨勢。將來,實時技術將成為一種默認技術,不是只有谷歌、非死book 和 推ter 才能玩得起。

        以下為文章內容摘要:

        實時 Web 并不只是一種時尚,而是一種技術轉移——即時訪問 Web。

        實時技術使 Web 應用變得更快,在某些情況下,幾乎與桌面應用沒有區別。

實時Web時代即將到來:不只谷歌推ter玩得起

德利斯勒“失敗版”MMO《小行星》

        實時技術最初的靈感來源很簡單——開發經典街機游戲《小行星》(Asteroids)的在線版本,不同的是可以多人同時在線游戲(MMO)。

        得益于強大的網絡后端的支持,在線版《小行星》需要支持數百人同時游戲。更重要的是,要做到實時效果,每個游戲玩家都能毫無延遲地看到每次射擊,每個動作。

        對于 Hacker news 社區而言,這是一件不幸的事情,因為他們最初發現,這根本無法實現,只是一個愚人節玩笑而已。

        不難理解,這讓不少游戲玩家感到失望,但是該創意聽起來確實可行。隨著技術的發展,似乎距離該目標已經不遠。例如 Node (用來編寫高性能網絡服務器的 JavaScript 工具包)的出現,使得用很少的幾臺服務器即可同時處理大量用戶的指令。此外還有 WebSocket 協議,使得用戶之間的持久連接變為可能。

        但 JavaScript 開發人員賽博·李-德利斯勒(Seb Lee-Delisle)仍然認為不可行,他認為,一旦真的推出 MMO 版《小行星》,其彈性和穩定性均無法保證,因為游戲要經常交換數據,調整設置,檢查沖突等。德利斯勒說:“告訴大家一個不好的消息,如果真的推出 MMO 版《小行星》,那么游戲也將很乏味。”

        MMO 版《小行星》成為現實

        而另一名開發人員維克拉姆·尼扎(Vikrum Nijjar)則希望將其作為一個挑戰,認為是可行的。幸運的是,尼扎與其他開發人員合作,已經開發出了使之變為現實的軟件 Firebase。這一次,尼扎的 MMO 版《小行星》變為了現實,同時也登上了 Hacker News 的首頁。

        盡管也略微有些缺陷,但卻保證了所有動作的實時顯現,做到了最小化延遲。

        “實時”是技術界頗受歡迎的一個流行語,是開發人員、商家和公共關系代表等用來描述一種體驗或即時在線互動的。例如,推ter 被贊許為實時信息源,非死book 也利用好友的更新和圖像實時更新用戶首頁,一個科技博客網站也承諾對內容進行實時更新。

        但是,在上述所謂的實時服務中,都存在延遲,短的幾秒鐘,長的幾分鐘。只是我們沒在意,或沒必要計較而已,因為我們最終獲得的內容仍具有價值, 讓我們滿意。盡管如此,事實上的延遲不可否認。在聊天或發表評論時,這些延遲是可以容忍的。但隨著數據的越來越復雜,在某些情況下,如大型多人同時在線游 戲,延遲是不可接受的。

        今天的許多互聯網應用的運行模式是:客戶端向服務器發送數據請求,然后從數據庫抽取數據。如果數據發生任何變化,應用自身需要再次與服務器進行核實,免得用戶手動刷新頁面。這種反復連接服務器的過程被稱為“輪詢”(polling)。

        但在實時環境下根本沒有輪詢,而是訂閱(subscriptions)。一個客戶端訂閱數據庫中的數據,無論何時當數據變化時,客戶端都將接到更新。這種變化無需輪詢,是因為它們是主動推送的,正如某些通知被推動給智能手機。

        15年出現一次轉變

        創建富媒體實時應用的 Web 框架 Meteor 聯合開發人員馬特·德波伽里斯(Matt Debergalis)稱:“我們當前正處在這種轉移時期,這種轉移通常每 15 年發生一次,所有代碼都要重新編寫。”

        德波伽里斯解釋道,在 20 世紀 70 年代至 80 年代初,軟件主要運行在大型主機和服務器上,用戶使用非智能設備連接。到了 80 年代后,客戶端-服務器模式出現,隨后互聯網誕生。

        德波伽里斯說:“大約 15 年后,Web 再次要求我們重寫所有軟件。因為我們將從桌面應用轉向新的模式,這一次軟件再次運行在服務器上。”但不同的是,這一次的終端是 Web 瀏覽器。

        如今,桌面軟件華麗的用戶界面正在消失,取而代之的是一些簡單的 Web 功能。從 Gmail 和 Rdio 即可看出這一變化,訪問終端是 Web 瀏覽器。

實時Web時代即將到來:不只谷歌推ter玩得起

Rdio 應用

        這就是實時連接,應用在外觀和表現上與桌面應用幾乎沒有區別,我們預計將來的互動也沒有區別。Rdio 就是一個出色的 Web 應用,在瀏覽器中運行,與在桌面上運行幾乎沒有區別。

        當然,實時技術并不是什么新鮮事物,低延遲的軟件和硬件,以及對信息的幾乎同步訪問已存在多年。但開發人員菲爾·萊格特(Phil Leggetter)稱:“沒有人在金融以外的領域使用。”

        萊格特稱,只是最近幾年,實時技術才從小眾領域走進大眾市場。推ter 是一個轉折點,使得信息可以被實時發現。但萊格特稱:“下一個目標是實時投遞。”

        經濟實惠的 Node

        與任何開發人員談論實時技術,都將不可避免地談到 Node。Node 是一款用來編寫高性能網絡服務器的 JavaScript 工具包,今天的許多實時應用都采用了 Node。

        當然,Node 也并非唯一的實現方法。推ter 服務器實時搜索結果使用的就是前端系統 Blender,后者依靠的是 Java 網絡框架 Netty。而 非死book 采用的是阿帕奇 Web 服務器和自主開發的 HipHop。

        不同的是,非死book、推ter 和谷歌不僅僅時發送和接收信息,他們還需要大量的計算能力來注釋、分析和返回數據。而一些小型開發人員的需求很簡單,使用 Node 較為實際。

        實時應用通常并不需要大量的計算能力,因為這些需求可以交給專業服務來解決,如亞馬遜的 EC2。相反,他們需要以最快速度移動、路由和連接大量數據的能力。

        這就是速度至關重要的原因。在德波伽里斯所說的 Web 瀏覽器終端世界,限制用戶體驗的只有兩個因素,數據傳輸速度和同時連接服務器的數量。而 Node 可以在很大程度上同時解決這兩大問題。

        對于 非死book 而言,這可能不是什么問題,因為他們對定制的 PHP 和阿帕奇服務很滿意,也擁有足夠的資金用來升級。但對于小型開發商或開發團隊而言,利用最少的資源開發出更具吸引力的實時體驗無疑至關重要。

實時Web時代即將到來:不只谷歌推ter玩得起

Firebase 四名開發人員

        前景光明

        經過多年的實時技術研究,開發人員萊格特對此持樂觀態度。他說,我們已經看到一些產品和服務,雖然沒有將實時作為賣點,但確實是依賴于實時技術,這是一件好事。

        萊格特說:“這意味著,我們開始看到實時技術的實際應用,而不僅限于理論。這項技術很酷,讓我們一起努力,充分挖掘其使用價值。”

        德利斯勒同樣持樂觀態度,稱 MMO 版《小行星》只是一個開始。他說:“實時技術將成為一種默認技術,不是只有谷歌、非死book 和 推ter 才能承受得起。”

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