走進阿里:Android 開發者沙龍回顧

圖片描述

6 月 17 日,阿里巴巴手機淘寶技術團隊 MTT 攜手華爲、安卓綠色聯盟,在杭州西溪園區成功舉辦"走進阿里:Android 開發者沙龍",來自互聯網和移動應用開發領域的上百位技術開發者和愛好者歡聚一堂,共同交流探討了的 Android 將來,以及做爲開發者須要作哪些技術儲備和轉型。 前端

SegmentFault 做爲合做社區也參與了本次沙龍,下面就來回顧一下本次沙龍的主要內容吧~git

開場

本次沙龍由阿里移動技術資深專家倪生華(花名玄黎)主持。程序員

圖片描述

倪生華,花名玄黎,阿里移動技術資深專家,目前負責移動端整個基礎架構團隊。github

MTT 團隊負責整個阿里系的組件化,到如今已經基本很是成熟了,在年初也進行了開源。本次沙龍 MTT 將和你們分享這幾年的方案,包括每一個方案適用的場景、技術等。編程

嘉賓分享

手淘 Android 容器化框架( Atlas)介紹

圖片描述

胡文江,花名白衣,淘寶網高級無線技術專家。2010年加入手機淘寶,主要負責Android 客戶端基礎架構及性能優化工做。有 10 年的智能手機軟件開發經驗,目前專一於持續構建適合大型複雜應用的移動應用框架。後端

Atlas 是手機淘寶 2012 年開始自研的一個運行於 Android 系統上的一個 Native 容器化框架,是目前手機淘寶 Android 端側最重要的框架之一。2014 年被手機淘寶團隊首次對外提出,2017 年初 Atlas 開源回饋社區。本次演講將從 Atlas 的背景,以及 Atlas 的設計原理入手,深刻剖析 Atlas 容器化框架的方方面面,擁抱 Atlas,能夠給你的 Android 客戶端帶來不少意想不到的能力。本次沙龍主要分享內容:性能優化

  • Atlas 的前世此生服務器

  • Atlas 的特性微信

  • Atlas 工程期網絡

  • Atlas 運行期

  • Atlas 周邊與開源
    項目地址:https://github.com/alibaba/atlas

Android O 版本變化及詳細解析

圖片描述

馬捷,加入華爲近 10 年,華爲終端三方兼容性技術專家,有豐富的三方應用兼容性、性能、功耗等方面的研究經驗,注重提高應用的用戶體驗。

谷歌 I/O 2017 開發者大會,谷歌發佈了 Android O 操做系統開發者預覽版 2,本次演講將從 Android O 版本變動對 APP 有影響的特性,如後臺限制、safetyNet、ART、對權限的使用等方面,深刻剖析 Android O 版本的代碼改動,以及版本變動對
APP 的影響與開發者注意事項。本次沙龍主要分享內容:

  • Android 大版本升級的關鍵時間點

  • Android N 版本典型的兼容性問題

  • Android O 版本核心更新點

  • Android O 版本應對策略

  • 如何作 Android O 的適配。

Android O 對國內開發者提出的全新挑戰——兼談《Android綠色應用公約》

圖片描述

馮森林,獨立開發者,《Android綠色應用公約》發起人

Google 在 Android O 的後臺管控上進行了大刀闊斧的頂層設計,這一深入的方向性變化將對Android應用的開發形成深遠的影響,完全改變原有的諸多廣泛但並不最佳的實踐。《Android綠色應用公約》順應這一趨勢,爲應用開發者提出了一條對接將來生態格局的最佳實踐。本次沙龍主要分享內容:

  • Android O 的底層設計

  • 常見用法的新困境

  • 沒法條比的抉擇

若是咱們要擁抱 Android O 的話,其實還有一個最佳的姿式就是加入《Android 綠色應用公約》,你去看公約的條款能夠看到它和 Android O 是全面接軌的,零開發成本浪費。在 Android 低版本中也爲用戶提供近似 Android O 下的體驗。犧牲必定的實時性能夠換取更高的到達率。以積極的姿態贏得用戶信任,爭取白名單以提高任務角度的可靠性。

圓桌討論

圖片描述

目前在 Android 開發中最大的困境是什麼?對 Android 開發的將來有何思考?

