精品欧美一区二区三区在线观看 _久久久久国色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| 成人黄色小视频| 欧美高清性hdvideosex| 2021狠狠干| 动漫av一区二区三区| 国产日韩一区| 中文字幕欧美日韩| 亚洲国产日韩在线一区| av最新在线| 91论坛在线播放| 国产欧美一区二区三区视频| 欧美日韩一级在线观看| 日韩手机在线| 欧美久久久影院| 黄网站欧美内射| 精品国自产在线观看| 制服诱惑一区二区| 中文字幕精品一区二区精品| 天天干天天操天天做| 国产精品探花在线| 91香蕉视频在线| 国产在线视频欧美| 日韩人妻无码一区二区三区99 | 中文字幕1234区| 牛牛在线精品视频| 久久一留热品黄| 91网站免费观看| 天天操天天操天天操天天| 清纯唯美日韩| 亚洲国产精品系列| 992kp免费看片| 卡通欧美亚洲| 一区二区三区国产豹纹内裤在线| 日本成人三级| 亚洲精品免费在线观看视频| 免费在线看一区| 性色av一区二区三区免费| 人人艹在线视频| 欧美亚洲色图校园春色| 4hu四虎永久在线影院成人| 日韩精品综合在线| 看女生喷水的网站在线观看| 久久老女人爱爱| 99免费在线观看视频| 中文字幕一区二区三区免费看| 韩国在线一区| 久热精品视频在线免费观看| av电影在线不卡| 中文字幕一区图| 欧美精品一级二级三级| 国产一级特黄a大片免费| 欧美少妇精品| 午夜视频一区在线观看| 男女激烈动态图| 欧美尤物美女在线| 国产三级精品视频| 欧美激情专区| 亚洲aⅴ乱码精品成人区| 高清日韩电视剧大全免费| 日韩免费在线观看视频| 国产精品久久久久久99| 国产精品v日韩精品v欧美精品网站 | 欧美日韩五码| 色综合色综合色综合色综合色综合 | 日韩一区二区三区不卡视频| 三级成人在线| 91久久精品午夜一区二区| 欧美日韩性生活片| 久草在线资源站手机版| 亚洲3atv精品一区二区三区| 欧美一区二区视频在线播放| a天堂中文在线官网在线| 亚洲天堂免费在线观看视频| 亚洲美女网站18| 外国精品视频在线观看| 成人永久免费视频| 国产精品一区视频| 日韩在线视频免费| 99国产精品视频免费观看| 国产伦精品一区二区三区视频免费| 黄色av一区二区三区| jizz一区二区| 麻豆亚洲一区| 成黄免费在线| 日韩一区在线看| 超薄肉色丝袜足j调教99| 黄网站在线播放| 国产精品大尺度| 一本一本a久久| 日本电影在线观看网站| 国产婷婷一区二区| 亚洲综合av一区| 国产美女在线观看| 亚洲人精品午夜| www成人免费| 女厕盗摄一区二区三区| 欧美性猛交xxxx乱大交极品| 妞干网在线免费视频| 久久亚洲人体| 欧美成人精品福利| 美女脱光内衣内裤| 国产精品国产一区| 久久久欧美一区二区| 国内自拍视频在线播放| 久久草av在线| 国产伦精品一区二区三区照片91| 欧美挠脚心网站| 最新热久久免费视频| 人妻夜夜添夜夜无码av| 99久久精品一区二区成人| 91精品国产综合久久久久久久久久 | 欧美日韩看看2015永久免费| 在线观看精品自拍私拍| 欧美高清视频一区二区三区| 亚洲一区二区三区四区五区午夜| 国产精品一区二区性色av| 亚洲第九十九页| 国产婷婷精品av在线| 艳母动漫在线观看| 丝袜老师在线| 欧美丝袜自拍制服另类| 中文字幕乱视频| 91精品国产麻豆国产在线观看 | 国产精品乱码视频| 在线观看免费黄色| 天天综合天天综合色| www.色就是色.com| 少妇精品久久久一区二区| 欧美大秀在线观看| www.av88| 久久新电视剧免费观看| 四虎4hu永久免费入口| 波多野结衣亚洲一二三| 欧美日韩国产综合视频在线观看 | 久久免费黄色| 国产精品日韩一区二区免费视频| 欧美jizzhd69巨大| 色婷婷精品久久二区二区蜜臂av| 中文字幕在线观看视频www| 欧美日韩有码| 欧美亚洲成人免费| 农村少妇久久久久久久| 亚洲免费观看视频| 亚洲36d大奶网| 国产亚洲精品美女久久久久久久久久| 欧美激情一区二区三区在线视频观看| 国产精品久久久久久久久久久久久久久久久久 | 亚洲伊人伊成久久人综合网| 一本色道久久综合狠狠躁篇的优点 | 国产一级二级三级视频| 久久久久久网| 蜜桃导航-精品导航| free性欧美| 91精品蜜臀在线一区尤物| 亚洲色图27p| 男人操女人的视频在线观看欧美| 日韩国产精品一区二区三区| 色帝国亚洲欧美在线| 日韩一区二区三区观看| 国产传媒在线看| 蜜臀久久99精品久久久久宅男 | 中文字幕在线精品| 免费视频网站在线观看入口| 久久综合久久99| 97国产精东麻豆人妻电影| 久久97精品| 国产69精品久久久久99| 人妻无码中文字幕免费视频蜜桃| 樱桃视频在线观看一区| 三上悠亚 电影| 国产一区二区三区自拍| 翡翠波斯猫1977年美国| 免费电影网站在线视频观看福利| 精品国产青草久久久久福利| 欧美三根一起进三p| 国产福利精品一区二区| 欧美国产综合在线| 少妇久久久久| 国产精品69久久| 素人av在线| 91精品国产综合久久精品性色| 欧美国产精品一二三| 97aⅴ精品视频一二三区| 久久精品香蕉视频| 午夜日韩av| 日韩欧美精品一区二区三区经典| 精品视频一二| 欧美一级黑人aaaaaaa做受| jizz在线观看视频| 精品成人私密视频| 中文字幕乱码中文字幕| 亚洲高清在线精品| eeuss中文字幕| 97aⅴ精品视频一二三区| 最新av免费在线观看| 国产亚洲网站| 水蜜桃在线免费观看| 亚洲图区在线| 国产福利久久| 四虎地址8848精品| 欧洲成人性视频| 在线观看小视频| 国产一区二区三区18| 日韩永久免费视频| 91精品在线免费| 最近中文字幕在线视频| 午夜国产精品影院在线观看| 一区二区三区影视| 欧美激情一区二区三区在线| 精品1卡二卡三卡四卡老狼| 激情av综合网| 亚洲精品视频导航| 性欧美videos另类喷潮| 国产精品入口芒果| 欧美福利专区| 国产欧美综合一区| 97欧美在线视频| 午夜精品一区二区三区四区| 五月国产精品| 国产在线一区二区三区四区| 九色精品蝌蚪| 成人精品久久一区二区三区| 国产另类xxxxhd高清| 国产91精品久久久久| 国产黄色大片在线观看| 插插插亚洲综合网| 精品黄色免费中文电影在线播放| 亚洲色图偷窥自拍| 天堂中文资源在线| 日韩h在线观看| 色窝窝无码一区二区三区| 精品国精品国产尤物美女| 国产99视频在线| 欧美一区二区福利视频| 国产精品爽爽久久久久久| 欧美疯狂做受xxxx富婆| 一卡二卡在线视频| 在线观看91av| a天堂中文在线观看| 日韩一级免费观看| 精品久久久中文字幕人妻| 欧美一区二区精品| www.五月婷| 精品国产髙清在线看国产毛片| 午夜精品久久久久久久99| 日韩精品专区在线| 蜜臀久久久久久999| 亚洲大胆人体在线| 日韩午夜影院| 国产一区二区动漫| 男人和女人做事情在线视频网站免费观看| 最新国产精品亚洲| а√中文在线8| 欧美大片免费看| 国产伦理精品| 日韩av黄色在线观看| 91精品美女| 91社区国产高清| 91蜜桃臀久久一区二区| 久久久综合亚洲91久久98| 五月激激激综合网色播| 五月天色一区| 一区二区三区午夜视频| 成年女人18级毛片毛片免费| 99在线热播精品免费99热| 日韩无套无码精品| 蜜桃av一区二区三区电影| 免费观看黄网站| www.成人在线| 这里只有久久精品| 亚洲欧美福利一区二区| 国产无码精品在线观看| 91极品美女在线| 国产男女猛烈无遮挡| 欧美精品一区二区三区蜜桃 | 91丝袜高跟美女视频| 无码一区二区三区在线| 中文字幕一区不卡| 国产在线观看免费视频今夜| 色久优优欧美色久优优| 国产又黄又爽视频| 日韩激情片免费| 欧美18hd| 日本一欧美一欧美一亚洲视频| 99久久这里有精品| 精品国产福利| 91精品国产自产拍在线观看蜜 | 国产在线观看免费av| 色哟哟亚洲精品| 国产免费无遮挡| 国产视频精品免费播放| 在线中文字幕第一页| 日韩免费在线免费观看| 一区二区日韩| 亚洲人一区二区| 国产日韩欧美一区在线 | 超碰一区二区三区| 亚洲巨乳在线观看| 中文精品视频| 亚洲精品一二三四| 国产女同互慰高潮91漫画| 国产性猛交普通话对白| 欧美午夜理伦三级在线观看| 亚洲xxx在线| 精品国模在线视频| 欧美精品日日操| 国产精品免费区二区三区观看| 成人一区二区| 国产福利视频在线播放| 国产盗摄精品一区二区三区在线 | 欧美日韩美女视频| 国产乱码精品一区二三区蜜臂 | 91精品久久久久久久久久久久| 亚洲成av人片在www色猫咪| 国产又粗又猛又黄又爽| 亚洲女成人图区| 国产精品xx| 国产伦精品一区二区三区视频免费 | 国内免费久久久久久久久久久| www.久久久久爱免| 亚洲电影一二三区| 久久久久免费| 欧美高清性xxxx| 婷婷六月综合亚洲| 蜜桃av中文字幕| 久久99精品久久久久久噜噜| 国产精品igao视频网网址不卡日韩| 日本一区二区三不卡| 先锋影音国产一区| 黄色国产在线观看| 亚洲va欧美va人人爽| 亚洲精品一区二区三区蜜桃 | 美女福利视频在线观看| 欧美日韩高清一区二区不卡| jizz在线免费观看| 国产精品私拍pans大尺度在线| 不卡中文字幕| 91小视频网站| 亚洲同性同志一二三专区| 国产精品乱码久久久| 久久综合色88| 亚洲高清999| 久久艹国产精品| 波波电影院一区二区三区| 五月天婷婷综合网| 亚洲精品二三区| 性国裸体高清亚洲| 蜜桃网站成人| 日韩成人伦理电影在线观看| 丁香激情五月少妇| 正在播放亚洲一区| 日本在线观看高清完整版| 国产精品一区二区三区在线 | 国产欧美欧洲在线观看| 国产精品99久久| 日本成人在线免费| 亚洲国产成人91porn| 亚洲色图欧美视频| 国产精品777| 中文字幕日韩一区二区不卡 | 性色av一区二区三区红粉影视| 鲁大师精品99久久久| 无码人妻精品一区二区三区66| 国产精品你懂的在线欣赏| 99久久久久成人国产免费| 欧美激情二区三区| 日韩人体视频| 久久黄色片网站| 亚洲国产精品尤物yw在线观看| 同心难改在线观看| 国产欧美最新羞羞视频在线观看| 中文字幕免费一区二区| 男人的天堂影院| 欧美三片在线视频观看| 在线观看中文字幕的网站| 久久av一区二区三区漫画| 老鸭窝一区二区久久精品| 免费人成在线观看| 亚洲毛片在线免费观看| 色综合视频一区二区三区44| 僵尸世界大战2 在线播放| 日本一区二区三区四区在线视频| 国产情侣av在线| 2019中文字幕在线观看| 国产精品久久久久久久久妇女| 小毛片在线观看| 欧美日韩高清影院| 性xxxxfreexxxxx欧美丶| 中文字幕乱码一区二区三区| 91亚洲精品一区二区乱码| 亚洲天堂手机在线| 欧美精品成人91久久久久久久| 成人在线免费观看网站| 91九色蝌蚪porny| 91精品国产全国免费观看| 日本综合字幕| 国产精品久久..4399| 亚洲欧洲综合另类在线|