Google新技術:Instant App全拆解(1)——初探

NO IMAGE
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

作者:Darkbug
原文標題:Google新技術:Instant App全拆解(1)——初探
原文連結:https://segmentfault.com/a/11…
首發地址:http://www.doncc.org
轉發請註明轉載地址,請尊重原創作者權益!


《Google新技術:Instant App全拆解》系列預告:
第二篇:Google新技術:Instant App全拆解(2)——剖析


本文開始,接下的幾篇文章內,我會從概念、技術等方面,將著重介紹Google釋出的最新Android Instant App技術,並描述如何製作屬於自己的Instant App。

如有描述不正確的地方,請及時聯絡我,我將吸取意見並改正。

1.Instant App是什麼

記得在2016年的Google大會上,Google大大就已經發布了有關Instant App的最新技術了。然而這款被人們寄予厚望的“黑科技”技術在釋出之後,並沒有像想象中推廣的很好,究其原因我懷疑是因為當時釋出的時候,所開發的步驟過於繁瑣,才不得不將這個技術的推廣拖延至今。

我們先來用下面的動圖回顧體驗下,Instant App的厲害之處:

從圖中我們初步可以看出,當操作者在點選一段Buzzfeed的視訊連結時,會自動的載入這個連結所屬程式的程式碼,並且很輕鬆的在這個“程式的APP內”體驗到這個連結視訊效果。

其實這就是Instant App,翻譯成中文可以稱之為瞬時程式載入,也可以稱之為即時應用。它出現的目的,就是為了讓人們能夠像點選連結那麼簡單,節省掉安裝App的痛苦,最快速度、最少流量的消耗,讓使用者體驗到App級的使用者體驗。

事實上,Instant App的優點不僅如此,我們同樣可以在Google的瀏覽器內,搜尋具備Instant App能力的App的名字,也會得到相應的即時應用,同樣能夠讓你體驗到App的互動效果。比如下面我想在wish購物App內,購買Valentino Rossi的周邊物(誰讓我是個羅西粉),只需在Google搜尋欄裡,輸入“wish Rossi”,你就會看到有關在wish中的一些物品,並且會在內容描述處,看到一個“Instant”標識。也就是說,當你點選這個連結後,你就能體驗到屬於wish應用的Instant App應用體驗。下面有個我錄製的微視訊,簡單的描述了下這個過程。

Instant App初體驗-youku

怎麼樣,這個互動效果簡直是棒極了吧!

如果細心的朋友肯定會發現,其實早在2015年,Google就已經推出了另外一項技術:App Links。其用意是想當使用者點選連結後,能快速連結並開啟本地所屬應用,而無需經過使用者的二次同意。這麼做的優點是避免了使用者的艱難選擇,特別是對於那些選擇困難戶的童鞋來說。這些內容我會在後面文章著重介紹。

如果這麼說比較籠統,那麼你肯定遇到過這樣情景,你的手機內除了瀏覽器這個內建App外,如果還安裝了類似UC瀏覽器、360瀏覽器、各種瀏覽器。。當你想點選一個連結時,會在手機下方彈出一個對話方塊,提示你用什麼App來開啟你的連結。這種讓你二次選擇的感覺,著實讓人感覺有點囉嗦。而App Links的出現,能讓你無需再選擇,直接選用你已經設定好的方式開啟應用進行體驗。

說了這麼多額外的,我覺得其實Google就是為Instant App的出現做了前期鋪墊。真是好大一盤棋啊!

2.Instant App現階段遇到的困難

從上面的內容,想必大夥已經知道一部分了吧。對於Instant App技術的使用,可以分為如下幾個方面來講:

  • xx上網(你懂的)
  • Google Service不能正常的推廣
  • 具有Google Service框架的手機

從這一點,我要格外說明的是,所有谷歌親兒子手機,都是天生具有Google Service框架的,誰讓他是親兒子。?特!還有一個是三星的s7 edge這款手機,自從升級到7.0系統後,就能讓我們自己通過xx上網的方式,同樣體驗到Google Service框架。這次三星也算是開明瞭一把。這裡想下,s8是不是同樣也可以,雖然我沒有s8。?

  • 完整應用必須提前安裝到Google Play上

