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

喵神談:跨平臺開發時代的 (再次) 到來

移動開發

[[135054]]

這篇文章主要想談談最近又刮起的移動開發跨平臺之風,并著重介紹和對比一下像是 Xamarin,NativeScript 和 React Native 之類的東西。不會有特別深入的技術討論,大家可以當作一篇科普類的文章來看。

 

故事的開始

 

“一次編碼,處處運行” 永遠是程序員們的理想鄉。二十年前 Java 正是舉著這面大旗登場,擊敗了眾多競爭對手。但是時至今日,事實已經證明了 Java 笨重的體型和緩慢的發展顯然已經很難再抓住這個時代快速躍動的腳步。在新時代的移動大潮下,一個應用想要取勝,***的使用體驗可以說必不可少。使用 native 的方式固然對提升用戶體驗很有幫助,但是移動的現狀是必須針對不同平臺 (至少是 iOS 和 Android) 進行開發。這對于開發來說妥妥的是隱患和額外的負擔:我們不僅需要在不同的項目間努力用不同的語言實現同樣代碼的同步,還要承擔由此帶來的后續維護任務。如果僅只限制在 iOS 和 Android 的話還行,但是如果還要繼續向 Windows Phone 等平臺拓展的話,所需要付出的代價和工數將幾何級增長,這顯然是難以接受的。于是,一個其實一直斷斷續續被提及但是從沒有占據過統治地位的概念又一次走進了移動開發者們的視野,那就是跨平臺開發。

 

本地 HTML 和 JavaScript

 

因為每個平臺都有瀏覽器,也都有 WebView 控件,所以我們可以使用 HTML,CSS 和 JavaScript 來將 web 的內容和體驗搬到本地。通過這樣做我們可以將邏輯和 UI 渲染部分都統一,以減少開發和維護成本。這種方式開發的 app 一般被稱為 Hybrid app,像 PhoneGap 或者 Cordova 這樣的解決方案就是典型的應用。除了使用前端開發的一套技巧來構建頁面和交互以外,一般這類框架還會提供一些訪問設備的接口,比如相機和 GPS 等。

雖然使用全網頁的開發策略和環境可以帶來代碼維護的便利,但是這種方式是有致命弱點的,那就是緩慢的渲染速度和難以駕馭的動畫效果。這兩者對于用戶體驗是致命而且難以接受的。隨著三年前 Facebook 使用 native 代碼重新構建 Facebook 的手機 app 這一標志性事件的發生,曾經一度占領半壁江山的網頁套殼的 app 的發展也日漸式微。特別在現在對于用戶體驗的追求幾近苛刻的現在,呆板的動畫效果和生硬的交互體驗已經完全無法滿足人民群眾對高質量 app 的心理預期了。

 

跨平臺之心不死的我們該怎么辦

 

想要解決用戶體驗的問題,基本還是需要回到 native 來進行開發,但是這種行為必然會與平臺綁定。世界上總是有聰明人的,并且他們總會利用看起來更加聰明但是實際上卻很笨的電腦來做那些很笨的事情 (恰得其所)。其中一件事情就是自動將某個平臺的代碼轉換到另外的平臺上去。有一家英國的小公司正在做這樣的事情,MyAppConverter 想做的事情就是把 iOS 的代碼自動轉成 Java 的。但是很可惜,如果你嘗試過的話,就知道他們的產品暫時還處于無法實用的狀態。

在這條路的另一個分叉上有一家公司走得更遠,它叫做 Apportable。他們在游戲的轉換上已經取得了很大的成果,像是 Kingdom Rush 或者 Mega Run 這樣的大作都使用了這家的服務將游戲從 iOS 轉換到 Android,并且非常成功??梢院敛豢鋸埖卣f,Apportable 是除開直接使用像 Unity 或者 Cocos2d-x 以外的另一套誘人的游戲跨平臺解決方案?;旧夏憧梢允褂?Objective-C 或者 Swift 來在熟悉的平臺上開發,而不必去觸碰像是 C++ 這樣的怪獸 (雖然其實在游戲開發中也不會碰到很難的 C++)。

但是好消息終結于游戲開發了,因為游戲在不同平臺上體驗不會差別很大,也很少用到不同平臺的不同特性,所以處理起來相對容易。當我們想開發一個非游戲的 app 時,事情就要復雜得多。雖然 Apportable 有一個計劃讓 app 轉換也能可行,但是估計還需要一段時間我們才能看到它的推出。

 

