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

資深開發者:為什么Ubuntu移動操作系統會失敗?

新聞 系統 移動開發
 Simon Raffeiner 是一名開發者,曾經為 Ubuntu 手機平板項目服務。在項目的起伏動蕩之中,Simon Raffeiner 學到了不少經驗,讓我們聽聽他是怎么說的。

Simon Raffeiner 是一名開發者,曾經為 Ubuntu 手機平板項目服務。在項目的起伏動蕩之中,Simon Raffeiner 學到了不少經驗,讓我們聽聽他是怎么說的。

  現在 Ubuntu 手機與平板已經遠去了,這個項目為什么失敗?從中能學到什么?我有一些個人之見可以供您參考。

  先來簡單介紹一下我參與 Ubuntu 項目的經歷:2013 年 Ubuntu Touch 發布到 2014 年 12 月,我斷斷續續在 Nexus 7 上使用 Ubuntu Touch;2014 年 12 月,我開始開發 Click App;2015 年 1 月,我開始撰寫“Hacking Ubuntu Touch”系列博客文章,共 15 部分,談論系統的內部結構,后來還加入了 Ubuntu Phone Insider,從 Canonical 拿到一臺魅族 MX4 手機,組織并贊助了 UbuContest app 開發大賽,之后一直在編寫漏洞報告、制作 App,直到 2016 年 4 月才停止,到了 2016 年年中時,我廉價出售所有剩下的設備——或者轉化了設備。因為有過這么一段經歷,所以我認為我可以就這個項目談談自己的想法,說說它所面臨的挑戰,說說它有哪些地方本來可以做得更好,但是沒有做好。

  請注意,這篇博文并不適用于 UBPorts 項目,這個項目還在繼續開發手機操作系統、Unity 8 及其它組件。

[[223490]]

  它并沒有瞄準有利可圖的細分市場

  面向 PC、筆記本、服務器的 Ubuntu 系統發展過程要順利一些。幾乎所有設備都允許你安裝任何操作系統,2004 年 Ubuntu 崛起時,最大的對手微軟相當脆弱,容易招來攻擊。Windows 的名聲不怎么好,價格很貴,占用太多資源,Ubuntu 只要不那么煩人、便宜一些、容易安裝、能在舊電腦上跑得更好就行了。Ubuntu 正是這樣做的。Windows 的聲譽并沒有好轉,繼續糟糕下去,現在甚至還監控用戶,價格依舊高高在上。所以 Ubuntu Desktop 沒有、也沒有必要做太多正確的事,就能維持用戶量,并且保持增長。

  再看服務器市場,Windows、紅帽、SUSE 都有點太保守了,速度太慢了,價格也貴。紅帽企業付費訂閱產品每年要收幾百美元,而且付費之后還無法獲得必要的人力支持。如果能夠開發一件產品,跑得更快,成本更低,得到產業的支持,擁有大量的功能,肯定能吸引許多人,在云端尤其如此。后來 Ubuntu 成為了 OpenStack 的參考操作系統,這件事幫助很大。

  在移動設備領域,一切都不同了。在手機或者平板上,你不可能讓任何類型的操作系統快速發展起來。每一臺設備都安裝定制 Andorid,系統經歷過特殊的裁減。2013 年,Ubuntu 宣布進入移動市場,不論是 Android 還是 iOS,都不容易遭受攻擊。相反,Android 還向其它平臺大舉入侵,只有 iOS 例外。有些人之所以期待第三方替代者冒出來,并不是因為 Android、iOS 名聲不好、限制太多或者用戶體驗糟糕,而是因為他們擔心谷歌會一統天下。正因如此,攻擊 Android、iOS 并不像攻擊微軟、紅帽(在 PC、服務器領域)那么容易。

  我還記得,Canonical 的人曾經說過,項目只有從移動市場拿下大約1% 的份額,才能持續生存。要達到目標,意味著每年要銷售大約 1100 萬臺 Ubuntu 手機、幾百萬臺平板。如果從每臺設備的軟件和服務中獲得 1 歐元/美元的收入,就能養得起 100 名開發者,如果指揮得當,這么多人就夠了。Sailfish OS 是 Jolla 開發的,曾幾何時,Jolla 大約有 120 名員工,它們還要設立營銷、支持部門,Canonical 已經擁有這樣的部門。問題在于,每年銷售 1100 萬臺手機、幾百萬臺平板是一個艱巨的任務,看看 Ubuntu Desktop 的用戶量,估計只有 2000-3000 萬。

