成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

資深開發者:為什么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編譯
相關推薦

2012-07-13 13:51:57

AndroidiOS

2016-05-26 10:57:51

2013-02-22 11:25:27

UbuntuUbuntu移動操作系

2013-01-05 10:02:33

Ubuntu移動

2013-10-30 12:51:34

2013-03-28 19:25:35

騰訊云

2011-11-29 14:27:12

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

2025-03-06 08:30:00

C++開發vector

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開發者開發

2011-06-15 10:32:12

2010-01-05 17:16:51

2009-12-14 18:27:21

Linux操作系統

2012-09-21 14:35:01

2010-01-06 15:41:07

Linux操作系統

2013-09-03 16:13:17

微軟收購諾基亞設備服務部門

2010-08-06 13:33:29

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人av在线大片 | 夜夜艹天天干 | 中文字幕综合 | 911精品美国片911久久久 | 久热精品视频 | 国产一区视频在线 | 国产欧美精品一区二区 | 黄色在线观看网址 | 欧美不卡 | 亚洲成人一区二区三区 | 午夜视频在线 | 亚洲一区二区三区视频 | 久久久国产精品 | 91精品国产综合久久久久久丝袜 | 99精品热视频 | 欧美多人在线 | 中文在线一区二区 | 欧美日韩成人在线 | 欧美日一区 | 黄色三级免费网站 | 久久国内精品 | 中文字幕综合 | 久久在线看| 91久久久久久久久久久久久 | 少妇精品亚洲一区二区成人 | 欧美精品一区二区三区四区 | 日韩在线免费视频 | 夜夜草 | 色偷偷噜噜噜亚洲男人 | 伊人精品一区二区三区 | 国产一区二区视频在线观看 | 日日干天天干 | 国产成人精品一区二区三区网站观看 | 国产一极毛片 | 狠狠撸在线视频 | 国产一区免费视频 | 成人免费大片黄在线播放 | 人操人人干人 | 久久爱综合 | 日韩中文字幕在线视频 | 精品1区2区3区4区 |