精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

JavaScript寶座:七大框架論劍

開發(fā) 前端
一周前,Throne of JS大會(huì)在多倫多召開,這次大會(huì)邀請了七大JavaScript框架/庫的創(chuàng)建人,他們濟(jì)濟(jì)一堂,面對面交流各自的技術(shù)理念。所謂七大框架/庫分別是:AngularJS、Backbone、Batman、CanJS、Ember、Meteor、Knockout、Spine。

李松峰博客:http://www.cn-cuckoo.com/

一周前,Throne of JS大會(huì)在多倫多召開,這應(yīng)該是我參加過的最有料也最不一樣的一次大會(huì)。大會(huì)官網(wǎng)如是說:

加載整個(gè)頁面,然后再“漸進(jìn)增強(qiáng)”以添加動(dòng)態(tài)行為,這種構(gòu)建Web應(yīng)用的方式已經(jīng)不夠好了。要想讓應(yīng)用加載快,反應(yīng)靈敏,而且又引領(lǐng)潮流,必須徹底檢討你的開發(fā)手段。

這次大會(huì)邀請了七大JavaScript框架/庫的創(chuàng)建人,他們濟(jì)濟(jì)一堂,面對面交流各自的技術(shù)理念。所謂七大框架/庫分別是:AngularJS、Backbone、Batman、CanJS、Ember、Meteor、Knockout、Spine。

聲明:我在會(huì)上講Knockout,因此我的觀點(diǎn)顯然不是中立的。在這篇文章中,我重點(diǎn)討論這些創(chuàng)建人的思路和技術(shù)理念,盡量不提我贊成或反對什么。

沒錯(cuò),是8個(gè)框架,不是7個(gè)。但到底怎么回事兒,會(huì)議主辦方也沒有明確給我們解釋過……

enter image description here

文章可長啦,先概述一下:

  • 對許多Web開發(fā)人員來說,要構(gòu)建富Web應(yīng)用,使用客戶端框架是理所當(dāng)然的。如果你什么框架也沒用,那要么你不是在做應(yīng)用,要么就會(huì)錯(cuò)過很多好東西。
  • 在使用方法上,這些框架很多地方都是一致的(模型-視圖-*架構(gòu)、聲明綁定,等等——詳見下文) ,因此從某種意義講,無論你選擇哪一個(gè),都能得到同樣的好處。
  • 理念上還是有不少差異,特別是在對框架和庫的看法上,分歧格外大。你的選擇會(huì)深刻影響你的架構(gòu)。
  • 會(huì)議本身活潑,新穎,技術(shù)小組之間有很多交流和對話。我希望能有更多類似的會(huì)議。

技術(shù):共識(shí)與分歧

隨著每個(gè)SPA(Single Page Application,單頁應(yīng)用)技術(shù)的逐一展示,一些相當(dāng)明顯的相似性和差異性浮出了水面。

共識(shí):漸進(jìn)增強(qiáng)不能建立真正的應(yīng)用

各技術(shù)門派一致認(rèn)為,真正的JavaScript應(yīng)用必須有適當(dāng)?shù)臄?shù)據(jù)模型,并具備客戶端渲染能力,而絕不僅僅是服務(wù)器處理數(shù)據(jù)再加上一些Ajax和jQuery代碼那么簡單。

用Backbone創(chuàng)建人Jeremy Ashkenas的話說:“現(xiàn)如今,你說‘單頁應(yīng)用’,都跟說‘不用馬拉的車’差不多了”(意思是,早已經(jīng)沒那么新鮮了)2

“不用馬拉的車”(horseless carriage)是汽車剛剛發(fā)明的時(shí)候,人們對它的稱呼。——譯者注

共識(shí):模型-視圖-某某

所有技術(shù)門派都堅(jiān)持模型-視圖分離。有的強(qiáng)調(diào)MVC(Model View Control),有的提到MVVM(Model View ViewModel),甚至有人拒絕明確說出第三個(gè)詞兒(只提模型、視圖,然后加上讓它們協(xié)調(diào)運(yùn)作的東西)。對各門派而言,最終結(jié)果其實(shí)是相似的。

共識(shí):推崇數(shù)據(jù)綁定

除了Backbone和Spine之外,其他框架都在自己的視圖里內(nèi)置了聲明數(shù)據(jù)綁定的機(jī)制(Backbone的設(shè)計(jì)理念強(qiáng)調(diào)讓用戶“自選視圖技術(shù)”)。

共識(shí):IE6已死

