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

2010 Web前端技術(shù)趨勢及總結(jié) Facebook摘全明星MVP

開發(fā) 前端
經(jīng)過這段時間國內(nèi)(百度,淘寶,新浪等)及國外(Facebook,Youtube,Yahoo等)各大公司的集中自曝,我們可以從中總結(jié)出2010 Web前端技術(shù)的一些趨勢。

經(jīng)過這段時間國內(nèi)(百度,淘寶,新浪等)及國外(Facebook,Youtube,Yahoo等)各大公司的集中自曝,我們可以從中總結(jié)出2010 Web前端技術(shù)的一些趨勢。總的來說,隨著后端技術(shù)(存儲,并發(fā),分布式)的成熟,各大公司已經(jīng)把重點(diǎn)從后端架構(gòu)調(diào)整/建設(shè)轉(zhuǎn)移至前端(TTI時間,快速發(fā)布,帶寬利用率)。

作為明星技術(shù)的HTML 5/CSS 3,都未正式成為各公司的考慮重心,雖有所嘗試,但在關(guān)鍵功能上,均未成為主力。這也W3C對當(dāng)前HTML 5/CSS 3標(biāo)準(zhǔn)現(xiàn)狀的表述:“不適宜用作生產(chǎn)環(huán)境”一致。

Web前端技術(shù)的范圍

1. 編程語言/技術(shù)(HTML,JavaScript,CSS等)

2. 跨瀏覽器兼容性/支持(JS Framework,CSS Library)

3. 網(wǎng)絡(luò)傳輸性能(并行下載,帶寬利用率)

4. 瀏覽器渲染時間/性能(TTI即用戶可交互前等待時間,JS執(zhí)行性能)

個人感覺,F(xiàn)acebook無疑又成為了技術(shù)上的明星,在大家還在感慨其對于PHP的重大改進(jìn)HipHop(Blocked inside China mainland)的時候,今年Facebook又在前端技術(shù)方面給大家?guī)砹梭@喜。

Facebook面臨的問題

500M(Million)注冊用戶,50%每天至少訪問一次,用戶平均每日在線時間為5小時25分鐘。帶寬及服務(wù)器壓力均很大。

Facebook的解決方案

Quickling

Facebook提出了一個新名詞Ajaxify,顧名思義,就是將傳統(tǒng)的POST/GET轉(zhuǎn)換為Ajax請求。優(yōu)點(diǎn)顯而易見,首先減少了不必要的HTML傳輸,只請求和渲染頁面需要更新的部分,這就相應(yīng)減少了所需傳輸?shù)膬?nèi)容加快了內(nèi)容送達(dá)至用戶的時間。并且也減少了服務(wù)端對HTML的不必要的渲染。Facebook也提到了可以減少session的重復(fù)load/unload。

使用Ajax也許不是什么新鮮的新聞,大家拒絕這項(xiàng)技術(shù)的原因可能很大程度基于SEO的需求。解決方案也很簡單,將Ajax只是作為提高用戶體驗(yàn)的手段,而不是瀏覽網(wǎng)站必須的方法,即可解決SEO的問題(P.S. Facebook不需要SEO)。

整套方案包括:Link Controller, HistoryManager, BootLoader, Busy Indicator, CSS Unloading, Permanent link support, Resetting timer functions。這些方案本身沒有什么特殊的,大部分都可以顧名思義,需要解釋一下的可能是link controller,其含義是將標(biāo)準(zhǔn)的HTML LINK請求轉(zhuǎn)換為Ajax請求(通過綁定click事件)。Facebook的可貴之處是提供了這一整套完整的解決方案,***程度上保證了網(wǎng)站的可用性。

效果:

提高了10%-30%的網(wǎng)站傳輸時間,并提高了20%-30%的服務(wù)端頁面渲染速度。

使用范圍:

45%的Facebook頁面使用了此項(xiàng)技術(shù)。

PageCache

簡單的說,就是將訪問過的頁面緩存在客戶端。但我們知道,作為Facebook這樣交互性很強(qiáng)的網(wǎng)站,需要保障用戶能盡早的獲得更新后的信息,而不是給用戶展示一個毫無意義的過期頁面。

Facebook設(shè)計了一個框架來識別一個頁面是否來自于緩存(猜測:頁面***加載完畢后將所有Ajax的Callback和Result緩存在本地。Facebook頁面是基于Ajax獲取頁面內(nèi)容),若來自于緩存,通過Ajax來更新所需更新的模塊(猜測:通過JavaScript預(yù)先定義本頁面所需更新的div Id及對應(yīng)的callback handler,并在頁面下載時同時下載下來)。

