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