在小組討論中,大多數(shù)框架的創(chuàng)建者說,他們對IE瀏覽器的支持只限于7+(事實(shí)上,Ember和AngularJS的起點(diǎn)是IE8,Batman需要ES5“墊片”才能在IE9之前的IE版本中使用)。這也是大勢所趨:jQuery 2已經(jīng)不打算支持IE9以下的舊版本IE了

只有Backbone和Knockout還堅(jiān)定支持IE6+(我不清楚Backbone的內(nèi)部實(shí)現(xiàn),但Knockout會(huì)把IE6/7那些令人抓狂的渲染及事件方面的怪異行為屏蔽掉)。

共識(shí):許可和源代碼控制

大家都使用MIT許可,并且托管在GitHub上。

分歧:庫與框架

這是目前最大的分歧。下表對JavaScript庫和框架進(jìn)行了歸類:

JavaScript庫

JavaScript框架

Backbone(9552) Ember(3993)
Knockout(2357) AngularJS(2925)
Spine(2017) Batman(958)
CanJS(321) Meteor(4172)——了不起,見下文

*括號(hào)中的數(shù)字是最近某個(gè)時(shí)間點(diǎn)GitHub上的關(guān)注者數(shù)量,粗略地代表各自的影響力。

什么意思呢?

  • JavaScript庫,插到既有架構(gòu)中,補(bǔ)充特定功能。
  • JavaScript框架,提供一個(gè)架構(gòu)(文件結(jié)構(gòu)啊,等等),你必須遵守它,只要你遵守,那剩下的就全都是處理通用需求了。

目前來看,鼓吹框架模型最賣力氣的是Ember,其創(chuàng)建人Yehuda Katz之前是(理念相似的)Rails和SproutCore項(xiàng)目的開發(fā)者。他的觀點(diǎn)是,缺少任何組件都不夠給力,都不能說是真正在推動(dòng)技術(shù)進(jìn)步。相反的觀點(diǎn)說,庫的目的更明確,因而更容易掌握、采用、定制,也有助于把項(xiàng)目風(fēng)險(xiǎn)降到最低,畢竟你的架構(gòu)不會(huì)嚴(yán)重依賴任何一個(gè)外部項(xiàng)目。根據(jù)我參加對話的情況看,現(xiàn)場觀眾也分成了兩派,有支持框架的,也有支持庫的。

請注意,AngularJS可以說是介于庫和框架之間一種形態(tài):它不要求開發(fā)時(shí)遵守特定的文件組織方式(與庫類似),但在運(yùn)行時(shí),它提供一個(gè)“應(yīng)用生命周期”,可以對號(hào)入座地把代碼安排進(jìn)去(與框架類似)。之所以把它歸入框架之列,是因?yàn)锳ngularJS團(tuán)隊(duì)樂于接受這個(gè)說法。

分歧:靈活,還是整合

每個(gè)技術(shù)門派都有不同程度的強(qiáng)制性規(guī)定:

  視圖 URL路由 數(shù)據(jù)存儲(chǔ)
AngularJS 內(nèi)置基于DOM的模板(強(qiáng)制) 內(nèi)置(可選) 內(nèi)置系統(tǒng)(可選)
Backbone 自選(最常用的是基于字符串的模板庫handlebars.js) 內(nèi)置(可選) 內(nèi)置(可重寫)
Batman 內(nèi)置基于DOM的模板(強(qiáng)制) 內(nèi)置(強(qiáng)制) 內(nèi)置系統(tǒng)(強(qiáng)制)
CanJS 內(nèi)置基于字符串的模板(強(qiáng)制) 內(nèi)置(可選) 內(nèi)置(可選)
Ember 內(nèi)置基于字符串的模板(強(qiáng)制) 內(nèi)置(強(qiáng)制) 內(nèi)置(可重寫)
Knockout 內(nèi)置基于DOM的模板(可選,也可以用基于字符串的模板) 自選(大都使用sammy.js或history.js) 自選(如knockout.mapping或只用$.ajax)
Meteor 內(nèi)置基于字符串的模板(強(qiáng)制) 內(nèi)置(強(qiáng)制?不確定) 內(nèi)置(Mongo,強(qiáng)制)
Spine 自選基于字符串的模板 內(nèi)置(可選) 內(nèi)置(可選?不確定)

不難想見,只要某個(gè)庫在某方面是開放的,他們的人就會(huì)強(qiáng)調(diào)只有這樣才能從總體上確保跟第三方庫兼容。同樣,顯而易見的反對意見則是,只有內(nèi)置才能保證無縫整合。再次,根據(jù)我參加的對話,現(xiàn)場觀眾也各持己見,說什么的都有,基本上可以看出每個(gè)人對其他技術(shù)組合的了解程度。

