你可能不知道 Google 最近的「小動作」
了解我的人知道,我是一名不折不扣的 G 粉,一直在關注 Google,最近 Google 有一些小動作,可能很多人不太了解,借這個機會,給大家普及下。
而且斷斷續續有人問我一些這樣的問題,比如:
Android 的前景怎么樣? 我想學習編程,到底學什么更好呢? 移動互聯網已經走下坡路了,下一個風口是什么呢?
對于 Google 的一些動作,我有一些思考以及自己的看法,分享給你們,很可能看完之后以上問題就有答案了。
PWA
可能很多人沒聽過 PWA,PWA 是 Progressive Web Apps 的簡稱,意為漸進式 Web App 的意思,是 Google 在 2015 年推出的一個項目,致力于將網頁 app 化,我們知道 Web 與原生應用各有優劣,而 Google 一直致力于 Web 與原生應用體驗的最好結合,而 PWA 就被寄予厚望。
簡單來說,你可以把 PWA 理解成是類似微信小程序,所以業內也把 PWA 成為 Google 小程序,只不過 PWA 是系統級的,而微信小程序是基于微信生態的,而就在前幾天,Google 官方博客宣布,PWA 會深入集成到 Android 系統中,并且將獲得與安卓原生應用同等的待遇與權限,在即將到來的 Chrome 測試版中,PWA 不僅在主頁有快捷入口,而且還會出現在應用列表以及系統設置中,甚至還可以收到推送,這意味著 PWA 將獲得更接近于原生應用的使用體驗,以下是官方的演示圖片:
相比較于剛推出沒多久,只有三分熱度的微信小程序,我更看好 PWA,相比較依賴于微信的微信小程序,跟 Android 系統深度融合的 Google 小程序更有想象力,畢竟微信 App 本身也得依賴于 Android 系統。
Instant Apps
說到 PWA,就不得不提到 Google 的另一個項目 Android Instant Apps。Instant Apps 是 16 年的 IO 大會上被提出來, 它的概念是這樣的:你使用的是 Android 手機,朋友給你發了一個鏈接,這個鏈接是一個支持 Instant Apps 特性的應用,你點擊該鏈接,將直接進入該應用,無須安裝,之后就可以進行任何關于該應用的操作。
它的加載速度很快,它的加載方式會讓你以為你在打開一個移動網頁,然而它確是 Android 原生應用,我們來看下官方提供的一個演示稿:
看了這個圖什么感覺?理解了沒?
它的使用場景是,想想你的手機,是不是裝了很多很少會用到的 App,無端的占用你很多內存與存儲空間,但是呢,因為偶爾會用到,所以舍不得刪。但是有了 Instant Apps 就不一樣了,你以后需要什么 App,朋友直接一個鏈接發過來,無須下載,無須安裝,直接就打開使用了,而如果后面你覺得 App 的使用很頻繁,你再考慮安裝該 App。太酷炫了有沒有?終于解放了手機存儲空間,也不用忍受下載、安裝的過程,甚至可以解決國內眾多 App 后臺的無良服務,簡直不要太激動。
可惜的是,Instant Apps 深度鏈接的識別需要依賴 Google Play,然而眾所周知,國內訪問不了 Google Play,這個就成為最大的阻礙了,前段時間網上傳言 Google Play 可能會進駐中國,據說跟網易合作,由網易代理,但是官方沒有任何說明,所以,我們只能 YY 這是真的,真心期待。
目前 Instant Apps 還在內測階段,目前只有 Android 7.x 的設備才支持該功能,開發者只需要簡單在代碼中添加對 Instant Apps 的支持,編譯打包重新上傳應用就可以了,它的入口與 Instant Apps 的啟用大概是如下圖這樣:
之前大家一直圍繞 Web App 和 Native App 誰才會是未來的話題來爭辯,Google 的 PWA 項目想讓 Web App 更接近原生的體驗,而 Instant Apps 項目又致力于讓原生 App 擁有 Web App 的方便與即時性,似乎 Google 在移動網頁與原生應用之間并沒有明確的看好誰,反而是兩手都在抓。
Andromeda OS
之前 Google 剛傳要推出一種全新的操作系統 Andromeda OS 的時候,很多人問對 Android 開發者的影響,我寫了這樣一篇文章「 Andromeda OS 來了,Android 再見? 」,昨天我看了一篇對 Andromeda OS 介紹的文章
這篇文章提到,Andromeda OS 將把 Android 和 Chrome OS 并進來,Web 應用和 Android 應用都可以在上面跑,而且文中提到,新的系統支持多種語言開發,C、C++ 用來開發底層,Go 用來開發網絡,Java 用來開發 Android,Python 作為腳本,而該操作系統官方開發語言很大可能是…Dart!
對 Dart 語言不了解的可以適當的了解下,Dart 和 Go 一樣,都是 Google 自家語言,看來因為跟 Oracle 關于 Java 的版權問題,Google 覺得還是使用自家語言最安全,很可能以后也會強推自家語言。
思考
不止如此,Google 之前還發布了物聯網操作系統 Android Things,以及剛剛正式發布的深度學習系統 TensorFlow 1.0,一切的一切,都充滿想象力,Google 是想打造一個從 Web 到原生 App,到跨平臺、跨終端的操作系統,再到物聯網、人工智能,這是一個超級帝國啊。
而作為開發者的我們,對我們有什么啟示呢?
首先作為 Android 開發者根本無須擔心未來,畢竟親爹 Google 太牛逼了,未來充滿無限想象力,而且 Android 很可能在新的平臺發揮重大作用。
我個人認為人人都該學點編程,看看互聯網這幾年對我們生活的改變,幾乎每個行業都跟互聯網有關,毫無疑問,未來互聯網依然會改變世界。
而對于想要學習編程的同學,我的建議是,保守點的選擇 Web 前端或者 Android 開發,雖然目前市場大環境較差,但是 Web 前端跟移動端很長一段時間依然是主流。
對于已經從事編程行業,想要學習一門新語言,拓寬下自己的知識面,不妨學習下 Python、Go 甚至提前關注下 Dart,其實語言都是通的,學會一門編程語言,再學習另一個是很快的,難的是應用場景與平臺的選擇。
而如果對算法感興趣的同學,強烈推薦選擇深度學習領域,學習下 TensorFlow,尤其是還在讀書,并且算法基礎不錯的學生朋友們,這些都是人工智能最核心的技術,但是門檻較高,不是所有人都適合學習的。種種跡象表明,繼移動互聯網之后,下一個風口浪尖很可能就是人工智能!
來自:http://stormzhang.com/2017/02/16/google-events/