資深開發者:為什么 Ubuntu 移動操作系統會失敗?

  ——獲得1% 市場的可能性之一:做得比競爭對手好很多,這樣你的產品就會流行起來,那就不用擔心1% 了。我認為,大家都清楚這樣的事情不會發生,因為有一點很明顯:所有的重要服務(WhatsApp、谷歌、Twitter、Instagram 等)都不允許我們克隆它的 App,在 Ubuntu 設備上運行。如果 Canonical 不開發自己的 Telegram 客戶端,當第一款商用版 Ubuntu 手機上市時,甚至連 Instant Messenger 工具都沒有。當時已經是 2015 年,大家幾乎無時不在使用 Instant Messenger。如果 Ubuntu 手機不能做 Android 手機所做的事,大家就不愿意付同樣的錢購買 Ubuntu 手機,即使手機上寫著“開發者設備”也一樣。

  ——獲得1% 市場的可能性之二:拿下一塊利潤豐厚的細分市場。Canonical 過于關注所謂的“Convergence”(聚合)細分市場,這個市場的人不夠多,但 Canonical 忽視了所有的黑客、“程序修補匠”、以及那些無法忍受谷歌、微軟的人,NSA 正在盯住這些人。花很多的錢購買一臺手機,當它與外接顯示器連接時可以變成較慢的筆記本,并沒有多少人做好準備買這樣的東西,但是有很多人準備花高價錢購買 Blackphone。

  用戶體驗糟糕、沒有抓準重點

  推出最初的幾版 OTA(over-the-air)升級程序之后,我問自己:“bq 和魅族——尤其是它們的客戶——真的想干下去嗎?”手機很慢,在常規使用中老是要重啟。魅族 MX4 有點過熱。電池指示器給出的數據不準,移動數據不穩定,許多時候無法在國內漫游,定位服務也是相當不靠譜。來電時,手機老是沒有鈴聲,或者你沒有辦法打出電話,因為 UI 擋住了按鈕。鬧鐘不好用,藍牙只支持音頻設備,或者最新的輸入設備,但連基本的文件傳輸功能都沒有。WiFi 沒有辦法連接到 WPA Enterprise 網絡,這個問題直到 OTA-5 才解決。當我索引文件時,音樂播放器甚至還會刪除文件。

  有些東西你認為管用,但實際不能用,這樣的東西很多很多。還有一點更糟糕:一些漏洞修復之后,經過 2 次 OTA 升級之后居然又跑回來了。在手機/平板項目推行的整個過程中,向 Launchpad 提交的漏洞報告很多,數量沖到太空去了,超乎我的想像。

  根治漏洞并不是優先考慮的事,開發者將大部分時間用來拓展平臺,讓軟件支持更多的硬件(魅族 Pro 5,bd Aquaris 10),專注于“Convergence”(聚合)。到了項目快要結束時,與我交流過的用戶大部分都對設備不滿意。只有那些使用基本功能的人滿意,比如我的父親,他甚至不使用移動數據,每兩天才打一個電話,他之所以滿意是因為手機可以續航幾天。買一臺 150 歐元的智能手機,卻不使用任何“智能”功能,真說不過去。

  我表示理解,因為沒有足夠多的開發者快速修復所有問題,但是我們既沒有開發出很好的 Convergence 手機,也沒有很好的 Convergence 平板,相反,設備做任何事情都做不好。項目的人一直在說:“這是開發者設備,不必追求快速,因為從長遠來看我們會獲勝。”直到某一天管理層才意識到,這樣做成本太高了,而且已經浪費了很多時間。此時,我們開始在內部削減開支,大約在 2016 年 10 月時,所有重要員工全都搬到了 Snappy,讓手機和平板項目在沉默中死亡,直到幾個月后才告訴公眾。

  我認為,設計師老是抱著“Scopes”的觀念,遲遲不變,這點不好,沒有人真正知道如何在桌面端使用 Scopes。

[[223491]]

  設備很難弄到

  想弄一臺設備真的難,相信大家有同樣的感受。我在店鋪里買了自己的第一臺 Nexus 7,在 eBay 買了一臺 Nexus 4,當項目開始蓬勃發展時,這些設備已經舊了,更難買到,很快,官方就不再支持了。Bq 的設備至少還在歐洲大多地區銷售,但是很快就賣光了。除了 Ubuntu Phone Insiders,其它人想買到 MX4 真是很難,簡直就是痛苦。如果你在美國,拿到一臺設備,許多時候根本無法全速連接到移動網絡。

  2015 年和 2016 年的大多時間里,如果開發者想弄到一臺官方支持的設備,測試 App,我真不知道該向你推薦什么。