Ember的Tom Dale說:“我們加入了很多魔法,但都是有用的魔法,換句話說,它們可以分解為常規(guī)的操作原語。”

分歧:基于字符串的模板與基于DOM的模板

(請參考上面的表格。)對基于字符串的模板,大家?guī)缀醵歼x擇Handlebars.js作為模板引擎,它儼然成了這個(gè)領(lǐng)域的霸主,當(dāng)然CanJS用的是EJS。對基于字符串的模板,支持的人認(rèn)為“它更快”(不一定),而且“理論上,服務(wù)器也可以處理它”(也不一定,因?yàn)榍疤岜仨毷窃诜?wù)器上運(yùn)行所有模型代碼,而實(shí)踐中根本沒人那么做)。

而基于DOM的模板呢,意味著純粹通過在實(shí)際標(biāo)記中綁定來控制流程(each、if,等等),且不依賴任何外部模板庫。支持的聲音有“它更快”(不一定),另外“代碼易讀、易寫,且標(biāo)記與模板之間沒有隔閡,CSS如何與之交互也一目了然。”

在我看來,最有吸引力的說法來自AngularJS那幫家伙,他們認(rèn)為在不久的將來,基于DOM的模板會(huì)得到瀏覽器原生支持。所以我們最好現(xiàn)在就用,從而可以輕松應(yīng)對未來。AngularJS來自Google,所以他們在開發(fā)Chromium時(shí)會(huì)考慮這一點(diǎn),而且也會(huì)說服標(biāo)準(zhǔn)主體接納這個(gè)建議。

分歧:服務(wù)器中立到什么程度

Batman和Meteor明顯依賴服務(wù)器:Batman是為Rails設(shè)計(jì)的,而Meteor本身就是服務(wù)器。其他大多數(shù)都追求服務(wù)器中立。但實(shí)際上,Ember的架構(gòu)、強(qiáng)制性規(guī)定,以及某些工具都傾向于Rails開發(fā)者。當(dāng)然,Ember絕對也能跟其他服務(wù)器技術(shù)搭配,只不過眼下還需要較多手工配置。

技術(shù)門派概覽

以下是所有JavaScript庫/框架的基本技術(shù)細(xì)節(jié)。

Backbone

  • Who: Jeremy Ashkenas和DocumentCloud。
     
  • What:
    + 用JavaScript實(shí)現(xiàn)模型-視圖,MIT許可。
    + 只有一個(gè)文件,1000行代碼,在所有庫中最小!
    + 功能極其專一,只提供REST可持久模型及簡單路由和回調(diào)(以便你知道何時(shí)渲染視圖,但視圖渲染機(jī)制由你自己選擇)。
    + 名氣最大,很多大牌站點(diǎn)都在用(也許是因?yàn)樗钚。菀撞渴穑?/li>
  • Why:
    + 非常小,使用它之前,你完全可以通讀并理解它的源代碼。
    + 不會(huì)影響你的服務(wù)器架構(gòu)或文件組織方式。可以在頁面的某一部分內(nèi)運(yùn)行——不需要控制整個(gè)頁面。
    + Jeremy好像進(jìn)入了一種禪宗所謂的入定的狀態(tài),對一切都能坦然接受。他就像一個(gè)大人,看著一群孩子在那里辯論。
  • Where: GitHub自有站點(diǎn)
  • When: 至今已誕生近兩年了。

Meteor

  • Who: Meteor 開發(fā)團(tuán)隊(duì)(他們剛募集到1120萬美元投資,因此可以全職開發(fā))。
  • What:
    + 前瞻性極強(qiáng)的一個(gè)框架,想不出有誰那么激進(jìn)過(也許Derby算一個(gè))。
    + 將一個(gè)服務(wù)器端運(yùn)行時(shí)環(huán)境(用Node+Mongo搭建)和一個(gè)客戶端運(yùn)行時(shí)環(huán)境銜接起來,讓你的代碼在兩端都能運(yùn)行,還包含數(shù)據(jù)庫。利用WebSockets實(shí)現(xiàn)所有客戶端和服務(wù)器之間的同步。
    + 在修改代碼時(shí)就“實(shí)時(shí)部署”——客戶端運(yùn)行時(shí)可以即時(shí)更新而不丟失狀態(tài)。
    + 可以看看這個(gè)視頻,對它的認(rèn)識(shí)就會(huì)更全面。
    + 跟會(huì)上與我有過交流的所有人一樣,我也衷心希望這個(gè)框架獲得成功——Web開發(fā)就需要這種激進(jìn)的改革才能真正進(jìn)步。
  • Why: 你實(shí)在覺得做常規(guī)Web開發(fā)太無聊了,想找點(diǎn)刺激。
  • Where: GitHub自有站點(diǎn)
  • When: 誕生時(shí)間不長;除了其核心團(tuán)隊(duì)在用,不知道還有沒有其他站點(diǎn)實(shí)際在用Meteor。不過,這個(gè)團(tuán)隊(duì)真是在嚴(yán)肅地做著一件前無古人的事。