新的希望

 

Xamarin

 

其實跨平臺開發***的問題還是針對不同的平臺 UI 和體驗的不同。如果忽視掉這個最困難的問題,只是共用邏輯部分的代碼的話,問題一下子就簡單不少。十多年前,當 .NET 剛剛被公布,大家對新時代的開發充滿期待的同時,一群喜歡搗鼓的 Hacker 就在盤算要如何將 .NET 和 C# 搬到 Linux 上去。而這就是 Mono 的起源。Mono 通過在其他平臺上實現和 Windows 平臺下功能相同的 Common Language Runtime 來運行 .NET 中間代碼。現在 Mono 社區已經足夠強大,并且不僅僅支持 Linux 平臺,對移動設備也同樣支持。Mono 背后的支撐企業 Xamarin 也順理成章并適時地推出了一整套的移動跨平臺解決方案。

Xamarin 的思路相對簡單,那就是使用 C# 來完成所有平臺共用的,和平臺無關的 app 邏輯部分;然后由于各個平臺的 UI 和交互不同,使用預先由 Xamarin 封裝好的 C# API 來訪問和操控 native 的控件,進行分別針對不同平臺的 UI 開發。

 

雖然只有邏輯部分實現了真正的跨平臺,而表現層已然需要分別開發,但這確實也是一種在完整照顧用戶體驗的基礎上的好方式 -- 至少開發語言得到了統一。因為 Xamarin 解決方案中的純 C# 環境和有深厚的 .NET 技術背景做支撐,這個項目現在也受到了微軟的支持和重視。

不過存在的致命問題是針對某個特定平臺你所能使用的 API 是由 Xamarin 所決定的。也就是說一旦 iOS 或者 Android 平臺推出了新的 SDK,加入了新的功能,你必須要等 Xamarin 的工程師先進行封裝,然后才能在自己的項目中使用。這種延遲往往可能是致命的,因為現在 AppStore 對于新功能的首頁推薦往往只會有新系統上線后的一兩周,錯過這段時間的話,可能你的 app 就再無翻身之日。而且如果你想使用一些第三方框架的話,將不得不自己動手將它們打包成二進制,并且寫 binding 為它們提供 C# 的封裝,除非已經有別人幫你做過這件事情了。

另外,因為 UI 部分還是各自為戰,所以不同的代碼庫依然存在于項目之中,這對工作量的減少的幫助有限,并且之后的維護中還是存在無法同步和版本差異的隱患。但是總體來說,Xamarin 是一個很不錯的解決跨平臺開發的思路了。(如果拋開價格因素的話)

 

#p#

NativeScript

 

NativeScript 是一家名叫 Telerik 的名不見經傳保加利亞公司剛剛宣布的項目。雖然 Telerik 并不是很出名,但是卻已經在 hybrid app 和跨平臺開發這條路上走了很久。

JavaScript 因為廣泛的群眾基礎和易學易用的語言特點,已經大有一統天下的趨勢。而現在主流移動平臺也都有強勁的處理 JavaScript 的能力 (iOS 7 以后的 JavaScriptCore 以及 Android 自帶的 V8 JavaScript Engine),因為使用 JavaScript 來跨平臺水到渠成地成為了一個可選項。

在此要吐槽一下,JavaScript 真的是一家公司,一個項目拯救回來的語言。V8 之前誰能想到 JavaScript 能有今日...

NativeScript 的思路就是使用移動平臺的 JavaScript 引擎來進行跨平臺開發。邏輯部分自然無需多說,關鍵在于如何使用平臺特性,JavaScript 要怎樣才能調用 native 的東西呢。NativeScript 給出的答案是通過反射得到所有平臺 API,預編譯它們,然后將這些 API 注入到 JavaScript 運行環境,接下來在 Javascript 調用后攔截這個調用,并運行 native 代碼。

在此不打算展開說 NativeScript 詳細的原理,如果你對它感興趣,不妨去看看 Telerik 的員工的寫的這篇博客以及發布時的 Keynote。

這么做***的好處是你可以任意使用***的平臺 API 以及各種第三方庫。通過對元數據的反射和注入,NativeScript 的 JavaScript 運行環境總能找到它們,觸發相應的調用以及最終訪問到 iOS 或者 Android 的平臺代碼。***版本的平臺 SDK 或者第三方庫的內容總是可以被獲取和使用,而不需要有什么限制。