資深開發者:為什么 Ubuntu 移動操作系統會失敗?

  從另一方面看,大家最想要的設備卻不是自己拿到的設備,最想要的是高端 Ubuntu Edge。Bq 設備很便宜,內部存儲空間很小,只支持 3G。MX4 很快,安裝了大屏,支持 4G,但再無其它,甚至沒有 SD 卡槽。在所有官方手機中,Convergence 需要的 HDMI 輸出接口全都沒有,Miracast/Aethercast 也不是很好的解決方案。許多人認為,Ubuntu 應該可以讓它們的硬件發揮最大潛力,比如在 Aquaris E4.5/E5 上支持 FM 廣播,不過這個功能甚至都沒有出現在清單上,如果沒有 Android 設備驅動,社區根本沒有辦法增加此功能。

  大多人都認為 Ubuntu 手機會比 Android 更安全,因為它是開源軟件,可以快速升級。但事實并不是這樣的,Android 驅動和移動基帶是專有的、安全的,可以完全訪問硬件。不過這些東西理解的人不多。

  溝通與營銷有點混亂,有時還存在誤導

  每一天,我都要花很多時間關注最新進展,許多時候,我根本不知道接下來會有什么出現,下一個 OTA 又會怎樣。郵件列表、IRC、Telegram 頻道、Launchpad、官方網站、開發者的私人對話、Ubuntu Online Summit……東西太多了。我還沒有將 Canonical 非公開對話放進來,這些交流是保密的,目標是保密,希望消息公開時能獲得新聞媒體最大的關注。

  Canonical 的許多員工在家工作,或者在不同的時區工作,在我看來,這種辦公方式變得越來越糟糕。曾幾何時,我碰到一些麻煩,比如:“當我按下電源按鈕,一秒之后手機才喚醒。”“電池指示器有問題。”我希望他們重視這些漏洞,尋求幫助,服務真是折磨人。

  為設備開發內核源碼的人可能來自亞洲,至于負責Q&A的人,可能在美國某個地方工作。我自己在歐洲。工作輪班并沒有重疊。有時我會早上 8 點與某個亞洲人聊天,在他下班之前交流;然后又在下午或者晚上與美國的人交流,他們剛剛才上班。

資深開發者:為什么 Ubuntu 移動操作系統會失敗?

  不得不承認,我從營銷部門學到了許多東西,在“預期 VS 現實”方面學到的更多。例如,許多人假定,在隨后的 OTA 升級過程中,Aquaris E4.5/E5 和 MX4 會加入 Convergence 功能,不過在銷售設備時,制造商與 Canonical 都沒有這樣宣傳過。直到項目取消了,大多人還認為以后可以在桌面端(火狐、SIP 客戶端)運行同樣的應用,可以通過軟件包安裝(apt-get)管理手機,這些想法完全是被營銷給誤導了。許多時候,團隊都強調說 Ubuntu 會保持一致,事實并不是這樣的。火狐沒法運行,使用軟件包安裝(apt-get)會出問題,為了這樣的事,我無數次通過各種渠道向人們解釋。大家很吃驚,他們發現原來面向移動設備的 Ubuntu 居然如此不同。

  太關注用戶、App 開發者不關心的技術功能

  我認為,對于架構師來說,如果你宣布推出一個新的、獨立的移動操作系統平臺,最好的理由應該是這樣的:“好吧,讓我們動手干吧,但是要以正確的方式進行,要做得比其它人好。”Ubuntu 不能只是關注圖形用戶界面,還要讓系統在所有設備上運行,接受各種形狀的設備。不能只是搞一些相互隔離的應用程序,就像 Linux 內核或者 Android 一樣,還要進行全面的限制,保護用戶的數據和隱私。系統必須防止 App 消耗太多電能。不論其它平臺在技術方面做了什么,Ubuntu 都應該做得更好,以更優雅的方式完成。

  對于我來說,這些東西并不是全都有意義。Unity 8 是有必要的,因為 Unity 7 依賴的是 Compiz,它無法良好兼容各種形狀的產品,有些設備安裝旋轉屏。不過 Mir 的唯一作用就是替代X.Org 和 SurfaceFlinger,這樣一來,Unity 8 就可以在 PC、移動設備上使用一個 API。我不是圖形技術專家,也不是 API 專家,不過站在“人力資源非常有限”的角度看,這樣拿出一個全新的顯示服務器,但是沒有其它人愿意使用,與現有替代產品相比也沒有多少提升,應該少做這樣的事。如果用戶界面看起來沒有什么不同,就更應該避免了。自 2013 年年末以來,Ubuntu Touch 一直使用 Android 的 SurfaceFlinger,用得還很歡快。

  為了節省一點點電量,你將設計弄得很復雜,而且這種復雜還會給系統服務的部署帶來更多工作量,這些服務從未被部署,因為你的團隊太小,用戶和 App 開發者不會因為你的設備續航時間延長了一點點而喝彩,相反,他們會有無窮的抱怨,因為缺少了這樣那樣的東西。在 Launchpad 平臺上,經常出現“Complete the high priority background service implementations”這樣報告,相關的漏洞報告數量達到 240,此時項目已經推出 3 年,但在漏洞方面基本上沒有什么改進。

  還有一個好例子就是規劃好的信息框架。對于你的所有信息需求,不論是 Jabber/XMPP、SMS、Telegram 或者 WhatsApp,你只有一個系統應用程序,第三方資源可以為自己的服務提供插件。為什么不讓 App 在后臺運行?這套框架是主要的障礙之一。你沒有辦法制作一個簡單的獨立 XMPP 客戶端,在后臺接收信息,但是你想插入的信息框架卻姍姍來遲,與沒有推出差不多。甚至連 Telegram 客戶端也無法在后臺運行,它只能顯示彈出式通知,因為 Canonical 說服了 Telegram 開發者,修改他們的服務器代碼,支持 Ubuntu Push Notification 服務。

  在 Canonical 平臺上,有一些關鍵開發者認為 Ubuntu 如此重要,所有的服務提供商都會修改服務器代碼,使用 Ubuntu Push Notification 服務,解決此問題。但是除了 Telegram,其它服務提供商都沒有這樣的想法。

  App 開發者的生活太苦了

  移動操作系統的價值并不在于當下的基本操作系統,而在于生態系統。這也是 Ubuntu 最難攻克的難關。

  從本質上講,面向移動設備的 Ubuntu 不兼容任何之前存在的運行環境。你沒有辦法運行 Android、Windows、X11 或者 iOS App,不能跨平臺編譯 Android、Windows、X11 和 iOS App。圖形系統、系統服務、限制、基本庫,全都不同。移動 Ubuntu 和 Ubuntu Desktop 是完全不同的。你可以一而再再三強調說“它們是完全一樣的 Ubuntu”,如果我們不能在桌面端測試我的 App,因為它甚至都無法運行 Mir,那就不能說它們是完全一樣的 Utuntu,我必須接受兩個不同的平臺。

  Canonical 開發了完整的 SDK,基于 Qt Creator 的“集成開發環境”( Integrated Development Environment),跨平臺編譯環境,以及一套全新的 Ubuntu QML 組件。我沒有冒犯任何人的意思,除了不能重新使用現有代碼,這樣做還會給 App 開發者帶來困惑,讓人沮喪。從頭到尾事情總是不順利。有時 SDK 幾周都沒法用,然后團隊又拿出了版本控制方案,你的 App 老是出問題。