Ember

  • Who: Yehuda Katz (之前開發(fā)過jQuery和Rails)、Ember團(tuán)隊(duì)和Yehuda的公司Tilde
  • What:
    + 構(gòu)建“超級(jí)Web應(yīng)用”所需的一切,MIT許可。
    + 功能最多,體積最大。
    + 融入了很多設(shè)計(jì)理念,涉及如何分解并對頁面進(jìn)行層次控制,以及如何利用一個(gè)狀態(tài)機(jī)驅(qū)動(dòng)的系統(tǒng)聯(lián)結(jié)各個(gè)層次。
    + 正在開發(fā)一個(gè)功能非常完善的數(shù)據(jù)訪問庫(Ember.Data)。
    + 要在運(yùn)行時(shí)控制整個(gè)頁面,因此不適合開發(fā)大頁面上的“富應(yīng)用區(qū)”。
    + 對文件、URL等都有相當(dāng)嚴(yán)格的一套約束,不過要是不喜歡,你可以重寫,只要你知道怎么做就OK。
    + 設(shè)計(jì)靈感來自Rails和Cocoa。
    + 工具:為Rails提供項(xiàng)目模板(但如果你手工編寫代碼,也可以使用其他服務(wù)器端平臺(tái))。
  • Why: 常見的問題應(yīng)該有通用的解決方案——Ember提供了所有通用解決方案。
  • Where: GitHub自有站點(diǎn)
  • When: 尚未發(fā)布1.0版,但也快了。然后,API基本就能穩(wěn)定下來。

AngularJS

  • Who: Google(他們內(nèi)部在使用)。
  • What:
    + 用JavaScript實(shí)現(xiàn)模型-視圖-其他,MIT許可。
    + 基于DOM的模板,具備可觀察能力、聲明綁定機(jī)制,還有準(zhǔn)MVVM式的代碼風(fēng)格(他們自己說是Model-View-Whatever)
    + 內(nèi)置基本URL路由和數(shù)據(jù)持久化能力
    + 工具:附帶一個(gè)Chrome調(diào)試器插件,讓你在調(diào)試的時(shí)候能夠查看模型;還附帶一個(gè)Jasmine測試框架。
  • Why:
    + 從概念上講,他們說這個(gè)框架相當(dāng)于一個(gè)“填料層”,蓋在當(dāng)前瀏覽器上,以實(shí)現(xiàn)未來的瀏覽器將可能原生具備的能力(即聲明綁定和可觀察能力)。因此,我們現(xiàn)在就應(yīng)該著手這么來寫代碼了。
    + 對服務(wù)器架構(gòu)或文件組織方式?jīng)]有影響。可以用在頁面的某一小部分中——不需要控制整個(gè)頁面。
  • Where: GitHub自有站點(diǎn)
  • When: 成品級(jí)框架,Google已經(jīng)搞出來有一段時(shí)間了。

Knockout

  • Who: Knockout 團(tuán)隊(duì)和社區(qū)(核心團(tuán)隊(duì)目前有三個(gè)人,包括我)。
  • What:
    + 用JavaScript實(shí)現(xiàn)模型-視圖-視圖模型(MVVM,Model-View-ViewModel),MIT許可。
    + 功能集中在富用戶界面元素:基于DOM的聲明綁定模板,可觀察的模型加自動(dòng)依賴檢測。
    + 沒有限定URL路由或數(shù)據(jù)訪問——可組合任意第三方庫(例如,用Sammy.js做路由,用純Ajax實(shí)現(xiàn)存儲(chǔ))。
    + 在降低使用門檻方面下了很大工夫,提供詳盡的文檔和交互式示例
  • Why:
    + 只做好一件事(UI),向后兼容到IE6。
    + 對服務(wù)器架構(gòu)或文件組織方式?jīng)]有影響。可以用在頁面的某一小部分中——不需要控制整個(gè)頁面。
  • Where: GitHub自有站點(diǎn)
  • When: 到現(xiàn)在已經(jīng)正式發(fā)布近兩年了。