主持人:今天對 Android 的移動工程師來講,將來的發展趨勢是怎麼樣,咱們是要走在前端呢?咱們的深度怎麼繼續深刻進去?

吳更新:我說一下本身的見解,更可能是我的的見解。如今市場上 Android 的技術人比較多,形成生產力過剩的問題。至於說之後會不會全是混合的形式,我以爲不太可能,可是大多數會有一些創業公司不須要去作,由於它有更好的方式更好地到達用戶,更小成本地去獲取用戶。對於技術人員來講,自己多是不能死守技術,由於自己技術的大潮就是在發展的,對於你們來講,能去接觸更多的技術,能去了解更多,自己就是對我的有更多的好處。

伯奎:我是這麼想的,其實大前端從我剛作安卓開始,7 年前,一直在討論 H5 好仍是其餘好,有不少前端技術出來,其實最主要仍是在於本身的技術,剛纔馮森林也說了,其實技術就是解決問題的手段,不少需求是來自於業務方,其實什麼技術能把業務訴求解決好,通常都會發展的比較順利一點。因此說,像之前一直討論 H5 仍是其餘的什麼技術好,只要是深刻進去把這個技術作強,就是把業務、產品層面的東西解決好,都是有前途的。

可能不少人仍是在業務層面,今天可能接觸到 Atlas 的時候,你會發現全是在系統層面,因此說咱們的開發人員最主要去作的就是去了解一些底層的技術,可能那時候你會感受對業務上的幫助,包括一些發展趨勢的判斷,徹底會有本身不一樣的想法,這是個人感受。

馮森林:今天用到的全部技術,今天觀察到的全部技術趨勢,都是業務自己訴求的發展帶來的,你們今天看到的不少 google 等作的跨平臺的嘗試,它們都在解決一個問題,我把可以共享的東西共享,基本上這個觀點是開發人員從幾十年前計算機剛有編程的時候,追求的一個關鍵的訴求,把可以共享的東西共享。那麼在如今移動互聯網時代什麼東西是能夠共享的,平臺制定的規則是不能共享的,google 有 google 的規則,蘋果有蘋果的google,那麼能共享的東西就是那些抽象的東西,好比像業務流程,業務邏輯以及交互裏面的那些抽象的東西,好比說這就是個按紐,這個東西就是共享的,不管是設計師,設計師也分兩種,一個是交互設計師,一個是視覺設計師,不少程度上咱們在開發層面就是爲了在整個流程中貫通這個思想。

咱們能夠看到移動互聯網剛開始興起的時候,咱們會喜歡這樣去區分開發者的角色,有後端開發和前端開發,我以爲這個劃分方式是在那個歷史背景下的產物,頗有可能將來你們看這個問題的角度會變得要麼就是前端開發,要麼就是業務開發,業務開發多是寫一段代碼,在任何端上就能夠用的,那麼在這樣的背景趨勢下,我以爲只要是順應這個趨勢的一些實現策略,那麼它們本質上來講都是順應趨勢的,可是競爭和一校高下也就是你們實現的效率,對開發者的友好程度,對於將來變化的適應能力。

主持人:我介紹一下淘系的變化。在阿里目前整個的投入是怎樣的?老實講,咱們也一直在招人,可是招人的要求會愈來愈高,爲何?咱們會愈來愈偏向於專業化,偏向於底層,客戶端同窗咱們在招對底層很是瞭解的,另一種就是有些能夠共享的東西,好比說圖片的渲染、網絡這些基礎庫,是 H5 沒法替代的這些東西。

另一塊,最近對於阿里來說,或者對於整個業界來說,咱們認爲媒體的升級是接下來很是大的一塊,甚至有人會認爲,剩下流媒體會替代 HTML5,會成爲新的交互方式。隨着設備的升級,媒體的升級,在移動端上對於整個軟視頻相關人員的儲備、投入會愈來愈多,可是減小的是什麼東西?實際上是隻瞭解業務,這東西減小不是咱們不須要了,而是由於如今效率高了,這些東西是不可避免的,在剛興起的時候效率比較低,我須要很是多的同窗去作這項技術,可是你會發現作到如今,不少東西效率高了,不須要這麼多,如今咱們只有 10 我的不到,可是在上層作業務的會特別多。