如果想體驗到Instant App的互動效果,首先你要保證的是,你的完整應用程式,需要在Google Play上成功釋出。也就是說,要想將你的應用程式變為Instant App所支援效果,需要進行一定的程式修改。有關如何修改,後續我會用文章著重描述。

  • 部署資訊驗證檔案的網站,需具有https方式訪問功能的網站。

這個對於一般小眾開發者來講,著實是讓人頭疼。索性我在實施的時候,乾脆將自己的虛擬網站,部署到GitHub上,這樣一來能模擬我的網站,不會把大量的時間花費在搭建網站上,又能解決掉SSL證書的問題。一舉兩得。

3.Instant App瞬時載入程式與微信小程式的對比

2016年的Google I/O大會,釋出了Instant App技術,而微信小程式公開內側的時間是同年9月21日。這其中是否有一些某種不言而喻的關係,我不得而知,我也不想去猜想。你們自己體會好了。

為什麼我會拿小程式與Instant App技術相對比呢?很顯然,他們共同點都是號稱“不用安裝,就能體驗、使用”。對於程式的熱愛,我不得不拿來進行對比一番。我會從各個角度進行中肯的對比,不偏不向。

  • 從部署到手機角度講:

這一點簡直是小程式完勝,畢竟Google Service不能正常的引進大陸,這一點上小程式佔盡了天時地利。不知道是不是小龍哥看到了這個痛點。

小程式可以利用微信的小程式功能,新增附近商家的小程式,也可進行搜尋小程式;而Google的Instant App,想要使用此項技術,必須要保證你的完整App要在Google Play上有正式釋出,用官方的話來說,我們要讓使用者體驗到無縫對接。這一點來看,只能說仁者見仁智者見智罷了。個人感覺還是Google做的更為周到細緻,雖然在大陸沒什麼卵用。?

  • 從程式體積來講:

從這一點來講,Instant App的控制要比小程式要好。在Google官方要求裡,每個Instant App程式最大不得超過4M的大小,一旦超過,必須重新劃分模組,再縮減體積;而小程式來講,沒有一個明確的大小上線,如果業務簡單,你可以控制在1M-2M的大小,如果業務複雜,包大小也能達到10M都不足為奇。所以這一點對於使用者來講,使用者肯定喜歡用最少的開銷,體驗到業務。我們肯定不希望大把的手機空間,浪費了交給一個程式,特別是對那些手機空間嚴重不足的使用者。我覺得這一點Instant App勝利。

  • 從儲存角度來講:

對於小程式,資料會儲存到手機的存取區域,並且每次載入小程式時,是載入本地儲存優先。Instant App則是將程式的部分程式碼下載下來儲存到本地儲存,同樣在每次載入時,也會優先檢查本地儲存是否有程式碼。從儲存機制來講,差別不太大。如果從底層實現的方式來看,小程式利用的是H5的儲存機制,Instant App利用的是常見的java儲存機制。我覺得從這一點來看,沒什麼比的必要,都還不錯。

  • 從頁面解析速度來講:

其實使用者關注的這一點是尤為重要。對於小程式而言,畢竟底層是用HTML的實現方式,而Instant App底層用的是java的實現方式。

在小程式的展現過程,首先利用微信小程式特有的編碼方式,轉換成HTML,再來渲染、解析、展現等操作;而Instant App不需要這麼麻煩,它天生就可以用Android來編寫,然後通過下載這部分程式碼到本地,使用Instant App時,顯然就是本地應用的使用者體驗,流暢度要比HTML頁面展現的方式順滑很多。這是Instant App能絕對勝出的一點。

綜合對比,Instant App從使用者體驗角度來看,要比小程式好很多,體驗起來讓使用者感覺,有種“我並沒有安裝這個程式,就能體驗到和程式同樣的絲滑體驗”的感覺。但是從可實施角度看(我指的是隻在大陸範圍內),Instant App天生就不如微信小程式,因為啥?你懂得。 -_-||

當然,喜不喜歡這個技術,做不做這個技術,由你來做決定。如果你喜歡這個技術,我假設你是可以來克服這個不可實施的問題,來介紹後面的文章;如果您覺得不可實施,看到此為止就可以了,也沒有什麼必要往後看去浪費時間。

好了,今天就介紹到這,預告下下一篇文章,我會在技術層面上來著重介紹Instant App這項技術所用到的周邊技術。


《Google新技術:Instant App全拆解》系列預告:
第二篇:Google新技術:Instant App全拆解(2)——剖析


相關文章

軟體開發工具 最新文章