Spine

  • Who: Alex MacCaw。
  • What:
    + 用JavaScript實(shí)現(xiàn)MVC,MIT許可證。
    + 由最早為O'Reilly一本書寫的示例代碼發(fā)展而來,已成為一個(gè)OSS(Open Source Software,開源軟件)項(xiàng)目。
    + 是Backbone的一個(gè)衍生版(看名字就知道3)。
  • Why: 你喜歡Backbone,但又想要點(diǎn)不一樣的東西
  • Where: GitHub自有站點(diǎn)
  • When: v1.0.0已經(jīng)發(fā)布。

Backbone和Spine都是“脊椎”的意思。——譯者注

Batman

  • Who: Shopify (一家電子商務(wù)平臺(tái)公司)的團(tuán)隊(duì)。
  • What:
    + 在JavaScript中實(shí)現(xiàn)MVC,幾乎是專門為Rails+CoffeeScript開發(fā)者定制的,MIT許可。
    + 是所有框架中強(qiáng)制性規(guī)定最多的。你必須遵守其約定(例如,怎么組織文件和URL)。否則,就像他們幻燈片中說的,“你還是用其他框架吧”。
    + 非常完善的框架,具有相當(dāng)豐富的模型、視圖和控制器,還有路由。當(dāng)然,還有可觀察機(jī)制。
    + 基于DOM的模板。
  • Why: 如果你使用Rails和CoffeeScript,你找到親人了。
  • Where: GitHub自有站點(diǎn)
  • When: 當(dāng)前版本 0.9,幾個(gè)月內(nèi)將發(fā)布1.0版。

CanJS

  • Who: Bitovi(一家JavaScript咨詢/培訓(xùn)公司)的團(tuán)隊(duì)。
  • What:
    + 用JavaScript實(shí)現(xiàn)MVC,MIT許可。
    + REST可持久模型、基本的路由、基于字符串的模板。
    + 知名度不高(我也是上周才聽說它的),但它的前身卻是原來的JavaScriptMVC項(xiàng)目
  • Why: 旨在集上述各技術(shù)門派之所長,提供與它們類似的功能,同時(shí)又保持體積小巧。
  • Where: GitHub自有站點(diǎn)
  • When: 1.0 版已經(jīng)發(fā)布了。

總結(jié)

如果你正在考慮選型的問題,想知道上面這些框架/庫中的哪一個(gè)最適合你的新項(xiàng)目,那我建議你重點(diǎn)關(guān)注以下兩點(diǎn)。

  • 功能范圍。你想讓這個(gè)框架或庫為你做多少事兒?你的項(xiàng)目是從頭做起,因而需要一個(gè)能貫穿始終的完整的各項(xiàng)功能齊備的架構(gòu)嗎?或者,你其實(shí)更喜歡自己來挑選模式和庫?對不同的項(xiàng)目,不同的團(tuán)隊(duì),任何選擇都有價(jià)值,都是正確的。
  • 設(shè)計(jì)美學(xué)。你看過它們的代碼嗎,用沒用過自己選擇的框架構(gòu)建出了一些小巧的應(yīng)用?你喜歡這樣做嗎?不要只看它們的說明或者功能列表就作出選擇:那些信息有價(jià)值,但不全面。打個(gè)比方,如果你置自己主觀的編碼經(jīng)驗(yàn)于不顧,那就像在選擇小說時(shí)只看它有幾章幾節(jié),或者在找對象時(shí)只看其簡歷或個(gè)人描述。

盡管存在分歧,但我認(rèn)為所有技術(shù)門派有一個(gè)重大的共性:它們都踐行了模型與視圖分離的思想。而這個(gè)思想早在Web誕生之前就已存在,到現(xiàn)在差不多有20年歷史了。這么說吧,就算你只做一個(gè)基本的Web應(yīng)用的UI,在客戶端應(yīng)用這一思想也永遠(yuǎn)是正確的。

英文原文:Rich JavaScript Applications – the Seven Frameworks

本文鏈接:http://www.ituring.com.cn/article/8108

責(zé)任編輯:林師授 來源: 圖靈社區(qū)
相關(guān)推薦

2012-08-06 10:51:40

JavaScript

2016-12-02 09:01:53

頂級(jí)JavaScript框架

2017-02-28 08:59:03

2009-12-01 14:35:06

Linux忠告

2019-09-18 18:56:34

JavascriptOOP前端

2018-09-10 06:00:12

2017-07-05 14:21:30

框架TensorFlowTheano

2025-10-27 13:08:03

