做者:Darkbug
原文标题:Google新技术:Instant App全拆解(1)——初探
原文连接:https://segmentfault.com/a/11...
首发地址:http://www.doncc.org
转发请注明转载地址,请尊重原创做者权益!html
《Google新技术:Instant App全拆解》系列预告:
第二篇:Google新技术:Instant App全拆解(2)——剖析java
本文开始,接下的几篇文章内,我会从概念、技术等方面,将着重介绍Google发布的最新Android Instant App技术,并描述如何制做属于本身的Instant App。小程序
若有描述不正确的地方,请及时联系我,我将吸收意见并改正。segmentfault
记得在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应用体验。下面有个我录制的微视频,简单的描述了下这个过程。网站
怎么样,这个交互效果简直是棒极了吧!
若是细心的朋友确定会发现,其实早在2015年,Google就已经推出了另一项技术:App Links。其用意是想当用户点击连接后,能快速连接并打开本地所属应用,而无需通过用户的二次赞成。这么作的优势是避免了用户的艰难选择,特别是对于那些选择困难户的童鞋来讲。这些内容我会在后面文章着重介绍。
若是这么说比较笼统,那么你确定遇到过这样情景,你的手机内除了浏览器这个内置App外,若是还安装了相似UC浏览器、360浏览器、各类浏览器。。当你想点击一个连接时,会在手机下方弹出一个对话框,提示你用什么App来打开你的连接。这种让你二次选择的感受,着实让人感受有点啰嗦。而App Links的出现,能让你无需再选择,直接选用你已经设定好的方式打开应用进行体验。
说了这么多额外的,我以为其实Google就是为Instant App的出现作了前期铺垫。真是好大一盘棋啊!
从上面的内容,想必大伙已经知道一部分了吧。对于Instant App技术的使用,能够分为以下几个方面来说:
从这一点,我要格外说明的是,全部谷歌亲儿子手机,都是天生具备Google Service框架的,谁让他是亲儿子。?特!还有一个是三星的s7 edge这款手机,自从升级到7.0系统后,就能让咱们本身经过xx上网的方式,一样体验到Google Service框架。此次三星也算是开明了一把。这里想下,s8是否是一样也能够,虽然我没有s8。?
若是想体验到Instant App的交互效果,首先你要保证的是,你的完整应用程序,须要在Google Play上成功发布。也就是说,要想将你的应用程序变为Instant App所支持效果,须要进行必定的程序修改。有关如何修改,后续我会用文章着重描述。
这个对于通常小众开发者来说,着实是让人头疼。索性我在实施的时候,干脆将本身的虚拟网站,部署到GitHub上,这样一来能模拟个人网站,不会把大量的时间花费在搭建网站上,又能解决掉SSL证书的问题。一箭双雕。
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)——剖析