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

作為開發者,你覺得Apple該如何改進開發者工具呢?

移動開發
對于我們研發出產品最終的性能和Xcode能否提高開發者的工作效率這些問題,由于我和Alex Denisov的觀點產生了明顯的分歧,所以我非常愿意把我們的觀點分享出來和大家交流。

[[164459]]

我和我的同事Alex Denisov之前就開發者對Xcode使用和iOS開發的體驗性問題進行了數次探討,這篇文章是對我們談論內容的總結。

對于我們研發出產品最終的性能和Xcode能否提高開發者的工作效率這些問題,由于我和Alex Denisov的觀點產生了明顯的分歧,所以我非常愿意把我們的觀點分享出來和大家交流。

主要有以下幾個方面:

開發環境的問題

  • Xcode
  • project.pbxproj

圖形化 VS 語義(“鼠標驅動的開發”與“鍵盤驅動的開發”)

  • Auto Layout
  • Xibs/Storyboards
  • Focused tests

有諸多問題的集成工具為什么至今還在?

衡量一個集成開發工具的標準很模糊,換言之可能根本沒有標準去衡量它:Monoliths are Bad Design… and You Know It

我們都知道,集成開工具發是事物從出現,成長到走向成熟的必經之路。但某些觀點認為集成開發工具有必要分解成不同功能模塊的組件,這樣每個組件都可以遵循 單一職責 的原則演變并且對系統的其余部分沒有影響。按這種角度來說,LLVM就是從GCC集成編譯器中分離出來的,Carthage,“分散依賴理論的創始人”反對有更多的像CocoaPods這樣的“集成式”工具,模塊化的AFNetwork 2也是由集成式的AFNetwork 1中演化而來,這樣的例子還有很多很多。

這有個例子,是關于蘋果公司如何修復它眾多集成工具之一:Storyboards的。我們花了好幾年時間才從蘋果公司得到的“官方”的功能,將巨大的Stroyboard文件分割成一個一個更小的single-story-foused,像RBStoryboardLink這樣的開源庫則被引入的更早,在2012年: RBStoryboardLink被廢棄了 。

除了上面的Storyboards被優化的例子,仍然有很多集成工具,讓我們看看它們中最有爭議性的一些。

Xcode

顯然Xcode本身就是一個最大的集成工具:它的主要模塊包括文字編輯器和界面搭建器,其它一些是和編譯設置管理功能相關的,比如蘋果賬戶管理,源代碼控制集成等等 為什么Xcode糟透了 。

我們不明白一個巨大的應用做這一切背后的原因,但我們能看到在Xcode7中純代碼文件和xib文件之間的轉換從時間上看可能要花10秒以上,也能看到模擬器的掛起,崩潰或者重啟(工作一天可能會看到5次以上的黑屏)。我們從不使用源代碼控制這個功能,因為它沒法和 SourceTree 這樣的專業的源代碼管理工具相比,甚至是這個工具僅僅是最普通的命令行。

目前,越來越多的人轉去使用AppCode--一款更加注重代碼編寫的集成開發環境。它并沒有圖形開發的恐懼和其他Xcode內嵌的模塊,但卻提供了更好的代碼分析和重構工具。我相信,使用AppCode的開發者有更高的效率,因為他們可以不用去關心那些不是真正需要的事情,比如 CocoaPods 的支持,我認為這不是一個像AppCode這樣“聰明的”IDE所應該有的,有時候看起來為了趕時髦,某些IDE總想讓自己具備所有的功能。

project.pbxproj

project.pbxproj是我認為的僅次于Xcode的第二大集成工具。

我打賭如果你曾經有機會把這個文件從頭讀到尾的話,你一定和我有同樣的印象:這個文件不適合人類管理,我會在心里想它的設計就是反人類的。