2020-02-25 15:04:48

深度學(xué)習(xí)編程人工智能

2017-03-01 13:36:41

TensorFlowTheano框架

2018-04-11 14:13:29

物聯(lián)網(wǎng)信息技術(shù)互聯(lián)網(wǎng)

2020-12-22 09:55:55

IT首席信息官CIO

2010-08-09 14:37:00

認(rèn)證證書

2015-03-20 15:34:35

戴爾云計(jì)算DELL

2015-07-08 08:51:11

SDN

2020-12-18 10:35:27

IT技術(shù)領(lǐng)導(dǎo)者

2022-05-23 08:09:42

物聯(lián)網(wǎng)IOT

2021-05-07 09:00:00

JavaScript開發(fā)代碼

2015-06-10 11:38:55

數(shù)據(jù)加密云端數(shù)據(jù)加密

2013-12-19 10:10:58

交互設(shè)計(jì)費(fèi)茨法則席克定律
點(diǎn)贊
收藏

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

黄色在线观看av| 青青在线免费观看| 99久久夜色精品国产亚洲| 午夜天堂精品久久久久| 亚洲国产精品悠悠久久琪琪 | 亚洲a一区二区三区| 欧美一区二区三区视频免费 | 牛牛精品在线| 久久久五月婷婷| 亚洲综合日韩中文字幕v在线| 日韩精品在线不卡| 日韩中字在线| 亚洲电影天堂av | 日韩久久中文字幕| 天天精品视频| 亚洲日本成人网| 香蕉视频在线观看黄| 天天综合网站| 亚洲国产精品久久久久秋霞影院 | 欧美日韩一区在线| 男女猛烈激情xx00免费视频| 电影av一区| 成人av网站在线| 亚洲精品日韩av| 探花国产精品一区二区| 亚洲三级影院| 九九热这里只有精品免费看| 美女100%露胸无遮挡| 久久香蕉网站| 精品va天堂亚洲国产| 最新天堂在线视频| 国产一区二区三区朝在线观看| 夜夜爽夜夜爽精品视频| 亚洲日本精品国产第一区| 水莓100在线视频| 久久国产精品无码网站| 日韩美女免费观看| 中文字幕av影院| 日韩视频不卡| 国内免费久久久久久久久久久| 欧美肥妇bbwbbw| 色天天综合网| 最近更新的2019中文字幕| 91网站免费视频| 网红女主播少妇精品视频| 欧美va天堂va视频va在线| 欧美大片久久久| 国产精品久久久久久久久免费高清 | 日韩中文字幕91| 热久久视久久精品18亚洲精品| 日韩乱码人妻无码中文字幕| 一区二区自拍| 午夜精品在线观看| 日本少妇激情舌吻| 精品白丝av| 97精品在线观看| 国产成人在线播放视频| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美日韩xxx| 国产中文字幕免费| 亚洲茄子视频| 日本久久久久久久久久久| 免费黄色网址在线| 日本午夜一本久久久综合| 国产精品户外野外| 国产免费黄色网址| 国产伦精品一区二区三区免费| 亚洲一区二区三| www香蕉视频| 白白色亚洲国产精品| 国内精品一区二区| 欧美日本韩国一区二区| 国产女人aaa级久久久级| 亚洲精品乱码久久久久久蜜桃91| 午夜在线免费观看视频| 亚洲视频在线一区| 日韩 欧美 视频| 亚洲精品mv| 欧美在线小视频| 亚洲欧美日本一区二区三区| 亚洲午夜免费| 亚洲国产高潮在线观看| 一色道久久88加勒比一| 希岛爱理一区二区三区| 久久久久久久久久久成人| 日韩毛片在线播放| 日本免费新一区视频| 亚洲va欧美va在线观看| 天天干天天舔天天射| 国产欧美一区二区三区网站| 国产三级中文字幕| 美女的胸无遮挡在线观看| 欧美性一区二区| 无码人妻一区二区三区免费n鬼沢| 午夜精品福利影院| 久久久精品久久久| 日本天堂网在线| 国产一区二区三区美女| 国内一区在线| 久cao在线| 欧美性猛交xxxx久久久| 一级黄色片国产| 蜜桃国内精品久久久久软件9| 视频在线一区二区| 中日韩精品视频在线观看| 久久99精品久久只有精品| 国产乱码精品一区二区三区卡 | 免费激情视频在线观看| 亚洲一区网址| 日韩中文字幕欧美| 久久国产黄色片| 国产精品系列在线播放| 日本不卡二区高清三区| 福利网站在线观看| 7799精品视频| 欧美黄色一级生活片| 好看的av在线不卡观看| 国产美女久久精品| 青青国产在线| 性做久久久久久| 国产在线视频三区| 大色综合视频网站在线播放| 国语自产在线不卡| 国产成人三级一区二区在线观看一| 久久先锋影音av| 欧美图片激情小说| 激情不卡一区二区三区视频在线| 国产午夜精品一区二区三区| 日本少妇全体裸体洗澡| 国产一区二区三区在线观看精品| 日韩免费av电影| 向日葵视频成人app网址| 日韩大陆毛片av| 亚洲国产精品午夜在线观看| 国产高清精品在线| aaa免费在线观看| 日韩电影免费观看高清完整版在线观看| 亚洲欧美变态国产另类| 黄色激情视频在线观看| 国产精品77777| 强开小嫩苞一区二区三区网站| 免费一区二区三区四区| 中文字幕久热精品视频在线| 美女又爽又黄免费视频| 99久久国产综合色|国产精品| 日韩精品一区二区免费| 91大神精品| 高清一区二区三区四区五区| 亚洲精品无码专区| 亚洲电影在线播放| 国产白袜脚足j棉袜在线观看| 国产一区视频在线观看免费| 波多野结衣精品久久| 久久青青色综合| 亚洲国产精品嫩草影院久久| 草久久免费视频| 久久一区二区三区四区| 激情网站五月天| 成人情趣视频网站| 91久久精品在线| 免费不卡av| 亚洲精品国产综合久久| 国产精品久免费的黄网站| 久久久影视传媒| 狠狠操狠狠干视频| 亚洲欧洲日韩| 国产欧美日韩综合一区在线观看| 午夜不卡影院| 最近2019中文字幕在线高清 | 日本一道高清亚洲日美韩| 在线成人中文字幕| aaaa一级片| 午夜电影久久久| 公肉吊粗大爽色翁浪妇视频| 久久99精品国产91久久来源| 欧美日韩dvd| 欧美激情极品| 国产精品电影观看| 黄视频在线观看网站| 欧美大黄免费观看| 一级黄色在线视频| 自拍偷拍亚洲综合| 中文字幕三级电影| 免费亚洲电影在线| 日韩精品一区二区在线视频| 美女毛片一区二区三区四区| 成人亲热视频网站| av在线私库| 日韩中文字幕国产| 午夜小视频免费| 69堂精品视频| 91国产丝袜播放在线| 国产精品女同一区二区三区| wwwxx日本| 日本中文在线一区| a天堂资源在线观看| 国产探花一区二区| 国产精品一区二区三区免费观看| 欧美freesex| 欧美精品xxx| 99免在线观看免费视频高清| 精品va天堂亚洲国产| 91成年人视频| 色素色在线综合| 黄色一级片在线| 国产精品少妇自拍| 免费a级黄色片| 国产福利精品一区二区| 亚欧在线免费观看| 宅男噜噜噜66一区二区| 久久久久久久久久久久久国产| 加勒比久久综合| 久久精品成人一区二区三区蜜臀| 不卡一区视频| 国产成人精品一区| 超碰在线观看免费版| 国产一级揄自揄精品视频| 男人天堂一区二区| 欧美一区二区三区啪啪| 中文字幕乱伦视频| 色一情一乱一乱一91av| 国产精品日日夜夜| 亚洲精品乱码久久久久久黑人| 美国美女黄色片| 久久精品免视看| 精品人妻一区二区三区日产乱码卜| 国产一区在线观看视频| 狠狠干狠狠操视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 免费毛片小视频| 亚洲福利免费| 国产美女主播在线| 国产综合精品| 成人午夜视频免费观看| 91精品婷婷色在线观看| 在线观看日韩羞羞视频| 成人看的羞羞网站| 亚洲a∨一区二区三区| 国内精品久久久久久久久电影网| 久久99精品久久久久久秒播放器 | 亚洲校园激情春色| 51精品在线观看| 亚洲人成在线网站| 日韩av三级在线观看| 台湾佬中文娱乐久久久| 国产成人一区二区三区小说| 色8久久影院午夜场| 国产精品com| 国产成人精选| 91热福利电影| 在线视频亚洲欧美中文| 国产精品一区在线播放| 欧美成人一区在线观看| 久久精品国产一区二区三区日韩 | 一区二区视频国产| 久久久久免费av| 精品日韩在线播放| 国产精品v亚洲精品v日韩精品 | 国产曰批免费观看久久久| 一区二区三区四区毛片| 国产高清精品网站| 韩国无码一区二区三区精品| 97se亚洲国产综合自在线观| 无码一区二区三区在线| 国产精品丝袜久久久久久app| 三级黄色片在线观看| 亚洲色图清纯唯美| 国产一级视频在线播放| 粉嫩老牛aⅴ一区二区三区| 中文字幕手机在线视频| 欧美日韩免费不卡视频一区二区三区 | 欧美va亚洲va| 美国一级片在线免费观看视频| 在线国产精品播放| av超碰免费在线| 97av在线视频| 国产成人精品一区二区三区视频| 亚洲综合社区网| 欧美尿孔扩张虐视频| 日韩三级电影| 国模 一区 二区 三区| 各处沟厕大尺度偷拍女厕嘘嘘| 日本不卡一区二区三区高清视频| 中文字幕亚洲影院| 9久草视频在线视频精品| 精品一区二区6| 亚洲国产精品一区二区久久| 亚洲av无码不卡| 日韩免费高清视频| 国产精品四虎| 九九九久久久久久| 精品3atv在线视频| 亚洲xxx大片| 国产亚洲一区二区三区啪| 国产精品免费看久久久无码| 久久国产精品久久久久久电车| 色91精品久久久久久久久| 97成人超碰视| 午夜少妇久久久久久久久| 91久久免费观看| 亚洲精品一区二区三区不卡| 亚洲系列中文字幕| 超碰在线97国产| 国产一区红桃视频| 一本色道久久综合亚洲精品酒店| 欧美少妇在线观看| 奇米影视在线99精品| 无码一区二区精品| 亚洲激情成人在线| 中文字幕福利视频| 精品亚洲一区二区三区在线播放| 黄色av电影在线观看| 国产精品国产三级国产aⅴ9色| 粉嫩的18在线观看极品精品| 欧美h视频在线观看| 久久久久久网| 好吊色视频一区二区三区| 1024成人网| 中文字幕在线观看欧美| 亚洲精选中文字幕| caoprom在线| 99中文字幕| 亚洲一区在线| 天堂av8在线| 国产欧美一区二区在线观看| 国产黄色免费观看| 亚洲第一精品福利| 欧美野外wwwxxx| 91免费在线视频网站| 99久久久久国产精品| 日本中文字幕高清| 欧美国产欧美综合| 欧美另类高清videos的特点| 亚洲人成网站777色婷婷| 蜜桃视频在线观看播放| 精品国产免费一区二区三区| 激情欧美丁香| 国产亚洲精品成人a| 亚洲综合色视频| 国产成人三级一区二区在线观看一| 久久精品国产成人精品| 亚洲tv在线| 超碰在线免费观看97| 国产精品一二三四| 人妻少妇精品一区二区三区| 日韩一区二区在线观看视频播放| 国产成人无吗| 99国产超薄丝袜足j在线观看| 重囗味另类老妇506070| 337p日本欧洲亚洲大胆张筱雨| 亚洲欧美日韩国产成人精品影院| 国产日韩在线观看一区| 欧美老女人性生活| 99a精品视频在线观看| 欧美 日本 亚洲| 久久久久成人黄色影片| 国产精品第6页| 色偷偷噜噜噜亚洲男人| **精品中文字幕一区二区三区| 欧美视频在线第一页| 成人三级在线视频| 亚洲乱码国产乱码精品| 自拍偷拍亚洲精品| 日韩第一区第二区| 精品少妇人妻av免费久久洗澡| 91视视频在线直接观看在线看网页在线看| 日韩特黄一级片| 国产一区二区三区在线| 97久久中文字幕| 日本欧美视频在线观看| 久久美女艺术照精彩视频福利播放| 波多野结衣理论片| 两个人的视频www国产精品| 粉嫩av一区二区| 狠狠操精品视频| 亚洲码国产岛国毛片在线| 午夜视频在线播放| 成人观看高清在线观看免费| 国产精品啊v在线| 蜜桃一区二区三区在线| 91成人精品一区二区| 制服.丝袜.亚洲.另类.中文| av文字幕在线观看| 国产日韩一区欧美| 日精品一区二区三区| 刘亦菲国产毛片bd| 欧美v国产在线一区二区三区| 欧美男男tv网站在线播放| 亚洲欧美成人一区| 成人在线视频一区二区| 成人午夜淫片100集| 久久精品中文字幕| 日韩理论电影中文字幕| 最新免费av网址| 精品久久久一区二区| 美女国产在线| 久久涩涩网站| 国产精品一区二区x88av| 亚洲黄色激情视频| 欧美成人网在线|