其提到了三種更新類型:增量更新,用戶復(fù)寫(例如用戶在頁面上回復(fù)了一則評論)及跨頁更新(例如在消息詳細(xì)頁面將一則消息標(biāo)識為已讀,需將首頁的未讀消息數(shù)進(jìn)行更新)。核心思路還是依據(jù)Ajax進(jìn)行更新。具體思路為:

增量更新:只要頁面來自于緩存,即更新所有預(yù)定義的需增量更新的模塊。

用戶復(fù)寫:通過HistoryManager記錄用戶操作并在cache頁面讀取后重放所有被標(biāo)記為“replayable”的操作。

跨頁更新:通過服務(wù)端Database API發(fā)送信號至客戶端將過期緩存標(biāo)識為invalid(不清楚如何實(shí)現(xiàn)。也許是DB端提供一個開放的webservice,客戶端通過Ajax持續(xù)訪問此API來獲得此信息)。獲得了緩存過期信號后,通過Ajax更新需要更新的信息。

Facebook順帶提到了一個更新Ajax內(nèi)容避免頁面變化/閃爍的小技巧,就是先將需更新的地方設(shè)置為blank,而非直接更新其內(nèi)容。

效果:

加速了10倍的網(wǎng)站響應(yīng)時間并節(jié)約了20%的服務(wù)端頁面渲染成本。

BigPipe

此項(xiàng)技術(shù)通過將頁面分割為各個Pagelets的方式,將整張頁面的獲取/渲染變成了并行的方式(感覺非常像iframe sets,但Facebook使用Ajax實(shí)現(xiàn)。)。此項(xiàng)技術(shù)是Quickling和PageCache的基石。此技術(shù)包含了服務(wù)端/客戶端兩方面,在前后端均打破了以往頁面的渲染形式。

實(shí)現(xiàn)細(xì)節(jié):

Pagelet的Response為JSON格式,包括id,css,js,content,onload等屬性及相應(yīng)內(nèi)容,收到后會通過預(yù)定義好的JS function來進(jìn)行渲染。

Pagelet提供的高級功能:Pagelet的繼承,Phased Rendering(猜測:依據(jù)規(guī)則渲染,也就是依據(jù)Pagelet的Response進(jìn)行渲染),跨Pagelet依賴(數(shù)據(jù)依賴,顯示依賴,JS依賴)。

BigPipe的三種模式:

◆一次渲染模式:即普通模式,支持搜索引擎,用來支持那些不支持JS的客戶端。

◆管線模式:即并行模式,并行請求,并即時渲染。

◆并行模式:并行請求,但在獲得所有請求的結(jié)果后再渲染。

效果:

提高了2倍的頁面響應(yīng)時間。

擴(kuò)展閱讀:世界***的PHP站點(diǎn) Facebook后臺技術(shù)探秘

YouTube面臨的問題

每天2Billion的訪問。每分鐘上傳35小時的內(nèi)容。可YouTube需要即時播放視頻!越快越好。

YouTube解決方案

1. 將JavaScript引用位置從頁首移至頁尾。

2. 直接嵌入Flash Player(YouTube之前使用JS來加載Flash Player)。通過頁尾的JS來判斷客戶端的Flash版本(或不支持Flash),來替換預(yù)先嵌入的Flash Player或內(nèi)容(如果需要的話),用來支持特定的客戶群。

效果:頁面渲染時間從~400ms降低為~200ms。Flash播放時間從~1200ms降低為~1100ms。

3. 預(yù)加載視頻連接: 通過使用JavaScript創(chuàng)建Image引用視頻內(nèi)容來與解析DNS并預(yù)開啟一個connection供之后使用。

效果:建立視頻連接的總時間從~260ms降低為~180ms。

4. 提供簡化版:這個很無聊,就是提供一個簡版。

效果:頁面加載時間從~1750ms降低為~1100ms。

5. UIX Widget系統(tǒng):延遲加載非關(guān)鍵內(nèi)容。其實(shí)整段沒什么新意,大部分省略,無非是通過Ajax在頁面渲染完后再來動態(tài)加載非關(guān)鍵內(nèi)容。比較特別的是利用JS的事件冒泡,在最上層用一個handler來處理各種事件(優(yōu)點(diǎn)不詳。。也許只是代碼比較簡潔集中吧),通過CSS來標(biāo)識和識別對應(yīng)的handler。

Yahoo Mail