[[223492]]

  有時,我必須在程序店內重建、升級我的 glmark 2 App,因為 OTA 內包含了更新后的 Mir 客戶端庫,但是 OS 的兼容等級仍然與之前一樣。事情變得很明確:版本控制方案只能向你保證,用官方支持的方式編寫 App,它才能正常運行,而官方支持的方式只有 QML、HTML5。glmark2 直接與 Mir 對話,還有許多其它程序也一樣——比如用 SDL 開發的游戲。

  每一次 OTA 之后,如果你不能持續檢查、更新,程序店內的 App 就沒法用了。在最新的 Android 手機上,你可以繼續使用舊 Android App,不過你必須擔心一件事:如果你長時間不維護,完成下一次 OTA 之后,你去年開發的 Click App 可能就沒法用了。我還記得,2015 年年末曾經在 IRC 有過一場激烈的討論,當時幾名 Canonical 開發者發現了這個問題,他們質問 SDK 團隊:到底 SDK 團隊希望 App 開發者如何在這樣的環境下工作? 

  最開始時,我是一名 App 開發者。當我想開發一些東西時,基本上都要從零開始。想開發 GUI?只能用帶有 Ubuntu QML 組件的 QML 開發,而 QML 并不是什么成熟的生態系統,沒有大量已有的代碼存在,也沒有什么好工具。是不是只想使用現有 UI 庫中的一個?只能指望 X11 或者 Wayland,如果想等到 SDL 或者 Mir 后端出現,那樣時間太長了。想與硬件或者系統服務對話?因為受到了限制,我必須通過D-Bus 與特殊 Ubuntu 服務對話,許多“標準”的東西(比如 NetworkManager)無法與限制之內的東西對話。想在后臺下載一些東西嗎?請與特定的 Ubuntu 下載管理服務連接。如果手機之外發生了什么事,你想收到通知,怎么辦?你只要將所有東西與 Ubuntu Push Notification 整合才能做到。

  正因如此,我開始開發基礎系統。2015 年 1 月時,我想開發 Wi-Fi 和藍牙掃描功能,但是需要的 API 和系統服務全都不存在,大多東西都缺少,API 與系統服務也永遠不會出現。

  因為上述種種原因,對于第三方開發者來說,平臺沒有什么吸引力。投入時間精力重新開發另一個版本的 App,實在看不出有什么價值,加上用戶基數本來就不大,那就更不值得了。在 Click Store 內,我基本上找不到一個 App 是由“原始”開發者上傳的。甚至連 Telegram 都是由 Canonical 自己開發的。

  大多人只會跑去開發便宜的 WEB App,或者克隆現有 App。很快,這樣的做法就碰到了問題,許多 App 依賴某些不自由的網絡服務,而且服務的條款極不友好。例如,我自己開發了 BD Navigator,它相當于德意志聯邦鐵路 Navigator 的克隆體。我對客戶端-服務器協議進行逆向工程,幾乎可以復制所有東西,只是不能購買真正的火車票,因為德意志聯邦鐵路在程序內植入了加密信息,如果使用偷來的加密密鑰,在德國可是犯法的。我問德意志聯邦鐵路,能否允許我這樣做,他們說不行。最終我只能將整個 App 降級,將它變成一個 WEB 容器,里面包含從德意志聯邦鐵路的移動 WEB 頁面收集的書簽。

  WhatsApp、Twitter、Instragram、谷歌 Plus、谷歌 Drive 等服務也碰到了相似的問題。大多東西我們都能復制,但是服務提供商不允許你這樣做。例如 WhatsApp,如果你想獲得授權,接入它的 API,必須支付一大筆錢(達到 7 位數),而且 WhatsApp 不允許別人開發可以運行的客戶端 App。Instagram 封鎖了 API,就連內置的 Instagram Scope 也不得不撤下。對于大多服務,谷歌甚至沒有提供開放的 API。

  原本想讓項目變得開放、以社區來驅動,結果未能如愿

  我知道,關于這個觀點肯定有很大的爭論,如果你不同意,那么請記住:這只是我自己的看法。我可能屬于少數派。

  照設想,面向移動設備的 Ubuntu 應該像“普通”Ubuntu 一樣開放,但是事實并非如此。

  ——我們開發了一些東西,這些東西的源代碼都在那里,放在某些地方,在 Launchpad 項目(不知道有多少)上擴散。

  ——內核源代碼放在 GitHub,許多時候都過時了。

  ——所有專用 Android 驅動及其它內容的代碼,只有一些 Canonical 員工才能看到。

  ——Canonical 和商務合作伙伴設立了一個 Launchpad 區域(完全私有),里面會在私密漏洞報告。許多時候,公開漏洞報告的鏈接會指向私密報告,這樣一來,你只能看到一半的信息。

  ——大量數據會在無意之間泄露,主要通過 paste.ubuntu.com 泄露,關于即將到來的設備,許多信息通過搜索就能找到。

  ——當我們想了解即將到來的新功能時,經常會找到相似的 Launchpad 項目,這些項目早在幾周或者幾個月前就開始做了,以代號的形式進行,或者 Canonical 開發者已經私下開發了幾個月。

  ——對于沒有為 Canonical 工作的人來說,想了解它們做了什么、有何規劃、你可以從哪里加入從哪里退出,真的有點難。

  ——如果你發現有些事情自己可以幫忙,想與 Canonical 開發者保持聯系相當難。他們在工作日至少會工作 8 小時,但是你可沒有 8 小時的閑暇時間,你的閑暇時間經常與他們的工作時間是不重疊的。

  ——用戶和寬泛社區的愿望似乎對接下來要開發的功能、下一個 OTA 要做的事沒有什么大的影響。許多時候,那些最熱門的 Launchpad 漏洞報告、功能請求存在的時間最長。

  FAQ

  有些問題會被大家經常問到。

  ——為了做開發,你買了多少設備?

  我買了兩臺新的 Nexus 7、兩臺舊 Nexus 4,三臺新的 bq Aquaris E4.5,兩臺便宜的聯發科手機(用于逆向工程),為 Ubuntu 做開發。我還從 Canonical 弄了一臺 MX4 手機。我想我買了 7 臺手機、2 臺平板,花了 1000 多歐元。

  ——能估計一下你投入了多少時間嗎?

  可以。計算了一下,我發現,在長達 18 個月的時間里,我投入了 6 個人工月(一人一個月內完成的工作量),這樣的工作量與 Canonical 聘請我、投入 30% 的兼職時間為他們工作差不多。

  ——你后悔投入這么多時間和精力嗎?

  不后悔。

  ——你什么時候開始懷疑項目會失敗的?

  如果記得沒錯,大概是 2015 年圣誕吧。當時項目的發展越來越不順利,事情越來越清楚,我們不可能擁有完整的 WhatsApp、Twitter App,你開始看到,對于許多手機用戶來說,再也沒有什么真正重要的東西。Convergence 平板項目還在推行,但是拿到 bq Aquaris M10 平板的人并不多。

  還記得我剛才說過嗎,我曾開發過基本操作系統,因為在我想開發的 App 中,有一半沒有辦法開發。努力一年之后,我需要開發的 API 和系統服務沒有一個完成的,我們還在與一些系統架構師爭論:到底系統是不是應該擁有我們需要的所有東西。當你們的 APP 開發者告訴你,說他們需要一些東西,這樣才能開發出很酷的 APP,你應該給他們一些東西,讓架構師在可以預見的未來勉強度日。不必完美,但是相比開發者對你的需要,你更需要開發者。

  ——你是 2016 年年中離開的,比項目真正終結的時間早了很多。為什么?

  我對軟件開發的興趣并不大。現在我將更多的閑暇時間留出來周游世界,攝影,制作糟糕的卡牌游戲、糟糕的漫畫和糟糕的游戲。

  另一方面,我覺得繼續為項目工作無法再讓我感到高興。有時,坐在一臺設備之前連續鼓搗 8 小時,我會想:“我做得不夠好,這是我的錯誤。”既然用業余時間來工作,不應該這么無趣。