舉個簡單的例子,比如創建一個文件,為 iOS 開發的話,可以直接在 JavaScript 里寫這樣的代碼:

  1. var fileManager = NSFileManager.defaultManager(); 
  2. fileManager.createFileAtPathContentsAttributes( path );  

而對應的 Android 版本也許是:

  1. new java.io.File( path );  

你不需要擔心 NSFileManager 或者 java.io 這類東西的存在,而是可以任意地使用它們!

如果僅只是這樣的話,使用上還是非常不便。NativeScript 借助類似 node 的一套包管理系統,用 modules 對這些不同平臺的代碼進行了統一的封裝。比如上面的代碼,可以統一使用下面的形式替換:

  1. var fs = require( "file-system" ); 
  2. var file = new fs.File( path );  

寫過 node 的同學肯定對這樣的形式很熟悉了,這里的 file-system 就是 NativeScript 進行的統一平臺的封裝?,F在的完整的封裝列表可以參見這個 repo。因為寫法很簡單,所以開發者如果有需要的話,也可以創建自己的封裝,甚至使用 npm 來發布和共享 (當然也有獲取別人寫的封裝)。因為依賴于已有的成熟包管理系統,所以可以認為擴展性是有保證的。

對于 UI 的處理,NativeScript 選擇了使用類似 Android 的 XML 的方式進行布局,然后用 CSS 來控制控件的樣式。這是一種很有趣的想法,雖然 UI 的布局靈活性上無法與針對不同平臺的 native 布局相比,但是其實和傳統的 Android 布局已經很接近。舉個布局文件的例子就可見一斑:

  1. <Page loaded="onPageLoaded"
  2. <GridLayout rows="auto, *"
  3. <StackLayout orientation="horizontal" row="0"
  4. <TextField width="200" text="{{ task }}" hint="Enter a task" id="task" /> 
  5. <Button text="Add" tap="add"></Button> 
  6. </StackLayout> 
  7.  
  8. <ListView items="{{ tasks }}" row="1"
  9. <ListView.itemTemplate> 
  10. <Label text="{{ name }}" /> 
  11. </ListView.itemTemplate> 
  12. </ListView> 
  13. </GridLayout> 
  14. </Page>  

 

熟悉 Android 或者 Window Phone 開發的讀者可能會感到找到了組織。你可能已經注意到,相比于 Android 的布局方式,NativeScript 天生支持 MVVM 和 data binding,這在開發中會十分方便 (但是性能上暫時就未知了)。而像是 Button 或者 ListView 這樣的控件都是由 modules 映射到對應平臺的系統標準控件。這些控件的話都是使用 css 來指定樣式的,這與傳統的網頁開發沒太大區別。

nativescript-ui

NativeScript 代表的思路是使用大量 web 開發的技巧來進行 app 開發。這是一個很值得期待的方向,相信也會受到很多前端開發者的歡迎 -- 因為工具鏈和語言都非常熟悉。但是這個方向依然面臨的***挑戰還是 UI,現在看來開發者是被限制在預先定義好的 UI 控件中的,而不能像傳統 Hybrid app 那樣使用 HTML5 的元素。這使得如何能開發出高度自定義的 UI 和交互成為問題。另一個可能存在的問題是最終 app 的尺寸。因為我們需要將整個元數據注入到運行環境中,也存在很多在不同語言中的編譯,所以不可避免地會造成較大的 app 尺寸。***一個挑戰是對于像 app 這樣的工程,沒有類型檢查和編譯器的幫助,開發起來難度會比較大。另外在調試的時候也可能會有傳統 app 開發中不曾遇到的問題。

總體來看,NativeScript 是很有希望的一個方案。如果它能實現自己的愿景,那必將是跨平臺這塊大蛋糕的有力競爭者。當然,現在 NativeScript 還太年輕,也還有很多問題。不妨多給這個項目一點時間,看看正式版本上線后的表現。

 

React Native

 

Facebook 幾個月前公布了 React Native,而今天這個項目終于在萬眾期待下發布了。

React Native 在一定程度上和 NativeScript 的概念類似:都是使用 JavaScript 和 native UI 來實現 app (所以說 JavaScript 真是有一桶漿糊的趨勢..如果你現在還不會寫幾句 JavaScript 的話,建議盡早學一學)。但是它們的出發點略有不同,React Native 在首頁上就寫明了,使用這個庫可以:

 

  1. learn once, write anywhere 

