成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Google+開發團隊:提升頁面生成速度5大法寶

開發 前端
大家好,我是Google+基礎架構團隊的工程師(Mark Knichel)。早在7月份,當Joseph Smarr開發出了Ask Me Anything欄目后,很多人都想知道一些關于Google+技術架構方面的信息。我們幾個工程師覺得應該寫一些關于這個題目的文章,給大家分享。

對于Google+團隊,我們頭一個要認真處理的問題就是:頁面生成速度。在谷歌,我們十分在意速度,下面就是我們用來提升速度的5項技術。

1. 我們喜歡Closure

我們喜歡Closure。非常的。我們使用Closure類庫,模板以及編譯器來生成Google+所有頁面上的所有元素——包括驅動這些頁面的JavaScript。但真正讓我們獲得速度的是以下幾點:

— Closure模板即能用于Java也能用于JavaScript,生成的頁面即能在Server端運行,也能在瀏覽器里運行。通過這種方式,內容總是能理解展現,我們還可以在后臺加載JavaScript(“修飾”頁面,在頁面元素上掛載事件監聽器)

— Closure能讓我們在寫JavaScript腳本時仍然可以享用嚴格的類型和錯誤檢查,死代碼清除,跨模塊提示,以及其它的很多輔助優化便利。

(訪問 http://code.google.com/closure/ 來獲取更多關于Closure的信息)

2. 在正確的時間正確的使用JavaScript

為了管理驅動Google+的JavaScript,我們把它分割成小的模塊,這樣可以異步的分別加載它們。你只需要下載最少的必須的模塊。由兩種技術來實現這些:

◆ 客戶端保存歷史瀏覽記錄的信息(URL里的字符串信息代表這你當前處在某個頁面上),用這種方法來調配JavaScript模塊。

◆ 如果JavaScript沒有加載完成,這個頁面上的任何操作都會被禁止,直到加載完成。

這種技術框架也是Google+在客戶端頁面導航時避免重新加載頁面的技術基礎。

3. 頁面之間切換時避免刷新頁面

一旦JavaScript被加載,所有的頁面內容都使用JavaScript生成,不需要再到服務器端去取,這樣做效率更高些。我們設置了一個全局 的監聽器,監聽所有標記的點擊事件。如果允許的話,我們會把點擊轉化成頁面內部的切換。如果條件不允許,客戶端會生成這個頁面,如果你在鏈接上使用鼠標中 鍵或控制鍵的點擊,我們會讓瀏覽器按常規鏈接打開這個頁面。

頁面上錨標記總是指向一個常規的URL(例如,你在HTML5里的歷史記錄里的URL),這樣,你能容易的拷貝/分享這個頁面鏈接。

4. 部分(HTML)頁面塊刷新

在客戶端,一旦我們接收到部分數據,我們就立即生成這塊內容,讓它可見,不必等到整個頁面加載后才能顯示。

為了實現這些,我們通過:

◆ ***請求時,我們就把所有數據異步的取回

◆ 只有在需要生成這部分頁面數據時,才會遇到延遲現象

這種技術也能讓我們盡早的加載CSS,JavaScript,圖片以及其它資源,使網站更快,響應效果更好。

5. iFrame是我們的朋友

為了能并行的加載JavaScript,避免瀏覽器卡住(http://goo.gl/lzGq8),我在頁面的body標記的頂部的一個Iframe里加載JavaScript。在iframe里加載JavaScript增加了代碼的復雜度(通過Closure,我們很好的解決了這個問題),但是為了速度的提升,值得這樣做。

做一個解釋,你們也許注意到了我們是使用XHR,而不是使用style標記來加載CSS的 – 這并不是我們做的優化,這是做是因為我們達到了IE瀏覽器里每個樣式表文件里CSS選擇器的上限!

***注解

這些只是整個Google+面紗下事情如何運轉的一小部分介紹,我們以后會寫更多像這樣的文章。請在評論里留下你的想法!

譯者注:Mark Knichel發布了這篇文章后,很多人在評論里表達了不同的觀點,有些人認為iFrame是一種應該被淘汰的技術,有些人認為Closure template影響了程序的可維護性。但我反過來一些,這似乎正說明了谷歌的程序員在開發上享有很高的自由度,他們可以使用任何他們自己喜歡的技術。

原文:http://www.aqee.net/google-plus-infrastructure-team-talk-tech/

【編輯推薦】

  1. Google Cloud SQL完全試用指南
  2. Google Dart新結構化編程語言
  3. 揭秘Google與Facebook開發之道
  4. Google算法十年變遷史
  5. 硅谷“老黃忠”程序員:Google+設計者上榜
責任編輯:陳貽新 來源: 外刊IT評論
相關推薦

2018-05-05 09:00:40

生產效率

2019-08-30 10:54:48

數據中心開發DevOps

2018-10-18 12:42:24

2017-03-06 20:26:33

機器學習

2024-10-14 12:38:59

2011-07-22 13:55:48

架構

2010-08-31 14:17:15

無線網絡設計

2010-09-08 14:31:40

無線網絡設計

2018-03-19 15:26:23

數據庫Redis中間件

2010-04-30 15:01:40

2011-03-15 09:04:55

2010-01-13 13:26:41

Linux服務器維護

2012-05-15 09:59:04

Windows服務器管理

2009-10-26 18:41:05

VB.NET獲取硬盤信

2009-11-13 08:49:20

2011-08-08 09:49:18

Google+iCloud開發者

2011-11-01 09:14:10

Google ReadGoogle+

2011-05-12 09:09:57

DB2數據庫

2015-07-28 14:13:58

數據中心交換機

2019-08-30 08:33:59

Redis緩存高可用性
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美三级成人理伦 | 99在线播放 | 91影院| 91精品在线播放 | 国产伦精品 | 国产一区二区精品 | 国产精品免费在线 | 欧美精品在线一区二区三区 | 久久久免费少妇高潮毛片 | 色久电影| 一级毛片在线播放 | 青青草精品视频 | 日韩精品一区二区三区在线播放 | 91精品久久久久久久久久入口 | 国产精品九九九 | 在线免费亚洲视频 | 久久久久国产精品一区二区 | 亚洲中国字幕 | 国产成人精品一区二区三区网站观看 | 日韩中文一区二区三区 | 国产精品伦理一区二区三区 | 国产精品国产a级 | 一级a性色生活片久久毛片 午夜精品在线观看 | 中文在线视频 | 成人h动漫亚洲一区二区 | 亚洲免费久久久 | 夜夜夜久久久 | 亚洲一区二区三区视频免费观看 | 国产成人网 | 亚洲精品一区二区冲田杏梨 | 国产精品射 | 自拍偷拍中文字幕 | 伊色综合久久之综合久久 | 365夜爽爽欧美性午夜免费视频 | 在线观看免费av片 | 成人国产免费视频 | 亚洲一区二区三区高清 | 视频三区 | 超碰人人91| 日韩欧美操 | 亚洲第一在线 |