我最近看到一篇文章,大前端,這個東西我以爲實際上是技術語言發展的必然趨勢,做爲技術人員沒有必要死守安卓或者 H5。你們會發現,其實如今語言的整個邊界性愈來愈小,我以爲程序員比較難作的是輕技術發展的比較快,可是安卓是比較端上的東西,根子一直在,除非這個媒介被替換掉,可能對它的要求會愈來愈高。這是個人觀點,如今咱們目前整個阿里內部,咱們所在的部門是阿里無線工程師最多的部門,這是咱們發展的趨勢,咱們也在討論無限端工程師會愈來愈少,也不是這樣,只是說須要開發的人愈來愈少了,可能開發端快了,服務端會出現瓶頸,可能不少人又會回去搞服務端了。

剛纔幾位嘉賓也分享了一些東西,前兩天恰好也有一個微信的同窗分享了這塊的議題,你們也能夠聽一下,講到今天咱們整個發展趨勢,其實和系統廠家 ROM,google、蘋果的趨勢仍是有關係的,一樣在安卓,其實今天你們在 google I/O 上,雖然在 google I/O上提安卓系統提的很少,可是也提到了編程語言,提到了Kotlin,你們是怎麼看的,是否將來蘋果會放棄 JAVA,今天咱們到底要作哪些東西?我想聽聽幾位資深嘉賓你們的見解。

馮森林:Kotlin 是一匹黑馬,不少組件都是用 Kotlin 開發的,我以爲從 Kotlin 這件事情,你能看到一個趨勢,這多是移動互聯網的特殊性形成的結果,咱們剛開始作安卓開發的時候,咱們用的是 JAVA 6,後來有了一部分 JAVA 系統的支持,可是那大概是在安卓 4.0 仍是 2.3 以後才支持的,接下來出現了 Android 8,JAVA 8 的特性大部分要等到 Android 6.0 才能支持。但問題上市面上的不少手機是運行 6.0 如下的系統,這時候你做爲一個語言層面,這不可能作向下兼容。JAVA 8 裏面有些特性確實能作,可是長期來講,語言的進化和存量市場中現有設備之間是有自然矛盾的,那麼在這個矛盾中咱們看到一個趨勢,這些平臺的主導方千方百計讓語言和執行環境兼容,由於JAVA 有一個自然的優點,JAVA 和 JAVA 語言自己是公生的關係,之間是有邊界的,最先發布的規範裏,JAVA 語言規格和JAVA虛擬機規格是兩套規格,可是它們兩個之間是有耦合的,就是說至關於我在某一個版本的 JAVA 語言規格,它會依賴於一個虛擬機版本,可是從 JAVA7.0 開始發生了一個很是大的變化,JAVA7.0規格里增長了一些JAVA語言規格沒有的東西,就是語言裏如今尚未支持的,但這個東西就意味着 JAVA 的虛擬機設計已經開始作泛化處理了,就是上面的語言能夠更靈活地使用虛擬機,可是 JAVA 這個語言自己走到今天看是有歷史包袱的,因此說咱們能夠看到JAVA的語言規範和 JAVA 的虛擬規範仍然是一個比較強耦合的關係。

可是 Kotlin 的出現其實和以前全部在 JAVA 上語言相似,周邊出現過的不少曇花一現的語言,它們都是屏蔽了 JAVA 虛擬機上的一些規範,而後它們的語言能夠不斷進化,它依賴的虛擬機能力仍是在有限中。我記得在當初我剛加入淘寶的時候,在2009年的時候,咱們作過一個事情,當時是改造整個大淘寶後臺的執行引擎,就是說全部淘寶的語音服務器裏的機器,咱們但願它切換到一個協成的模式上,很痛苦,由於JAVA語言不支持,可是JAVA虛擬機是支持的,因此當時咱們找了 Kotlin 去作這個事情,這就意味着你在一個不是在語言層面直接支持範疇內去作一些虛擬機才能得到的東西,自己就有很大的挑戰,裏面有各類工具的複雜性。如今隨着各類各樣的語言獲得更官方層面的支持,一旦 Kotlin 獲得了 google 官方的支持,那就意味着 Kotlin 的生態語言會有愈來愈多的廠商加入進來,這使得這個語言背後的兼容性以及操做性獲得大幅度的挑戰。那麼能夠預見將來它的狀況,Kotlin 會是一個快速演進的語言,語言規範會不斷的變化,會出新的能力,並且使用這些新的能力並不依賴於用戶的設備升級到新的虛擬機版本,這是很是明顯的優點。