責任編輯:張燕妮 來源: 36Kr編譯
相關推薦

2013-02-22 11:25:27

UbuntuUbuntu移動操作系

2012-07-13 13:51:57

AndroidiOS

2016-05-26 10:57:51

2013-01-05 10:02:33

Ubuntu移動

2013-10-30 12:51:34

2025-03-06 08:30:00

C++開發vector

2013-03-28 19:25:35

騰訊云

2011-11-29 14:27:12

移動開發者手機平臺移動開發

2015-07-29 09:53:57

前端開發總結

2011-12-30 10:28:15

Win 8操作系統難題

2020-12-09 09:55:04

谷歌Fuchsia開發者

2011-05-23 09:54:59

盈利移動廣告開發者

2013-04-25 10:14:39

Facebook開發者開發

2009-12-14 18:27:21

Linux操作系統

2012-09-21 14:35:01

2010-01-05 17:16:51

2010-01-06 15:41:07

Linux操作系統

2012-05-02 10:08:51

桌面Linux微軟

2011-06-15 10:32:12

2023-03-22 09:10:18

IT文檔語言
點贊
收藏

51CTO技術棧公眾號

欧美黄网在线观看| 91久久精品一区| 麻豆av一区二区三区| 你懂的国产在线| 激情五月综合网| 欧美日本一道本在线视频| av日韩在线看| 国产高清一区在线观看| 国产一区二区成人久久免费影院 | 五月天一区二区| 国产成人一区二区三区电影| 欧美aaa级片| www.神马久久| 色伊人久久综合中文字幕| 五月天在线免费视频| 日韩大胆人体| 国产成人精品免费视频网站| 国产激情久久久久| 国产对白videos麻豆高潮| 日韩欧美网站| 国产婷婷97碰碰久久人人蜜臀| 三级av免费观看| 天堂中文av在线资源库| **性色生活片久久毛片| 欧美日韩精品免费看 | 精品在线一区二区三区| 91精品国产91久久| 久草视频免费在线播放| 99久久夜色精品国产亚洲96| 91精品91久久久中77777| 青青草综合在线| 婷婷成人激情| 国产视频一区二区在线| 精品免费视频123区| 国产福利小视频| 久久爱另类一区二区小说| 清纯唯美亚洲激情| 可以免费看的av毛片| 欧美先锋影音| 欧美巨大黑人极品精男| 亚洲激情图片网| 欧美色就是色| 国产亚洲成av人片在线观看桃| 久久久久久久人妻无码中文字幕爆| 国产后进白嫩翘臀在线观看视频| 最新国产成人在线观看| 亚洲美女搞黄| 午夜在线播放| 国产精品久久久久久久久久免费看 | 欧美精品密入口播放| 精品国产一区二区在线观看| 佐佐木明希电影| 日本午夜大片a在线观看| 亚洲午夜在线视频| 日本一区午夜艳熟免费| 羞羞的视频在线看| 亚洲国产综合色| 黄色大片在线免费看| 91在线超碰| 婷婷开心激情综合| 久久网站免费视频| 日日夜夜天天综合| 欧美午夜片在线看| 日日干日日操日日射| 亚洲精品伦理| 亚洲一卡二卡三卡四卡五卡| 欧美美女黄色网| 人妖欧美1区| 亚洲国产精品视频| 国产中文字幕视频在线观看| 26uuu亚洲电影| 欧美偷拍一区二区| 青青草原播放器| 福利欧美精品在线| 日韩成人中文电影| 国产18无套直看片| 极品束缚调教一区二区网站 | 在线观看国产免费视频| 亚洲精品3区| 中国日韩欧美久久久久久久久| 日本一区二区三区在线免费观看| av日韩一区| 精品欧美乱码久久久久久| 国产一级免费片| 久久99性xxx老妇胖精品| 尤物九九久久国产精品的特点| 日韩精品一区二区三区在线视频| 国内一区二区三区| 欧美在线视频在线播放完整版免费观看| 无码任你躁久久久久久久| 久久电影网电视剧免费观看| 91黄在线观看| 欧美色视频免费| 中文字幕亚洲欧美在线不卡| 69sex久久精品国产麻豆| 中文字幕av一区二区三区佐山爱| 欧美精品丝袜久久久中文字幕| 久草视频福利在线| 日韩伦理一区| 68精品久久久久久欧美| 91一区二区视频| 欧美a级理论片| 91国产在线播放| 国产一级免费在线观看| 一区二区三区产品免费精品久久75| 亚洲欧洲三级| 黄色小说在线播放| 欧美怡红院视频| 熟妇高潮一区二区| 四虎国产精品免费观看| 在线观看亚洲区| 美女毛片在线观看| 免费成人在线视频观看| 国产九色91| 韩国av网站在线| 91黄色免费版| 欧美精品欧美极品欧美激情| 亚洲二区三区不卡| 国产精品福利网| 特黄视频在线观看| 亚洲激情一二三区| 91小视频网站| 深夜福利亚洲| 亚洲无限av看| 日本一区二区免费在线观看| 国产一区二区成人久久免费影院| 视频一区不卡| 免费网站成人| 91官网在线观看| www.超碰97| 亚洲国产精品一区制服丝袜| 91视频九色网站| www.亚洲视频| 91久久精品一区二区二区| 日b视频在线观看| 好看不卡的中文字幕| 91久热免费在线视频| 99reav在线| 欧洲一区在线观看| 亚洲黄色免费视频| 久久成人精品| 欧美日韩综合另类| 欧美xx视频| 亚洲摸下面视频| 国产精品久免费的黄网站| 99久久国产综合色|国产精品| www.av片| 性欧美lx╳lx╳| 日韩免费在线免费观看| 国产在线一二| 欧美午夜电影网| 在线观看亚洲大片短视频| 日韩高清在线不卡| 少妇特黄a一区二区三区| 国产国产一区| 久久久国产成人精品| 六月丁香激情综合| 久久久久国产精品免费免费搜索| 啊啊啊一区二区| 精品在线手机视频| 国产精品美女在线观看| 日本网站在线免费观看视频| 91精品免费观看| 精品无码一区二区三区| 国产精品日韩欧美一区| 欧美三级华人主播| 欧美亚洲黄色| 久久99青青精品免费观看| 日韩在线观看视频一区| 色综合视频一区二区三区高清| 中文字幕第4页| 国产在线精品免费av| 国产在线视频综合| 日韩欧美在线精品| 国产成人福利网站| 免费黄色网页在线观看| 精品日韩av一区二区| 亚洲男人的天堂在线视频| 中国色在线观看另类| 丁香六月激情婷婷| 一区二区三区日本久久久| 国产精品一区二区电影| a级影片在线| 亚洲精品福利视频| 又骚又黄的视频| 亚洲国产成人av| 国产一二三四五区| 国产福利一区二区三区视频在线| 国产素人在线观看| 婷婷中文字幕一区| 国产在线一区二| 色综合视频一区二区三区日韩| 国模gogo一区二区大胆私拍 | 久久中文字幕国产| 少妇精品视频一区二区| 欧美中文一区二区三区| a级片在线观看免费| 麻豆国产精品官网| 97超碰国产精品| 成人在线视频免费观看| 国产精品对白刺激久久久| 色香欲www7777综合网| 欧美寡妇偷汉性猛交| 国产精品四虎| 亚洲精品一区二区三区四区高清 | 欧洲亚洲一区二区| 亚洲午夜免费| 91精品国产综合久久男男| 妞干网免费在线视频| 久久精品视频中文字幕| 你懂的视频在线免费| 欧美大胆人体bbbb| 九九热国产在线| 国产亲近乱来精品视频| 波多野结衣影院| 国产福利精品一区二区| 色婷婷综合久久久久中文字幕| 伊人成人在线| 日本美女爱爱视频| 91日韩欧美| 日韩精品第一页| 九九热播视频在线精品6| 亚洲自拍偷拍福利| 日韩电影精品| 国产精品99一区| 都市激情综合| 91豆花精品一区| 波多野结衣在线观看| 欧美超级乱淫片喷水| 日本www在线观看视频| 国产午夜精品全部视频播放| 日韩三级电影网| 亚洲精品大尺度| 四虎在线视频免费观看| 亚洲成人av在线播放| 国产综合在线播放| 日韩精品中文字幕一区二区三区| 国产伦精品一区二区三区四区| 欧美午夜精品久久久久久超碰| 自拍偷拍欧美亚洲| 天天操天天干天天综合网| 亚洲男人第一av| 日韩欧美高清在线视频| aaaaaa毛片| 在线免费不卡电影| wwwwww在线观看| 欧美色男人天堂| 亚洲一级在线播放| 9191国产精品| 国产高清免费观看| 亚洲精品一区二区三区精华液| 手机看片一区二区| 日韩高清中文字幕| 深夜福利免费在线观看| 亚洲色图17p| av播放在线观看| www.日本久久久久com.| gogogogo高清视频在线| 欧美裸体xxxx极品少妇| 狂野欧美性猛交xxxxx视频| 久久人人看视频| 免费在线小视频| 国产精品九九九| 国产精品一区二区美女视频免费看 | 成人毛片视频网站| 亚洲欧美高清| 国产又大又黄又粗又爽| 国产一区二区三区视频在线播放| 9191在线视频| 91蜜桃婷婷狠狠久久综合9色| 国产熟妇久久777777| 国产精品国产三级国产aⅴ无密码| 日韩av手机在线免费观看| av资源网一区| 亚洲欧美天堂在线| 国产麻豆欧美日韩一区| 日本69式三人交| 国产麻豆视频一区| 午夜男人的天堂| 国产区在线观看成人精品| 中文乱码字幕高清一区二区| 一区二区不卡在线视频 午夜欧美不卡在 | 午夜免费高清视频| 国产精品综合一区二区三区| 日本少妇毛茸茸| 国产精品免费视频观看| 欧美日韩免费一区二区| 91黄视频在线观看| 亚洲av永久无码国产精品久久| 亚洲国内高清视频| 亚洲成人三级| 777777777亚洲妇女| 欧美爱爱视频| 玛丽玛丽电影原版免费观看1977| 日韩av密桃| 欧美 日韩 国产在线观看| 久久爱另类一区二区小说| 久久精品一区二区免费播放| ...xxx性欧美| 懂色av中文字幕| 欧美精品一区二区三区久久久| yw在线观看| 26uuu亚洲国产精品| 日韩成人18| 亚洲午夜精品国产| 久久久成人网| 91精品啪在线观看国产| 国产精品久久久久久久久免费相片 | 国产中文字幕亚洲| 三级精品视频| 国产中文字幕乱人伦在线观看| 美国三级日本三级久久99| 黄色短视频在线观看| 亚洲已满18点击进入久久| 一级片视频网站| 国产亚洲精品一区二区| av手机在线观看| 91九色在线观看| 欧美岛国激情| 欧在线一二三四区| 91麻豆文化传媒在线观看| 美女毛片在线观看| 日韩一区二区三区免费观看| 国产欧美熟妇另类久久久| 一本一本久久a久久精品牛牛影视| 午夜不卡影院| 国产久一道中文一区| 中文字幕一区二区三三| 中文字幕av专区| 国产日产精品一区| 日韩精品一区二区亚洲av观看| 日韩av在线免费观看| 9765激情中文在线| 国产精品18毛片一区二区| 激情亚洲网站| 折磨小男生性器羞耻的故事| 亚洲一区二区三区四区在线观看 | 亚洲精品一区av| 一区不卡字幕| 久久国产精品区| 欧美xxxooo| 欧美一区二区三区在线视频| 国产网友自拍视频导航网站在线观看| 国产精品三级网站| 日本高清免费电影一区| 欧美婷婷精品激情| 国产欧美日韩卡一| 中文字幕理论片| 日韩一区二区欧美| 亚洲精品三区| 国产精品视频二| 成人免费三级在线| 国产成人精品一区二三区| 精品一区二区三区电影| 欧美男体视频| 亚洲欧洲日韩精品| 国产精品一区二区在线播放| 九九热精彩视频| 日韩hd视频在线观看| 神马久久资源| 一区二区国产日产| 国产精品中文欧美| 福利一区二区三区四区| 亚洲免费成人av电影| 国产一区影院| 国产高清不卡无码视频| 成人av先锋影音| 日本黄色中文字幕| 久久久国产影院| 国产欧美三级电影| 密臀av一区二区三区| 亚洲精品乱码久久久久久久久| 亚洲国产av一区二区| 国产91ⅴ在线精品免费观看| heyzo久久| 男人添女人荫蒂国产| 婷婷国产v国产偷v亚洲高清| 欧洲亚洲精品视频| 91精品久久久久久久久久入口| 国产尤物精品| 国产熟妇久久777777| 91精品国产综合久久精品app| av在线网页| 欧美日韩精品不卡| 国产成人小视频| 欧美一级淫片免费视频黄| 久久躁狠狠躁夜夜爽| 私拍精品福利视频在线一区| 午夜视频在线网站| 精品动漫一区二区三区| 在线播放毛片| 精品一区久久久久久| 久久国产精品99精品国产 | 亚洲综合自拍一区| 午夜一区不卡| caoporn91| 亚洲午夜av电影| 国产精品videossex| 一区二区免费av| 色婷婷av一区二区三区软件 |