Yahoo如何構(gòu)建下一代的Mail系統(tǒng)?答案就是通過YUI3。Yahoo的技術(shù)絕對是***的,其已經(jīng)將Web前端技術(shù)發(fā)展到一個非常成熟的地步,照顧到Web的方方面面(數(shù)據(jù)壓縮,模塊化,高效CSS,非阻礙式JavaScript加載,靜態(tài)內(nèi)容提供,利用瀏覽器Cache等等),所以也鮮有創(chuàng)新了。某種程度上來說,F(xiàn)acebook的一些所謂創(chuàng)新也不過是后知后覺,Yahoo早已考慮并實(shí)現(xiàn)了這些方案,只是也許不是那么有針對性而已。

Baidu

感覺整體傾向于組織結(jié)構(gòu)介紹及一些比較過時的內(nèi)容。

Taobao

還在討論一些何時使用Ajax,何時不使用的問題。

相反的,淘寶的精益測試倒是引起了我的興趣,出自微軟的淘寶員工鶴云講述了淘寶是如何進(jìn)行CI(持續(xù)集成)的。有一些經(jīng)驗(yàn)例如代碼覆蓋率測試也給人一些啟發(fā)。

新浪博客

也是一些組織架構(gòu),開發(fā)方式的內(nèi)容。介紹了一下新浪自己的JavaScript框架。并無太多亮點(diǎn)。

大概就總結(jié)了這么多吧,感覺還是國外在主導(dǎo)。國內(nèi)也在越來越重視這個方向,一些有實(shí)力的企業(yè)也做出了一些成績,但還是與國際潮流有差距,也許是重視程度的區(qū)別吧。歡迎大家補(bǔ)充討論。

【編輯推薦】

  1. Web設(shè)計潮流的五大趨勢
  2. Web顯老了?傳統(tǒng)Web開發(fā)模式或已走到盡頭
  3. JavaScript已成Web之王?Java情緒穩(wěn)定
  4. Web前端應(yīng)用常用技術(shù)大盤點(diǎn)
  5. 世界***的PHP站點(diǎn) Facebook后臺技術(shù)探秘
責(zé)任編輯:王曉東 來源: 博客
相關(guān)推薦

2010-01-21 23:32:09

GartnerIT趨勢

2010-03-11 09:50:42

GartnerIT技術(shù)趨勢

2012-03-22 10:05:00

Linux開源OS

2025-01-13 17:15:08

2009-12-29 09:24:16

WEB開發(fā)

2015-07-15 20:00:09

2010-04-27 09:40:46

2024-11-06 13:53:55

2010-04-27 10:25:59

2013-05-14 13:18:03

SDN思科NBA

2024-05-15 09:15:34

Vue環(huán)境3D

2019-01-04 14:26:06

Web開發(fā)趨勢

2019-12-24 08:33:08

前端開發(fā)語言

2019-07-18 15:20:22

前端技術(shù)PWA

2018-03-23 18:07:20

存儲

2011-12-16 14:05:44

微軟MVP云計算

2014-07-26 13:24:54

華為譽(yù)天HCIE-Storag

2022-09-08 16:31:17

前端Web

2017-05-24 10:42:43

Web前端自動化

2010-10-22 16:12:42

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久精品国产99国产精品 | 久色激情 | 欧美精品中文字幕久久二区 | 国产精品久久久久久久久久 | 99热视 | 中文在线一区二区 | 天天视频一区二区三区 | 成人影院av| 欧美日韩亚洲国产综合 | 少妇一区在线观看 | 欧美久久一级特黄毛片 | 毛片网站在线观看视频 | 国产三区视频在线观看 | 4hu最新网址 | 欧日韩在线观看 | 中文字幕加勒比 | 午夜精品久久久久久不卡欧美一级 | 欧美日韩精品中文字幕 | 成人一区二区三区 | 亚洲一区二区三区在线播放 | 免费看一级毛片 | 中文字幕视频三区 | 日本人和亚洲人zjzjhd | 精品亚洲国产成av人片传媒 | 视频一区二区国产 | 日韩a v在线免费观看 | 毛片在线看看 | 色综合一区 | 久久国产综合 | 中日av| 久久av一区二区 | 日韩免费在线观看视频 | 亚洲第一视频网 | 亚洲精品成人网 | 国产三级| 伊人啪啪网 | 国产片侵犯亲女视频播放 | 亚洲精品一区二区另类图片 | 久久久久久电影 | 丁香婷婷在线视频 | 天堂在线免费视频 |