而并不是 "run anywhere"。所以說 React Native 想要達成的目標其實并不是一個跨平臺 app 開發方案,而是讓你能夠使用相似的方法和同樣的語言來在不同平臺進行開發的工具。另外,React Native 的主要工作是構建響應式的 View,其長處在于根據應用所處的狀態來決定 View 的表現狀態。而對于其他一些系統平臺的 API 來說,就顯得比較無力。而正是由于這些要素,使得 React Native 確實不是一個跨平臺的好選擇。

那為什么我們還要在這篇以 “跨平臺” 為主題的文章里談及 React Native 呢?

因為雖然 Facebook 不是以跨平臺為出發點,但是卻不可能阻止工程師想要這么來使用它。從原理上來說,React Native 繼承了 React.js 的虛擬 DOM 的思想,只不過這次變成了虛擬 View。事實上這個框架提供了一組 native 實現的 view (在 iOS 平臺上是 RCT 開頭的一系列類)。我們在寫 JavaScript (更準確地說,對于 React Native,我們寫的是帶有 XML 的 JavaScript:JSX) 時,通過將虛擬 View 添加并綁定到注冊的模塊中,在 native 側用 JavaScript 運行環境 (對于 iOS 來說也就是 JavaScriptCore) 執行編譯并注入好的 JavaScript 代碼,獲取其對 UI 的調用,將其截取并橋接到 native 代碼中進行對應部件的渲染。而在布局方面,依然是通過 CSS 來實現的。

這里整個過程和思路與 NativeScript 有相似之處,但是在與 native 橋接的時候采取的策略完全相反。React Native 是將 native 側作為渲染的后端,去提供統一的 JavaScript 側所需要的 View 的實體。NativeScript 基本算反其道行之,是在 JavaScript 里寫分開的中間層來分別對應不同平臺。

對于非 View 的處理,對于 iOS,React Native 提供了 RCTBridgeModule 協議,我們可以通過在 native 側實現這個協議來提供 JavaScript 中的訪問可能。另外,回調和事件發送等也可以通過相應的 native 代碼來完成。

總結來說,如果想要把 React Native 作為一個跨平臺方案來看的話 (實際上也并不應當如此),那么單靠 JavaScript 一側是難以完成的,因為一款有意義的 app 不太可能完全不借助平臺 API 的力量。但是畢竟這個項目背后是 Facebook,如果 Facebook 想要通過自己的影響力自立一派的話,必定會通過不斷改進和工具鏈的完善,將 app 開發的風向引導至自己旗下。對于原來就使用 React.js 的開發者來說,這個框架降低了他們進入 app 開發的門檻。但是對于已經在做 native app 開發的人來說,是否值得和需要投入精力進行學習,還需要觀察 Facebook 接下來動作。

不過現在 React Native 的正式發布才過去了不到 24 小時,我想我們有的是時間來思考和檢閱這樣一個框架。

 

總結

 

當然還有一些其他方案,比如 Titanium 等?,F在使用跨平臺方案開發 app 的案例并不算很多,但是無論在項目管理還是維護上,跨平臺始終是一種誘惑。它們都解決了一些 Hybrid app 的遺留問題,但是它們又都有一些非 native app 的普遍面臨的陰影。誰能找到一個好的方式來解決像是自定義 UI,API 擴展性以及 app 尺寸這樣的問題,誰就將能在這個市場中取得領先或者勝利,從而引導之后的開發潮流。

但是誰又知道***誰能取勝呢?也有可能大家在跨平臺的道路上再一次全體失敗。伺機而動也許是現在開發者們很好的選擇,不過我的建議是提前學點兒 JavaScript 總是不會出錯的。

責任編輯:chenqingxiang 來源: OneV's Den的博客
相關推薦

2012-12-10 09:24:45

2011-04-21 16:59:54

一體電腦蘋果

2012-10-16 16:48:28

萬兆銅纜綜合布線

2012-03-09 15:30:56

用戶體驗華為

2009-07-24 09:43:09

軟件工程軟件開發

2013-09-26 13:17:12

BAT百度騰訊

2023-09-13 13:07:29

編程代碼

2011-09-30 15:28:08

無線視頻

2012-10-17 17:08:09

布線以太網虛擬化技術