可是伴隨這個優點咱們看到全部動態性的語言,它們在不少設計上的取捨,這些取捨會使得咱們語言的自己效率在必定程度上會有犧牲,但這時候你會發現,未來的開發可能會變成一個混合的模式,在追求效率和追求一致性、穩定性的層面上,大量也許仍是會使用 JAVA,可是在追求研發的便捷性和追求迭代效率的地方,你會更多使用上層的語言,不管是 Kotlin 仍是其餘的語言,因此這就是我本身對這個東西的理解和判斷。

伯奎:Kotlin 這個東西其實我尚未怎麼玩過,最近一年多對 Android 關注不是特別多。我是這樣想的,其實 JAVA 和 Kotlin 的發展趨勢主導確定是在 google,可是決定權在開發,最終仍是由開發人員,若是絕大部分會去切換到這種語言,那確定慢慢這個語言會發展起來,最終會不會成功,對開發人員或者對整個產品切換程度有多高,若是google 可以主導好,那麼發展仍是不錯的,可是我如今沒有發言權,由於我沒有玩過,可是這個語言怎麼樣也不知道。

吳更新:我以爲對 Android 開發者來講,不多一部分用過 Kotlin,而且用的比較多,在實際的產品開發中。對於絕大多數的開發人員,你們都不知道這個東西,可是實際上這個語言已經存在有五六年了,並且也有一些小團隊在實際產品中用了挺長時間。

對於觀望者來講,會有學習的成本,另外可能會有一部分人去看 Kotlin 的語法,畢竟有一個轉變,沒有實際的改進,好比沒有實際作虛擬機,或者說他有比較多的關鍵詞東西去記才能提升效率,可是我以爲這些都不是最根本的問題,好比說學習成本確定比 IX(音譯)的成本低的,由於它還涉及到思惟的轉換。但對於 Kotlin 來講,它實際上和 JAVA 仍是很是像的,甚至說如今和 JAVA 100% 兼容。個人見解是應該會有愈來愈多的開發者去用Kotlin,只是說如今有 google 的推進,速度會變得更快一些。基本上就是這樣。

主持人:你以爲對於如今開發者來講,如今的策略是怎麼樣,是開始用,仍是觀望,仍是作新 APP 的時候用?第二,今天我用 Kotlin,咱們可能會碰到的問題是哪些,若是我切換到 Kotlin 的話,據大家所知,成本大概是多少?

馮森林:剛纔我提到一些比較宏觀的東西,我能夠說一下比較微觀的觀察。對於 Kotlin 語言,我剛開始的感受是比較中性的東西,可是隨着Kotlin的迭代,在最近一年多其實發展很快,咱們看到了一些本來在 Kotlin 設計思路里沒有出現的新的東西,其實這塊東西基本上是在近幾年的高級語言發展裏面都很強調的東西,由於它可以使得咱們接下來在語言層面可以有一些很是使用的東西,好比說在 2009 年咱們試圖在 JAVA上 作的協成的技術,在 Kotlin 上也支持了,並且也是經過尾端調用的方式來支持的,這對開發者有什麼好處?通常寫界面的人可能不會體驗到這點,可是你若是是在作不少並行的處理,不是說它在執行的時候。咱們在面對不少問題的時候,好比說內存的保護以及各類資源的加強等等,若是你採用協成的開發模式,這些東西會變得很輕,很大程度上我以爲能夠預見的是未來咱們在寫框架層面,好比說 Kotlin 代碼積累,另一個是說不能從這裏面獲得太多明顯的好處,而越往抽象上層走的那些開發層面的東西,從 Kotlin 裏得到的益處是越大的,由於它抽象帶來的性能損失在這個上層裏是不太會帶來問題,而它帶來的對於研發思惟的改變、對於研發效率的改善會是一個巨大的收益。由於 Kotlin 和 JAVA 之間的混合開發是很是容易的,它們的接口層面沒有任何的障礙。

