小程序支持跳转网页会带来什么影响

11月2日,iphone X 发售的前一晚,微信小程序发布了一个重量级的更新:

小程序内嵌网页能力开发

使用教程很简单:

到mp.weixin.qq.com登录小程序号,并进入“设置”-“开发设置”-“业务域名”中配置

然后小程序中就可以使用web-view标签就能实现对网页的展示。

<!-- wxml -->
<!-- 指向微信公众平台首页的web-view -->
<web-view src="https://mp.weixin.qq.com/"></web-view>

用起来非常简单,但这影响却异常的大,具体会影响些什么呢?

先看看“小程序webview”和“现有微信webview”的共同点

首先,这个web-view标签承载的浏览器跟微信内置的浏览器类似,核心肯定是一样的,只不过小程序里删掉或新增了某些功能,花叔测试了一下大部分js内库均能使用,甚至能直接放个h5游戏,可以说在页面内能做到跟普通网页没啥区别:

而网页最大的技术优势在于它有标准的编码规范,成熟的各种js、html、css框架,这些跟“现有微信webview”一样,应该都能用。

从开发人力来看,目前小程序的前端开发者综合能力普遍比纯页面重构者高,因为他们要兼顾很多不同的技术点,这样会导致部分小程序开发人力资源紧张,而这个webview的出现,会让部分专注页网页重构的同学参与到小程序开发的工作中来,从而减缓原本小程序开发的总体压力。

值得注意的是,这次改动还让小程序具备了更广的“热更新”特性,原本在小程序中,仅仅能通过远程接口的热更新实现前端页面的固定模式的切换,有了这个webview之后,基于它做一些内页,可以随时变换该页面的外观、布局和数据。

对于运营来说,某些内页的迭代可以更及时和更可控,内容缔造也可以更加快速;

对产品来说,可以做更多交互功能,例如以原来网页的开发套路做一个聊天室,又或者以原来网页的形式拉起第三方app,(花叔试了一下,WeixinJSBridge的launch3rdApp是有的,但具备权限控制机制,理论上如果具备了权限啊,那么能从小程序中间接通过webview的方式拉起第三方app)

再来看看“小程序webview”和“现有微信webview”的区别:

从小程序产品逻辑看,最关键的区别在于域名的限制:

1)每个小程序帐号仅支持配置最多20个域名;

2)每个域名仅支持绑定最多20个小程序

3)每个小程序一年内最多支持修改域名50次

限制了域名数量以及域名和小程序之前的绑定关系,目的在于限制跳转范围,意思是:并不是像现有微信webview中的网页那样能在页面中随意跳转到任意网页。

但这个限制对于专注于做自身内容和服务的开发团队来说,并不会产生多大影响,成熟产品的站点一般不会有太多的外链,20个域名足矣满足业务需求;除此之外,这样的限制方式能保证认真准备内容和服务的团队更高效和及时地迭代内容,而又防止了生态中混乱的跳转。

从技术角度看,还有另一个区别是,提供了三类私有的API:

一.“小程序的web-view"往普通小程序内页跳转接口,如下:

wx.miniProgram.navigateTo

切换到某个小程序内页,带推进切换效果

wx.miniProgram.navigateBack

返回来源页,带推进切换效果

wx.miniProgram.switchTab

切换到小程序的某个页卡

wx.miniProgram.reLaunch

直接重启小程序

wx.miniProgram.redirectTo

切换到某个小程序内页,不带推进切换效果

二.在“小程序的webView”中,支持与h5中jssdk类似的接口,包括上传、拍照、地图、摇一摇、ibeacon、扫一扫、卡券等等的功能,可以说,依靠小程序的webview,就已经能做出具备独特微信功能的应用。

三.在小程序本身的分享回调方法中追加了webViewURl参数,

Page({
  onShareAppMessage(options) {    
    console.log(options.webViewUrl)
  }
})

该参数为“小程序webview”的src值。为啥用呢?这个可以让用户把当前webview所在的内页分享出去,然后其他用户点击这个分享链接时,小程序内能从新拿到这个webview的src值,实现webview再一次展示。

其实影响的地方还很多,这里就不一一细说了,最后扯一下。

有同学担心这个webview进来后,小程序会因此变得臃肿,会让小程序进入传统混合应用的怪圈。

其实这个问题好比于“为什么原生app要能访问网页,而不会被网页取代”,这是因为app拥有网页不可能有的特性,例如体验、例如app本身的原生功能等等。

微信的产品规划是很牛的,敢把webview放开,一定是觉得小程序有自己的核心特性了。

结束....

等等,还不能结束....这次更新其实还不止这个webview,除了这个之外,还有第二个更新点,就是让小程序绑定公众号的数量提高了,现在一个小程序能跟500个公众号绑定。

and....这次官方发文没提到第三个更新点....很少人知道吧?那就是《自定义组件公测》,这货是用来做代码组件化的,由于本文篇幅已经够长了,这里就不细说了,具体可参考:

https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=34fde56e6ee55dac840952f4bf46cbfb&lang=zh_CN

毕....

原文发布于微信公众号 - MinProgram(gh_0d2d5abccc20)

原文发表时间:2017-11-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小文博客

净网大师最新可用版本

1876
来自专栏GA小站

Adwords转化跟踪跟新方案

这是谷歌官方提供的ADwords转化跟踪方案,如果你的部署有ADwords转化跟踪,建议尽快更改,数据收集缺失。

1354
来自专栏知晓程序

小程序插件审核又没过?教你避开这几个坑 | 开发

1572
来自专栏前端黑板报

使用引流公众号组件,你需要知道这些

小程序又开放一项新能力,就是可以在小程序里面引导关注公众号,那以前是怎么做公众号导流的呢?由于小程序里面无法直接识别二维码,只能提示用户保存公众号二维码,然后微...

1922
来自专栏用户2442861的专栏

前端工程——基础篇

https://github.com/fouber/blog/issues/10#issuecomment-271133674

951
来自专栏云市场·精选汇

产品更新——智慧零售V1.3商品+V1.4订单优化上线

选择出库类型,添加商品信息并保存即可。( 出库是减库存操作,出库记录保存后,系统将按照出库单中的商品信息和数量对应更新商品库中的库存信息。)

1043
来自专栏顶级程序员

2016年你应该学习的语言和框架

2015年,软件开发界发生了很多变化。有很多流行的新语言发布了,也有很多重要的框架和工具发布了新版本。下面有一个我们觉得最重要的简短清单,同时也有我们觉得值得你...

39114
来自专栏应用案例

作为一个有追求的程序员,你应该掌握的七种武器

1 科学上网 虽然国内互联网一片热闹的景象,但我们不得不承认,从硬件到软件,从协议到标准,我们现在使用的绝大部分技术都是起源于墙外,而Google是检索这些第一...

20310
来自专栏企鹅号快讯

UI前端同学回来抢经验,react native开发实战五部曲的实战与锤炼,咬牙学完保证变大牛!

背景 现在很多移动项目全都专项纯rn开发,对于rn的应用趋势不言而喻,学习一些rn的语法并不是十分困难,但是如何在项目中灵活运用,增加实战项目经验,这还是比较困...

4836
来自专栏罗超频道

记住微信这个特殊功能,关键时刻将派上大用场

前些天,我的iPhone出现了卡顿现象,在使用微信时,总提示存储空间不够,必须清理。去设置里面查了一下,发现微信“吃”掉了大部分存储空间,高达几个GB,而我的手...

4737

扫码关注云+社区

领取腾讯云代金券