2016-08-10 21:12:02

易語言習語言漢語編程

2011-07-06 11:16:32

Unity3DCocos2dSparrow Fra

2018-03-27 11:26:04

工業云平臺互聯網

2021-12-14 10:04:52

無密碼時代多因素身份驗證MFA

2023-07-06 14:09:04

AI網絡安全

2009-04-25 09:05:42

Symbian移動OS

2015-03-06 19:26:44

線下沙龍MDSA公開課

2009-12-04 10:20:30

免費Windows 7

2010-03-30 10:55:04

云計算

2010-04-19 15:58:33

互聯網
點贊
收藏

51CTO技術棧公眾號

成人福利网站在线观看| 亚洲电影天堂av| 亚洲午夜精品一区二区三区| 91丨porny丨在线中文 | 精品一区二区综合| 九九精品在线观看| 国产精品无码久久久久久| 成人毛片免费| 一区二区三区四区中文字幕| 久久久久se| 一卡二卡在线视频| 99热免费精品在线观看| www.日韩av.com| 黄色av网址在线观看| 成人久久网站| 日韩欧美福利视频| 欧美一二三不卡| 福利在线视频导航| 成人久久久精品乱码一区二区三区| 日韩免费观看网站| 日本熟妇成熟毛茸茸| 日韩美女一区二区三区在线观看| 亚洲аv电影天堂网| www.久久91| 亚洲精品成人图区| 玉米视频成人免费看| 色播亚洲婷婷| 天堂а在线中文在线无限看推荐| 国产精品综合av一区二区国产馆| 国产999视频| 色网站在线播放| 欧美不卡在线| 日韩一区视频在线| 中文字幕黄色网址| 日韩精品a在线观看91| 日韩欧美资源站| 自拍偷拍21p| 蜜臀国产一区| 精品久久久久久久久久久久久| 中文视频一区视频二区视频三区| 韩国中文字幕2020精品| 成人美女在线视频| 国产免费一区二区三区| 国产高清免费观看| 精品一区二区久久久| 国产精品一香蕉国产线看观看 | 亚洲国产日韩欧美一区二区三区| 久久精品99无色码中文字幕| 欧美激情亚洲色图| 亚洲国产精品嫩草影院久久av| 亚洲精品一区二区精华| 久久久精品人妻一区二区三区| 99久久这里有精品| 欧美精品色综合| 成年人三级黄色片| 欧美大片网站| 91麻豆精品国产91久久久资源速度| 手机看片福利日韩| 国产精品黄色片| 欧美日韩国产大片| 欧美一级视频在线| 国产成人免费视频网站视频社区| 欧美高清视频一二三区| www.久久久久久久久久久| 亚洲综合资源| 日韩精品一区二区三区在线播放 | 久久新电视剧免费观看| 久久婷婷开心| 国产福利在线观看| 国产精品色婷婷| 欧美一级黄色录像片| 羞羞的视频在线看| 欧美日韩美女在线| 成人在线激情网| 日韩一区中文| 精品乱码亚洲一区二区不卡| 国产激情视频网站| 精品国产99| 久热精品视频在线| 日韩精品视频播放| 日欧美一区二区| 国产综合福利在线| 精品人妻一区二区三区日产乱码| 成人av动漫在线| 清纯唯美一区二区三区| 午夜视频在线观看网站| 一区二区三区小说| 欧美v在线观看| yiren22亚洲综合| 欧美一级午夜免费电影| 88av在线播放| 精品国产一区二区三区香蕉沈先生| 中文字幕一区二区三区电影| 欧美极品aaaaabbbbb| 亚洲欧美日韩综合国产aⅴ| 国产日韩一区在线| 欧美特黄一级视频| 国产精品视频免费| 美女扒开大腿让男人桶| 色8久久影院午夜场| 日韩一级高清毛片| 五月天综合视频| 欧美黄污视频| 国产成人精品优优av| www.天堂在线| 国产欧美1区2区3区| 国产在线视频综合| 国产69精品久久久久9999人| 精品成人一区二区三区| 欧洲性xxxx| 亚洲区一区二| 成人中文字幕在线观看| 九一在线视频| 亚洲一区二区3| 在线观看岛国av| 丝袜久久网站| 日韩av电影一区| 99久久这里有精品| 99在线精品免费| 视频一区二区在线观看| 日本免费网站视频| 亚洲人成网77777色在线播放| 久久久999精品| 日本视频免费观看| 99精品一区二区| 中文字幕乱码免费| 福利精品一区| 亚洲欧美综合另类中字| 精品少妇一二三区| 国产在线日韩欧美| 五码日韩精品一区二区三区视频| 国产色播av在线| 欧美一区二区三区爱爱| 国产又粗又长又黄的视频| 国产一区二区高清| 国产精品麻豆免费版| 成人在线免费看片| 欧美日产在线观看| 亚洲性猛交xxxx乱大交| 久久久综合网| 久热国产精品视频一区二区三区| 超碰中文在线| 欧美精品一区二区三区视频| 激情四射综合网| 国产suv精品一区二区三区| 亚洲欧美日韩不卡| 欧美亚洲黄色| 自拍偷拍亚洲在线| 在线视频免费观看一区| 国产视频一区二区在线观看| 成人在线看视频| 中文字幕伦av一区二区邻居| 欧洲一区二区视频| 欧美日本韩国一区二区| 一本色道久久综合狠狠躁的推荐| 加勒比一区二区| 久久久青草婷婷精品综合日韩| 免费不卡亚洲欧美| 欧美特大特白屁股xxxx| 国产一区二区三区视频 | 亚洲成av人片观看| 久久久久久婷婷| 亚洲一区区二区| 欧美最大成人综合网| a屁视频一区二区三区四区| 色香阁99久久精品久久久| 一级二级三级视频| 亚洲人123区| 特级特黄刘亦菲aaa级| 亚洲精品1区2区| 女同一区二区| 国产福利一区二区三区在线播放| 久久精彩免费视频| 黄色成人一级片| 一本大道久久a久久综合| 亚洲ⅴ国产v天堂a无码二区| 国产在线视视频有精品| 97视频久久久| 精品一区二区三区在线| 91久久久久久久久| av蜜臀在线| 一区二区三区黄色| 国产按摩一区二区三区| 大桥未久av一区二区三区| 中文字幕伦理片| 国产成人精品免费看| 亚洲午夜精品久久久久久人妖| 欧美亚洲高清| www日韩av| 欧美free嫩15| 欧美大片免费观看| 国产天堂在线| 亚洲精品一区二区三区影院| 国产第一页在线观看| 一区二区三区欧美视频| 中文字幕国产专区| 国产精品一区二区无线| 国模杨依粉嫩蝴蝶150p| 女同性一区二区三区人了人一| 精品日产一区2区三区黄免费| 亚洲爱爱视频| 国内久久久精品| 欧美精品电影| 精品视频中文字幕| 午夜久久久久久噜噜噜噜| 色狠狠色狠狠综合| www.99re7.com| 亚洲欧洲国产日韩| 黑人巨大精品欧美| 懂色av中文一区二区三区| 杨幂毛片午夜性生毛片 | 欧美精选视频在线观看| 国产专区一区二区| 日韩第二十一页| 日韩av免费在线看| free性欧美16hd| 大胆欧美人体视频| 成人全视频高清免费观看| 欧美精品一区二区三区一线天视频| 一级黄色a视频| 在线观看成人小视频| 男女啊啊啊视频| 一区二区三区四区av| frxxee中国xxx麻豆hd| 国产午夜精品一区二区三区嫩草| 婷婷五月精品中文字幕| 国产精品一区二区三区乱码 | 天堂网av手机版| 一区二区三区四区精品在线视频| 精品女人久久久| 欧美激情在线看| 五月婷婷综合在线观看| 99久免费精品视频在线观看| 亚洲少妇一区二区| 国产精品性做久久久久久| 黄大色黄女片18第一次| 日日夜夜一区二区| 国模杨依粉嫩蝴蝶150p| 亚洲欧美日韩综合国产aⅴ| 3d动漫一区二区三区| 一区在线免费观看| 大西瓜av在线| 影音先锋久久久| 欧美午夜性视频| 伊人久久亚洲热| 鲁一鲁一鲁一鲁一色| 亚洲伦理一区| 春日野结衣av| 久久国产精品99国产| 爱福利视频一区二区| 鲁大师影院一区二区三区| 97xxxxx| 久久久蜜桃一区二区人| jizz欧美激情18| 蜜臀久久99精品久久久久久9| av在线无限看| 男女男精品视频网| 一区二区免费av| 国产在线视频精品一区| 欧美一级片在线免费观看| 成人性生交大片免费看中文网站| 手机免费看av片| 久久精品无码一区二区三区| 一区二区三区在线观看免费视频| 国产精品女上位| 亚洲波多野结衣| 亚洲高清免费观看高清完整版在线观看 | 久久久久久久久久久免费精品| 波多野结衣中文字幕久久| 午夜美女久久久久爽久久| 中文字幕资源网在线观看免费 | 亚洲小说图片视频| 日本最新一区二区三区视频观看| 日韩精品欧美| 强开小嫩苞一区二区三区网站| 国产精品激情| 久久9精品区-无套内射无码| 久久av资源站| 男男一级淫片免费播放| 国产日韩欧美制服另类| 老熟妇高潮一区二区三区| 亚洲福利视频三区| 无码人妻精品一区二区三区蜜桃91| 欧美日韩精品系列| 亚洲精品久久久狠狠狠爱| 国产婷婷97碰碰久久人人蜜臀| 成年人在线视频| 欧美激情视频在线观看| www.com.cn成人| 91免费国产视频| 色婷婷av一区二区三区丝袜美腿| 在线观看一区二区三区三州| 极品中文字幕一区| 五月婷婷之综合激情| 高清久久久久久| 亚欧精品视频一区二区三区| 亚洲综合清纯丝袜自拍| 波多野结衣视频观看| 日韩欧美一区二区在线视频| 久久米奇亚洲| 欧美激情videos| 日韩另类视频| 成人欧美一区二区三区在线观看 | 亚洲性生活大片| 亚洲国产福利在线| 九七久久人人| 国产精品xxxxx| 精品综合久久88少妇激情| 一区二区三区在线观看www| 国产精品久久久久久久久久妞妞| 伊人色在线观看| 久久久精品一品道一区| 国产一级久久久| 在线播放日韩导航| 国产在线观看黄| 午夜精品蜜臀一区二区三区免费| 日本黄色成人| 日韩精品资源| 国产精品日韩| 亚洲中文字幕无码一区| 亚洲色图.com| 在线观看国产小视频| 亚洲欧美日本另类| 看黄在线观看| 国产视频99| 欧美久久一区| 日本中文字幕在线不卡| 亚洲视频在线一区观看| 免费在线不卡av| 亚洲人精品午夜在线观看| 擼擼色在线看观看免费| 国产女人水真多18毛片18精品 | 国产视频www| 日韩视频免费在线| 成人福利一区二区| 日韩精品久久久免费观看| 校园春色综合网| 7788色淫网站小说| 亚洲r级在线视频| 亚洲欧美黄色片| 久久久久久久久久久免费| 6080成人| 国产va亚洲va在线va| 夫妻av一区二区| 日韩乱码在线观看| 亚洲国产成人在线视频| 国产ktv在线视频| 黄色99视频| 欧美亚洲网站| 久久久久久久毛片| 欧美少妇bbb| 91美女视频在线| 国产在线精品一区免费香蕉| 91精品久久久久久久久久不卡| а 天堂 在线| 一二三四社区欧美黄| 黑人操亚洲女人| 5252色成人免费视频| 国产欧美日韩精品高清二区综合区| 国内外免费激情视频| 中文字幕乱码一区二区免费| 亚洲图片小说视频| 美女性感视频久久久| 51精品国产| 亚洲中文字幕无码中文字| 国产视频一区在线观看| 一级成人免费视频| 欧美黄色小视频| 在线成人动漫av| 国内外成人免费在线视频| 亚洲男人的天堂网| 色噜噜在线播放| 国产精品xxx视频| 亚洲影视一区| a天堂视频在线观看| 91久久免费观看| 99热国产在线中文| 精品一区二区三区国产| 免费在线观看一区二区三区| 成人免费视频网站入口::| 日韩av中文字幕在线| 国产91亚洲精品久久久| 欧洲精品在线播放| 久久精品免视看| 国产成人精品一区二区无码呦| 97热精品视频官网| 久久国产亚洲精品| 亚洲精品乱码久久久久久蜜桃欧美| 日韩欧美国产免费播放| 黄在线免费看| 欧美lavv| 国产一区二区三区观看| 国产高潮久久久| 久久最新资源网| 九热爱视频精品视频| 中文字幕人妻无码系列第三区| 欧美性20hd另类| av毛片在线| 日韩欧美国产二区| 不卡av在线网|