吳更新:我以爲確定要先有深刻了解,纔會逐漸去推這個事,由於一個是說涉及到我的的成本,另外涉及到團隊的協做成本,無論是和其餘人的協同配合,仍是相關的交接,另外就是Kotlin多少確定也會有一些反作用,好比說加入以後會讓方法不作任何限量比較多,還有就是其餘人可能會摸不到頭腦,仍是一個慢慢在個別業務、個別人的嘗試下會逐漸推進的事。

主持人:感謝各位的分享。我不知道各位有沒有感受,全部大的廠商都在講 AI,我想聽聽幾位嘉賓對 AI 整個發展的趨勢,大概會發展到什麼樣子,以及對今天移動端的開發同窗,到底怎麼參與到 AI 上?甚至於今天咱們爲了這種新的趨勢,咱們須要作哪些技術儲備,我相信不少開發者都須要,你們是否能夠分享一下本身的見解。

吳更新:這其實對 AI 瞭解比較少,沒有本身去主動了解,更可能是被動的接受。我簡單說一下,以前有人說過,若是在本身看不懂的狀況下,可是整個主流在推這個事,就是值得花一點時間去了解,就和早期的移動大潮,最開始不少人也看不懂,可是隨着更多人的介入,包括像如今的 AI。

伯奎:AI 比較火是從圍棋開始,你們也感受到,從 AI 出來之後,智能硬件也開始火了,爲何二者會同時起來?這二者是相輔相成的,AI 是經過各類數據幫你作一些判斷、決策,那麼數據是從哪兒來的?阿里人確定都知道,阿里如今很是重視智能硬件這塊,專門如今還成立了部門。AI 我不是很懂,和咱們比較相關的智能硬件這塊,我以爲你們能夠接觸一下,AI 你們若是有興趣也能夠玩,可是和安卓開發比較接近的是智能硬件這塊,你們能夠去開發一下,你能夠認爲是AI的觸角,由於你之後慢慢會接觸到人周邊的環境不少都會變成智能硬件,這塊對咱們來講比較有好處,由於 AI 仍是要有必定的基礎,智能硬件對咱們開發者來講基礎會比較低,上手會比較快,這是個人感受。

馮森林:AI 這塊,若是在座是作移動開發爲主的同窗,都有一個感受,好象是另一個世界,好象這個世界裏的技術和玩法,你們很難邁過這個邊界去理解它,可是AI這件事情會是一個很樂觀的局面,使用AI的人並不須要掌握複雜的技術,而構建AI的人,你可能不理解,可是不重要,好比今天咱們看AI下圍棋,你知道它能打敗他就行了,不須要它是如何打敗的。接下來一兩年,咱們能夠看到在客戶端開發裏面,今天咱們會面對的不少場景來講,最早會點燃的兩個方向,一個是視覺,一個是語言,而這兩塊其實對於 AI 現有的積累已經很成熟了,好比前兩天 google 纔剛剛發佈了一個移動視覺識別的AI模型,由於 AI 自己是通用技術,要你套到一個具體的模型裏把它用到一個特定的領域,那麼移動視覺是在不少如今應用的場景裏用的,還有作識別性的一些東西,好比說國內如今比較火的智能攝象頭,google提供的移動的視覺AI的模型庫,就是讓你可以直接把它套進去,可以用在一些典型的場景。

好比你想作一個物件的識別,你只要拿現有物件的圖形去訓練它就能夠了。因此說這些工具已經準備在手上,你們都不須要去掌握AI內部的技術就能夠把它用好了,這是很樂觀的,對於在座的不少移動開發者而言,咱們就把它做爲一個武器用起來就能夠,而作AI技術研發的確定是另一個技術領域的團隊,也不是咱們如今立刻須要跨界去掌握的東西。

另外就是語言層面的AI,在這塊,國內來講,由於如今有像科大訊飛這樣作語言識別的一些雲端或者雲合成,可是不少設備若是純粹依賴雲端,會顯得很是低效,我以爲接下來可能出現的局面是這些東西會本地化,而訓練自己是在雲端完成的,那麼訓練完以後產生的中間模型是能夠被下載到設備上,能夠離線作這些事情,那麼未來這兩塊的應用門檻很是低,移動應用會常常遇到這兩個場景,並且像伯奎作的智能硬件的東西,你也沒有一個觸摸屏,極可能依賴的是視覺和語言,而這兩個部分的AI技術積累已經很是完善了,到了你們拿起來就可以用的狀態。