模棱兩可的標識符在project.pbxproj文件中隨處可見 (867CFE661BFFDC5E001F85A8 是一個 /* ViewController.m */正如你所知道的),除了有很糟糕的格式外,還有很多東西是我們所無法控制的。想讓下面這些東西變得可閱讀和可編輯么,純文本文件是人們很容易理解和維護的:

  • Project structure
  • Configurations
  • Targets
  • Schemes
  • Build Settings
  • Code signing details,
  • Run Scripts (yo shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-frameworks.sh\"\n";)
  • Build Phases (yo 74E916613A2758307FB74A44 /* Embed Pods Frameworks */ = {),

我們還沒有設法讓CMake來位置iOS的項目結構,但是我堅信下一個.pbxproj文件的代替者將會受一些成熟的編譯系統的啟發,像Make,CMake,Ninja,Gradle等,他們都基于文本文件,更重要的是它們的設計是符合人類的。

下面我們來討論一些組織我們舍棄古板的.pbxproj結構的問題。

分組vs文件夾

我們根本不需要分組,因為每個分組總是和對應一個真實的文件夾。甚至可以認為分組是反模式化的,如果一個人用分組來設計的項目結構和真實文件夾的結構不同的話,這通常表明他缺乏對項目真實文件結構的理解,而僅僅關心的是表面的邏輯結構。

對這點我早就提到過:我們已經準備開始用CMake來替換掉Xcode iOS的項目架構了,并且我們也準備開始用和LLVM的開發者使用的幾乎一樣的_CMakeLists.txt_的方式來維護和開發我們的app的項目架構。

我專門去問了我的安卓開發同事,他也確認在安卓開發中沒有組的概念,這樣當你向項目中添加一個新文件夾,Git的工作樹種除了添加那個文件外其他什么也沒有,而這一點和Xcode剛好相反:當我們像Xcode中添加文件時,在project.pbxproj中也會記錄該文件的入口,這樣會導致我們在merge/rebase操作時產生沖突。

xcconfig文件:包裝和繼承

我們有比xcconfig更好的管理和設置第三方組件,很好地抽象化編譯環境的配置的工具嗎。

這個問題 是我們在2006年提出的,現在還在這:

自動換行:

我寫了一行很長的代碼,超出了我的屏幕:我怎樣才能將它截斷,C的方法不可行。

你可以在編輯器中打開wrapping設置,但是.xcconfig文件對自動換行支持的并不是很好。

自動換行的特性可以讓代碼更具可讀性,并且降低合并代碼時潛在的沖突風險(例如:一個像_-Warning-flags_這樣的字符串)。

繼承 - 如何向xcconfig文件的變量中添加值 :

有人成功的向xcconfig文件的變量中添加過新值嗎?

根據其他人對這個問題給出的原因來看,這個值一般不能被繼承。

我們建議的做法是為相對應的變量添加命名空間,在xcconfig文件的末尾加入這一句:

merge.xcconfig:

  1. <span style="font-size: 16px;">OTHER_CFLAGS = $(inherited) $(APP_PLATFORM_CFLAGS) $(APP_PROJECT_CFLAGS) $(APP_TARGET_CFLAGS)<br></span> 

另一個方法是利用CocoaPods,它會用自帶的生成器生成特定的xcconfig配置文件,在Pods配置文件中加入:

  1. <span style="font-size: 16px;">// Pods/Target\ Support\ Files/Pods/Pods.debug.xcconfig?<br>HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/ObjectiveSugar"<br></span> 

也可以用下面的代替:

  1. <span style="font-size: 16px;">// AFNetworking.xcconfig<br>HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public/AFNetworking"<br>// FinalConfig.xcconfig<br>#include "AFNetworking.xcconfig"<br></span> 

圖形化 VS 純代碼:鼠標驅動開發 VS 鍵盤驅動開發

例子勝過大篇幅的理論,它們的順序是隨機的,讓我們來猜猜誰是誰:

  • 按下Command + U鍵運行測試用例而不是用鼠標點擊小小的紅色或綠色圖標
  • 在Storyboard中用鼠標設置自動布局而不是用 Carthography 這樣的框架去計算frame
  • 用Makefile或CMake這樣的編譯工具構建靜態庫而不是使用Xcode
  • 打開終端執行Git操作而不是Xcode自帶的源代碼管理工具

是的,在項目初期點幾下鼠標確實能幫我們快速地解決血多簡單的問題,但是隨著我們的系統變得越來越復雜,很難再通過鼠標或觸摸板來管理它。

我們的觀點是:蘋果應該把巨大的人力資源投入到語義開發工具的研發中去(測試框架就是一個好例子),而不是研究那些“具備所有功能”的工具,因為鼠標驅動的開發是不可估量的,而語義開發,永恒的面向對象和SOLID原則都能讓系統變得更易擴展。

目前看起來像蘋果這樣偏愛鼠標驅動的開發者,每當有新的UI特性出現時我們更有可能首先在Xcode中得到新的可點擊的控件,但與之相對應的API卻不幫助我們管理復雜的系統并讓兩者的區別兼容。讓我們再來看一些例子。

常說的自動布局和UI

如果我們看看網絡開發,會發現內容(HTML)和樣式(CSS)在早期被劃分的很明顯。內容和樣式都可以由純文本文件管理的特性啟發蘋果引入了一些基于同樣的原理的工具。我不確定有什么特定的原因讓蘋果的這些工具的概念和樣式表的概念如此相似,而那時樣式表還沒被引入。

現在一些原生的工具可能對復雜的自動布局處理的不是很好:我們既沒有圖形化的工具為view設置復雜的約束(除非是真正的鼠標點擊者)也沒有蘋果官方研發的細粒度DSL編程語言(這就是為什么有時候看到成噸的 addConstraint: 代碼時讓我們愿意選擇原生工具)。

這就是為什么如此多的開源解決方案好像開始彌補他們的UI對原生語義支持的不足:ComponentKit和其他的自動布局DSL,像Carthography、Snapkit、Parus都是很好的例子。值得一提的是,到目前為止AFAIK還沒有試圖創建圖形化開發工具,因為沒人想為了鼠標驅動而補做什么事情。

在我們的文件中不需要Xib,也沒有必要在運行時花費時間處理它們。

用圖形化工具搭建一個界面和用OC/Swift代碼實現同樣的效果,兩者之間的差距之大主要是因為Storyboard與Xib沒辦法讓我們看到實現的中間過程。我們所能得到的最終產物只有在應用程序運的行時空間中生成的像視圖控制器或視圖這樣的二進制文件。

完全替代方法是生成中間代碼的形式類,它基于工廠模式,以便為特定的視圖控制器或視圖從工廠產生的Xib/Storyboard文件。不僅將允許開發人員在編譯過程之前甚至開始運行時觀察中間文件,也會消除編譯時和運行時實例化的開銷。你能想象在應用程序的源文件中沒有Xib/Storyboard的二進制文件嗎,你能期待應用程序在instruments中有更好性能表現嗎?

按這個方向發展最終我們會意識到工廠模式是人性化的,并可能引發一場新的UI編程革命。

XCTest在逐漸丟失測試特征

我使用Cedar測試框架已經有三年了:這個框架 標記規范 。但使用XCTest時,當在標記模式下你想跑一個測試用例或者一個測試類,唯一的辦法是用你的鼠標/觸摸板點擊那個小的綠色/紅色圖標,著啊佯作不僅為代表著敏捷開發的測試驅動開發流增加了額外的復雜性,而且降低開發效率。

我們可以使用像 - (void)ftest...`這樣的規范或者更好的Clang注釋來指示XCTest執行我們標記的測試用例。

結論

說實話,如果有人想聽的話我愿意分享更多我對蘋果的觀點。例如,我還沒有寫的第三大集成工具xcodebuild,可能在第二部分又會有一篇文章來談論它。

差不多該結束了:除了上邊給到的例子之外,我們發現了一些在開發中簡單實用的原則:

  • 遠離集成工具。如果你想仔細的思考并且盡可能精細的劃分你的功能模塊,可以使用“高內聚,低耦合”的設計原則。

  • 鼠標驅動型開發無法實現的功能,而有詳細設計類或聲明式編程語言在其中的純文本文件至少有機會做到。

責任編輯:倪明 來源: cocoachina
相關推薦

2020-03-27 14:45:23

PyCharmSublime工具

2012-06-13 01:23:30

開發者程序員

2015-04-01 09:54:47

Apple WatchAPP

2011-12-29 17:09:08

開發者沙龍

2023-10-30 09:02:13

前端Rust

2009-05-25 10:18:29

PHPLAMPGLAMMP

2014-10-31 10:10:49

2017-11-23 15:06:14

前端數據庫開發

2015-01-14 10:46:22

APP開發

2013-03-11 11:20:05

2019-11-14 14:44:32

開發者工具

2018-07-18 09:12:05

開發者Java工具

2017-03-31 20:16:53

華為開發者聯盟

2010-10-19 11:14:06

2011-03-31 15:31:18

PayPalAndroid

2013-10-30 12:51:34

2016-12-19 15:55:10

PHP開發者Composer

2017-02-06 09:22:19

PHP開發Composer

2015-03-13 10:07:26

WatchAPP
點贊
收藏

51CTO技術棧公眾號

日本少妇激情舌吻| 亚洲一区二区偷拍| 中文字幕在线播放| 国产在线日韩欧美| 国内精品久久久久久影视8| 国产又爽又黄无码无遮挡在线观看 | 久久草av在线| 午夜剧场成人观在线视频免费观看| 亚洲第一香蕉网| 国产麻豆精品| 日韩欧美中文在线| 超碰10000| a视频网址在线观看| 国产91精品一区二区| 国产成人aa精品一区在线播放| 亚洲av无一区二区三区| 欧洲精品一区| 制服丝袜成人动漫| 88av.com| 午夜欧美激情| 一区二区三区精品视频| 五月天国产一区| 日本xxxxwww| 久久99精品网久久| 欧洲精品毛片网站| 亚洲精品午夜久久久久久久| 久久国产综合| 亚洲视频一区二区| 久久人妻一区二区| 综合激情五月婷婷| 正在播放一区二区| 在线观看免费污视频| 伊人久久视频| 大荫蒂欧美视频另类xxxx | 亚洲免费大片| 美日韩精品免费观看视频| 变态另类ts人妖一区二区| 老司机精品在线| 日韩欧美一级精品久久| av网站在线不卡| 婷婷午夜社区一区| 欧美视频免费在线| 俄罗斯av网站| 国产传媒在线| 图片区小说区区亚洲影院| 日韩一级特黄毛片| 午夜激情在线| 亚洲一区二区三区四区在线| 亚洲精品不卡| 日本视频在线| 亚洲欧洲日韩在线| 吴梦梦av在线| 八戒八戒神马在线电影| 亚洲人妖av一区二区| 综合久久国产| sm国产在线调教视频| 欧美韩国日本一区| 小说区图片区图片区另类灬| 成人动漫在线免费观看| 国产欧美一区二区在线| 亚洲国产精品综合| 在线免费av电影| 综合久久久久久| 97av中文字幕| 成人bbav| 91福利在线观看| 男女污污的视频| 成人免费av电影| 欧美久久久久久久久中文字幕| 不卡的av中文字幕| 另类视频一区二区三区| 精品国产麻豆免费人成网站| 欧美xxxxx精品| 国产精品入口久久| www国产精品com| 欧美成人精品激情在线视频| 在线免费观看欧美| 国产91在线播放| 国产一区二区自拍视频| 国产69精品久久久久毛片| 精品伦精品一区二区三区视频| 十九岁完整版在线观看好看云免费| 久久免费国产精品| 少妇熟女一区二区| 123区在线| 欧美丝袜自拍制服另类| ass极品水嫩小美女ass| 中国av一区| 久久精品国产久精国产一老狼| 青青草手机视频在线观看| 一区二区日韩免费看| 国产精品你懂得| 成人黄色在线观看视频| 久久亚洲综合色一区二区三区| 亚洲欧美日本国产有色| 国产乱码在线| 欧美亚洲丝袜传媒另类| 成年人性生活视频| 国产欧美日韩精品高清二区综合区| 色吧影院999| 九九视频免费看| 天堂一区二区在线| 99视频日韩| 午夜视频在线看| 欧美日韩性生活视频| 伊人国产精品视频| 欧美日韩在线网站| 国内偷自视频区视频综合| 中文字幕一区二区三区波野结| 国产91对白在线观看九色| 亚洲欧洲日韩精品| 日韩激情电影免费看| 日韩一区二区在线看| 女女互磨互喷水高潮les呻吟| 欧美视频日韩| 国产精品视频自拍| 男人av在线| 亚洲va韩国va欧美va精品| 在线看的黄色网址| 首页亚洲中字| 欧美黑人巨大xxx极品| 91成人一区二区三区| 久久久久久久免费视频了| 国产精品久久久久久久久电影网| 欧美综合影院| 中文字幕精品国产| 波多野结衣黄色网址| 99久久精品免费精品国产| 一级性生活视频| 亚洲伦理网站| 日韩在线视频一区| 中文字幕在线视频免费| 久久久久久日产精品| 激情深爱综合网| 狠狠一区二区三区| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲天堂中文网| 国产女主播在线一区二区| 超碰影院在线观看| 免费国产自久久久久三四区久久| 97视频色精品| 亚洲色图欧美视频| 午夜私人影院久久久久| 国产51自产区| 欧美日韩一卡| 成人av资源| 狂野欧美性猛交xxxxx视频| 欧美一级爆毛片| 青青青在线免费观看| 国产伦理精品不卡| 日本美女爱爱视频| 91精品国产乱码久久久竹菊| 欧美黑人一级爽快片淫片高清| 国产激情久久久久久熟女老人av| 亚洲欧美乱综合| 99久久综合网| 亚洲全部视频| 久久精品中文字幕一区二区三区| 交100部在线观看| 亚洲欧美中文日韩v在线观看| 日韩一级在线视频| 国产精品天美传媒沈樵| 国内av一区二区| 午夜日韩激情| 国产在线精品一区二区中文 | 亚洲va欧美va人人爽午夜| 国产精品扒开腿做爽爽爽a片唱戏| 伊人成人在线| 欧美精品一区二区三区在线四季 | 主播国产精品| 精品电影一区二区三区| 国产精品久久久久久久久久久久久久久久久 | 日韩一级片在线播放| 国产一级视频在线| 久久久久久久久久看片| 亚洲污视频在线观看| 你懂的国产精品| 精品日韩美女| 免费日韩成人| 欧美精品激情在线| 裸体xxxx视频在线| 欧美一区二区高清| 亚洲精品男人的天堂| 中文字幕在线不卡| 超碰caoprom| 亚洲影视在线| 国产日韩视频在线播放| 欧美日韩直播| 成人国产精品色哟哟| аⅴ资源天堂资源库在线| 国产一区二区三区在线视频| aaa国产视频| 色哟哟国产精品| 日本精品在线免费观看| 99久久久免费精品国产一区二区| 亚洲一区在线不卡| 亚洲国产一区二区精品专区| 天堂精品视频| 秋霞蜜臀av久久电影网免费| 91精品久久久久久久久青青| 91福利在线免费| www.亚洲男人天堂| 亚洲经典一区二区三区| 91福利社在线观看| 日产电影一区二区三区| 中文字幕亚洲区| 成人h动漫精品一区| 国产精品一卡二卡| www.com操| 爽好久久久欧美精品| www.九色.com| 国产韩国精品一区二区三区| 噜噜噜噜噜久久久久久91| 日韩区一区二| 成人网在线观看| 精品免费av在线| 8x拔播拔播x8国产精品| 亚洲图区一区| 久久精品一偷一偷国产| 国产在线中文字幕| 精品亚洲国产视频| 日韩一区二区三区在线观看视频 | 欧美一区二区少妇| 精品国产一区二区国模嫣然| 国产又粗又黄又爽的视频| 在线亚洲+欧美+日本专区| 日本熟妇毛茸茸丰满| 亚洲蜜臀av乱码久久精品| 在线免费看视频| 久久久精品tv| 亚洲天堂视频一区| av中文字幕亚洲| 国产精品熟妇一区二区三区四区| 精品夜夜嗨av一区二区三区| 我看黄色一级片| 久久久久久久高潮| 久久精品国产精品亚洲色婷婷| 亚洲视频一二| 高清无码一区二区在线观看吞精| 日韩欧美高清在线播放| 亚洲高清资源综合久久精品| 国产一区日韩| 亚洲欧美丝袜| 91亚洲成人| 免费看啪啪网站| 久久久久久免费视频| 97超碰免费观看| 欧美成人日本| 女人被男人躁得好爽免费视频| 欧美国产另类| 日本欧美视频在线观看| 精品1区2区3区4区| 国产美女网站在线观看| 国产一区二区三区久久| 国产日产欧美视频| 日日夜夜精品免费视频| 老熟妇仑乱视频一区二区| 天使萌一区二区三区免费观看| 不卡影院一区二区| 免费成人美女在线观看.| 中文字幕 日韩 欧美| 国产河南妇女毛片精品久久久| 师生出轨h灌满了1v1| 成人av在线资源| 中文字幕日韩三级片| 久久久国产午夜精品| 9.1片黄在线观看| 日韩理论片在线| 久久久久免费看| 欧美日韩精品在线观看| 国产午夜无码视频在线观看| 欧美日韩激情一区二区三区| 99在线观看免费| 亚洲激情视频在线观看| 国产美女性感在线观看懂色av| 日韩中文字幕视频在线| 欧美黑人猛交| 国产精品av网站| 久久久91麻豆精品国产一区| 国产欧美日韩伦理| 欧美一站二站| 成人午夜免费剧场| 久久精品国产清高在天天线| 男人的天堂最新网址| 成人免费视频一区| av手机在线播放| 亚洲国产精品人人做人人爽| 免费看污视频的网站| 日韩网站在线看片你懂的| 肉丝一区二区| 蜜臀久久99精品久久久无需会员| 老色鬼在线视频| 成人亚洲激情网| 亚洲精品白浆高清| 久久香蕉视频网站| 日韩综合在线视频| 国产高潮失禁喷水爽到抽搐| 久久久国产午夜精品| 麻豆亚洲av成人无码久久精品| 一本一本大道香蕉久在线精品 | 国产成人免费视频精品含羞草妖精| 国产乱了高清露脸对白| 日韩毛片高清在线播放| 毛片视频网站在线观看| 欧美一区二区免费| av在线资源网| 亲子乱一区二区三区电影| 国产一区精品二区| 亚洲成人自拍| 亚洲制服av| 亚洲日本久久久| 国产精品色眯眯| 国产婷婷色一区二区在线观看| 在线综合亚洲欧美在线视频| 你懂的在线免费观看| 欧美精品videossex88| 少妇精品视频在线观看| 欧美一区二区三区精美影视| 狠狠噜噜久久| 青娱乐国产精品视频| 国产精品久久久一本精品| 亚洲日本视频在线观看| 日韩精品一区二区在线| 黄色在线免费| 国产精品三级在线| 精品日韩欧美一区| 北条麻妃在线视频| 97久久人人超碰| 日韩乱码人妻无码中文字幕| 日韩精品一区二区三区老鸭窝| 米奇777四色精品人人爽| 国产精品久久久久久一区二区| 免费成人高清在线视频theav| 日韩小视频网站| 国产不卡视频一区二区三区| 男人的天堂久久久| 日韩午夜在线观看| 色www永久免费视频首页在线| 亚洲一区二区在线| 91精品国产自产拍在线观看蜜| 911福利视频| 亚洲日本韩国一区| 精品久久无码中文字幕| 久久成人在线视频| 涩涩屋成人免费视频软件| 小泽玛利亚av在线| 国产精品综合在线视频| 久久久久久久福利| 亚洲国产精品久久91精品| 成人免费网站观看| 欧美日韩在线观看一区| 另类图片国产| 91在线无精精品白丝| 欧美日韩一区二区电影| 黄色动漫在线| 成人欧美一区二区三区在线观看 | 一区二区三区国产精品| 亚洲国产精品久久久久久久| 欧美激情亚洲精品| 欧美三级电影在线| 免费看a级黄色片| 国产精品久久毛片| 精品人妻一区二区三区浪潮在线 | 伊人成色综合网| 国产欧美日韩在线| 99久久久久久久| 国a精品视频大全| 亚洲警察之高压线| 在线观看免费成人av| 亚洲乱码中文字幕| 亚洲第一天堂影院| 欧洲精品久久久| 亚洲国产一成人久久精品| 日韩女优在线视频| 色噜噜偷拍精品综合在线| 欧美成人精品一区二区男人看| 999精品视频一区二区三区| 99国产精品久久久久久久| 久久久久久久毛片| 日韩欧美一区二区在线视频| 中文av在线全新| 一本二本三本亚洲码| jizz一区二区| 做爰无遮挡三级| 欧美激情伊人电影| 精品av一区二区| 中国特级黄色片| 欧洲av在线精品| 丁香花高清在线观看完整版| 欧美另类一区| 国产成人在线影院 | 欧美xxxhd| 自拍偷拍亚洲色图欧美| 99久久精品国产毛片| 国产又黄又猛又爽| 8x拔播拔播x8国产精品| 亚洲精品国产偷自在线观看| av在线网站观看| 日韩午夜激情av| 日韩成人在线一区|