主持人:如今能夠繼續關注它,若是有應用場景的話,能夠去使用它,密切地關注它。剛纔講到了不少發展的趨勢以及像AI新的技術,包括如今大前端,那麼三位可能在整個安卓移動端或者移動開發上比較有經驗,那麼對於工程師來說,特別不少安卓工程師,不少可能剛入行會面臨這樣的困境,對於工程師的規劃有什麼樣的建議嗎?前幾年可能遇上了移動大潮,成爲到了資深的同事,可是對於一些新入行的同窗,他們接下來應該怎麼作,是深刻仍是都轉行?

馮森林:我以爲移動開發領域,未來會變成一個比你們今天想象更流行的一個開發領域,爲何這麼講?若是咱們去看過去幾年發生的事情,拿阿里的任何一個業務開發團隊來看,你就會發現,一開始若是咱們還在移動互聯網早期的時候,由於咱們要作WEB開發,因此大量是服務端的人員,有三分之一是前端人員,這時候客戶人員只負責一部分,再日後走,客戶人員愈來愈多,佔的比例愈來愈高,今天來看,在一個典型的業務團隊裏配比多是三分之二都是客戶開發人員。

你接下來咱們提到不少技術共享的領域,咱們接下來會有業務的開發,前端的開發,好比說界面的開發、服務端包括AI、大數據的開發,這三個角色必定會長期存在,經典意義上的服務端開發會弱化,由於今天已經分化爲數據和接口了,而真正重要的東西是在服務端的數據,那大數據、AI這些東西會逐漸吸取掉現有的服務端開發同窗,而客戶端的開發同窗會把原有的不少東西接過來,由於業務端會下沉到客戶端,因此這時候你要去作的不少事情都是在一個大的前端裏去完成的,而這裏面未來會擴充不少角色。

好比像智能硬件這些東西,咱們未來面對的移動設備不只僅是手機和平板,會有開穿戴設備、家居設備以及放在公共場所的設備,這都須要專項的角色去完成,這是增加很是快的一塊領域,這裏面有很是多的細分場景,你對哪一個領域有興趣去作就能夠了,這個市場絕對能夠容納更多的開發人員進來。

伯奎:我是這麼理解的,這邊可能都是安卓開發人員,安卓已經開發不止七年了,你們也發現這幾年安卓慢慢平穩下來了,可能對咱們這種開發有兩個方向能夠走,一個就是更深刻,由於我今天看了Atlas的講解,我離開是三年時間,如今感受也作了很是多的東西,雖然到一個平穩期,可是仍是能夠深處走。還有一個建議是不限制本身,能夠往不一樣方向走,各個方面均可以走。好比說智能硬件,你們也能夠接觸,由於智能硬件離安卓是很是近的東西。尤爲如今的技術人員必定不能限制本身,不光是前端的,像後端以及分佈式均可以玩。

吳更新:我以爲如今可能你們都以爲端上能作的東西已經愈來愈少了,但實際上仍是有限制,你們是一個技術人員而不是某個端的技術人員,對於端上來講,雖然能作的東西都差很少,可是不少實際上是你們看到的,你們本身並無親自作過的事,對這些事能夠嘗試去作,由於真正作和你看到的仍是有很大的差異。另一個,我以爲你們能夠更主動地去學習更多的東西,無論是其餘端仍是主動地去作一些其餘的事,由於技術的發展確定是會愈來愈快的,包括說之後各個技術站的邊界也會劃分的更細,可是同時來講會出現的工種也會更多,你們能夠在本身有興趣的方面作深,另外就是更主動地拓寬本身的邊界,以及更主動地去作更多的事。

主持人:今天google在安卓上的整個發展趨勢是什麼?請馮森林來分享一下他的判斷,google在整個安卓系統上,以及在IOT,對安卓的佈局是怎樣的?

馮森林:關於安卓的趨勢,由於畢竟咱們要談趨勢就是談將來,談將來的東西,本質上是有風險的,說出來可能會被打臉,我討論這個問題的角度,咱們從它現有的趨勢裏去解讀將來的趨勢,咱們回望安卓最近幾年的變化,咱們發現從安卓5.0之後出現一個重要的趨勢轉變,創始人陸陸續續離開安卓團隊,安卓的角色更大程度上變成一個開疆闢土的角色,而不是一個激進的拓荒者的角色,那在這個階段對安卓而言更重要的是須要不斷去完善它還欠缺的東西。

咱們看安卓的時候,每一年咱們會發現新發布的東西愈來愈平淡無奇,甚至愈來愈像IOS,尤爲是今年後臺管控這麼一搞,以爲和IOS也沒有什麼區別了,其實做爲任何一個產品的發展都是這樣的趨勢,一開始是打出差別化的東西,等到了足夠大的市場份額的時候,它爭取的就是廣泛受衆,就須要去把對方的用戶給拉過來,那你要怎麼去得到蘋果的用戶呢?你要讓以爲這個系統離蘋果的優點愈來愈近。

安卓本質上作的創新都是上層的應用開發者用戶比較少看到的層面,這些層面發生了什麼事情?咱們能夠看到在 Android 6.0 的時候,安卓底層作了不少組件化的努力,在今年發佈了一個計劃,把Android裏原有的接口剝離出來變成一個標準的接口,Android GO(音譯)這個項目重啓以後,google 有一個很是大的激進努力,是要作到把整個系統拆分紅兩個部分,一部分是原生部分,一部分是OEM 的部分,甚至分在不一樣的分區裏,那原生的部分google要求是本身升級的,而 OEM 是廠商來作,那這樣的策略就意味着要增長它的管控力,要確保它想保持一致的東西真的可以保持一致,由於安卓一開始是開源系統,愈來愈多廠商在上面作的變化,在安卓每次迭代的時候會帶來一些衝擊。安卓有一些延伸的系統,這些東西其實從很大意義上來講,google 就是爲了使得這個既有的品牌力可以開枝散葉,它要作手錶不必定用 Android 系統去作,可是用Android系統去作是由於用戶對它的品牌認知是強烈的。本質上 google 是利用現有市場的優點去把Android變得更多元化,因此你會發如今這些邊緣努力上,Android變成了一個更復雜的生態,這個複雜生態之上,Android核心的部分愈來愈乏味了,Android邊緣的部分愈來愈精彩了或者愈來愈多一些新的吸引力出現了,那麼在這樣的格局裏,就和大的企業同樣,有不少團隊在作一些很基礎的事情,還有一些團隊在作新興的嘗試,這樣的結果是他們是一個協力,越穩固的一個核心繫統會支撐愈來愈多的外圍嘗試,接觸更多的嘗試,做爲一個開發者來講,這是一個很好的嘗試,由於你將來作的嘗試能夠沿用你的積累以及對這個東西的理解,不會耗費太多的成本。

技術自己的發展總在不斷地改善性能,計算能力不是今天咱們面對的主要瓶頸,咱們今天面對的核心瓶頸多是功耗,另一個就是你的運行內存能力,隨着時間的變化,很快會變得不是瓶頸,由於只要足夠的投入,這些都會變成歷史,做爲開發者來講,你能夠在裏面產生一些什麼應用出來,當應用出來,會推進這些技術朝着更有利的方向發展。你們提到 google 一個新的系統,那麼爲何 google 要作?其實並不像想象你們說的要用這個系統取代 Android,google 的計劃不是這麼單純的,由於對 Android 這麼重要的一個系統來講,它不會把它壓在一個將來重大的決策上,google 新的決策者是很是謹慎的人,他每每選擇幾條路走,未來你能夠看到 google 作的不少努力都是防護性努力,因此說不要把本身的資源投入寄予到這樣一個不肯定的東西里,那麼你就投入到如今能夠延續的更可靠的方向上。對於 google 預期的東西,你不要預期對應用開發會有太大的變化,由於對應用的開發更可能是約束,更可能是 Android 讓你的應用適用更多的場景,這些場景裏延伸出來的機制會不斷歸入到 Android 裏,好比說直接鏈接 WIFI 的能力、傳感器的能力,你會運用到的工具愈來愈多,可是系統基本上已經定型了。這就是我想和你們分享的關於 Android 將來發展趨勢的想法。

相關文章
相關標籤/搜索