微信开放JS SDK,再次给浏览器们上了一课

开发 前端 移动开发
本文作者王安,DCloud公司CEO,W3C会员、HTML5中国产业联盟发起人,HTML5开发工具HBuilder设计师,十几年web和手机开发经验,个人邮箱:wangan@dcloud.io。

2015年刚刚开始,微信JS SDK发布,惊爆众人,HTML5产业好事连连。

JS SDK这个概念,其实微博和淘宝的开放平台很早前就有,包括手机QQ前段时间也推出了几个增强API,但都未产生很大的影响。小巫之后终见大巫,这次微信开放的SDK,站在了另一个高度,web到底能有多强?

HTML5的逆袭

其实之前微信也是有一些JS API的,比如分享。但这次一股脑开放了拍摄、录音、语音识别、二维码、地图、支付、分享、卡券等几十个API,这条消息不需宣传,瞬间就占满了HTML5从业者的朋友圈。

因为微信给所有做web开发的人打开一扇新窗户:使用js,你也可以调用各种强大的原生能力了!

客观的讲,微信的很多能力组件非常强,比如扫码,很多原生应用的扫码效果都不如微信。现在HTML5开发者瞬间成功逆袭,他们原本无法实现扫码,现在却能轻松的开发扫码应用,而且效果比很多原生应用都好(当然前提是你的web应用运行在微信的管理之下)。

首先受益的是微信内置的腾讯系App,比如大众点评、滴滴打车、京东购物等。

以前微信在钱包栏目下以很别扭的方式内嵌了滴滴打车的HTML5版本,那个版本的体验比滴滴的原生版本差太多,不能说话只能打字,没有地图看不到司机在哪。在体验为王的移动互联网时代,这个将就能用的版本出现在微信的钱包分类下,其实是微信的败笔。

但如今不同了,滴滴打车的微信版本,将拥有不输于其原生App的能力。而且不用下载App就可以秒开应用。

大众点评的受益就更大了,不止是其微信内嵌版本的能力将大幅增强。因为使用场景的不同,滴滴在朋友间分享的只能是红包,离打车这个业务场景有点远;而大众点评在朋友间可以分享优惠或推荐商家,直接形成消费,通过关系链导流的效果会非常明显。

HTML5定稿时,我写过的一篇文章,提到过HTML5的一大优势就是打破App孤岛,直穿应用子页面。一张大众点评的优惠券,通过朋友分享,就可以通过点击分享内容直接到达这个商户的界面,进而直接购买,这点连大众点评的原生App也做不到。

微信给我们展示了一个新的web世界:能力和原生一样强,但在应用的获取、流量的转换上进一步领先于原生应用。

很快,我们就会看到各种公众号、微店全面升级支持微信JS SDK。然后我们就会发现,原来市占率***的手机浏览器,是这个没有地址栏的微信。

浏览器的传统思维被突破

微信这个巴掌把浏览器厂商拍的不轻。但是浏览器厂商又很难还击,因为这挑战了他们的思维传统。

在HTML5规范制定时,很多人都有一种思维:web是开放的,地址栏和超链接可能带来任意恶意网页,所以我们不能把HTML5的能力做到太强,会引发安全问题。

微信给了这些人不同的答案。

首先微信开放的能力没有涉及过于隐私的API,比如个人敏感信息或好友关系,当然这个估计永远也不会开放。最关键的是,所有使用微信JS SDK的网站,都必须实名到微信认证、缴费。它采取了类似Apple App Store的策略,由系统运营方来保障用户的安全。

这个由微信构建的新web世界,不再开放,由微信所管理,他根本就没有地址栏,所有能使用微信增强能力的网页都是经过认证权限的。

其实HTML5强化这个领域已经发展多年,也已经有了行业规范,HTML5Plus.org,微信此次把这些标准都抛在一边,就是一心建设自己的生态系统。

除了管理模式不同,微信的设计体现了他对于用户体验的不同理解。其实我们大多数人都会认可一点,在手机浏览器里输入url是一个体验比较糟的事情,但是浏览器厂商却一直墨守成规。

我们来解构下微信的设计。

在微信里,既然没有地址栏,那么如何到达一个web应用,它有几个web入口?答案是5个。

  • 消息内容里的超链接;
  • 公众号的文章;
  • 朋友圈;
  • 扫一扫;
  • 预置入口的web应用,如钱包、购物等栏目。

这5个入口里,没有传统的地址栏,甚至也没有搜索。

web初生时,人们获取web信息是主动式的,通过地址栏访问网站,网站太多后开始使用搜索引擎。Google的page rank算法告诉网民,被链接的网页越多,这个网页的价值越高。微信的理解里,大多数人们获取web信息是被动的,这里没有地址栏、没有搜索、没有page rank,朋友发给你的、你订阅的公众号发给你的,就是你需要的web内容。

如果你真的想要主动获得内容,那也没有地址栏,但是有扫一扫。

可是扫一扫就不在微信的管理之下了吗?当然不会。很多App开发者头疼的就是他们的APK地址变成二维码后,微信是不能下载安装的,这可是浏览器不会干的事情,用户要下载什么那就允许下,最多给一个可能不安全的提示。但是微信说,APK只能是来自应用宝的链接才可以下载。你不接受?那就别用扫一扫。

就这样,微信构建了一个独特的web生态系统。它有关系链推荐,不需要搜索引擎;它有消息系统,不需要电子邮件;它有增强的浏览器,有支付等业务闭环手段。最终一个完整而又封闭的web世界出现在微信里。信息在这里产生、在这里流转、在这里变现。手机上只需一个微信就够了,什么都能干了。

腾讯的战略

微信是仅仅强化了一批能力API吗?不是,大家还记得前段时间腾讯发布的X5浏览器内核吗?
X5内核内置于QQ浏览器,在安装了QQ浏览器后,微信有着不同的表现,它将调起X5内核,与JS SDK协作实现更好的体验。X5和JS SDK,这究竟是一盘什么棋呢?

微信其实很早就能开放这些JS SDK,甚至一度曾开放几个又收了回去,为何此时如此大力发展web生态系统?

我想到了前段时间马化腾的话,微信只是张“站票”,他还给腾讯提出的一个新愿景:连接一切。张小龙也曾仔细研读KK的《失控》,提出微信要营造一个森林,而不是造一个宫殿。

其实这些事情是相关联的。有战略需求,才会出现X5、微信JS SDK这些支撑战略的产品。要论站票和卧铺的区别,那就是一个可以躺着挣钱。如何才能躺着挣钱,看看阿里巴巴就知道了。在阿里建立的庞大生态系统里,每天无数人努力赚钱,阿里坐享其成。

腾讯曾经数次努力电商,但怎么也赚不到阿里的钱。它只能走自己的路。就是马化腾所说的,回归本源,连接一切。

电商搞不定,那就不搞了,剥离和注资给京东。搜索搞不定,那就不搞了,剥离和注资给搜狗。不再天天盯着阿里、百度,腾出全部精力,在移动互联网时代,达成连接一切的愿景。

没错,基于微信这张站票,腾讯最终要打造出一个由他掌控的生态系统,而对于一个工具而言,构建生态系统的***技术路线就是web,强化HTML5是打造更优质生态系统的必由之路。

而此时能做这事,还恰逢HTML5即将崛起的机会。一方面手机硬件的不断提升使得HTML5表现更好,另一方面,就是Apple对HTML5的态度在开放,或者说Apple整体都在开放。一方面iOS设备的市场份额远低于Android,另一方面库克确实没有乔布斯强势,所以目前Apple的整体态度是开放的。前段时间iOS8发布,Apple给第三方厂商开放了自己的js加速引擎Nitro,以强化iOS设备上HTML5的表现。此时的微信JS SDK上线,不必再像以前那样担心无法通过Appstore审核。

而且事实实际上是反过来的,带有微信JS SDK的版本其实早已更新到Appstore了,只是前几天才给开发者公布了调用接口。

但是不管怎么样,这带有试探Apple底线的味道。如果仅仅在中国倒也是区域行为,但微信事实上已经遍布全球,当海外开发者也大量开发微信专属的增强web时,Apple和Google会如何看待这个新的跨平台霸主?

开发者的机会

whatever,巨头们的烦恼让他们自己操作吧,我等创业者和开发者还是要抓紧这个机会快速发展自己,快速利用微信JS SDK开发出惊艳的HTML5应用,抢先占有用户。后面的比较技术,有兴趣开发JS SDK的开发者可以继续往下看。微信本次开放的JS SDK分类清单如下:

  • 分享类接口;
  • 图像类接口;
  • 音频类接口;
  • 智能类接口;
  • 设备信息类接口;
  • 地理位置类接口;
  • 界面操作类接口;
  • 微信扫一扫接口;
  • 微信小店接口;
  • 微信卡券接口;
  • 微信支付接口。

滴滴打车、大众点评这些微信内置应用的增强路线,将基本照着其原生App的模样演进。其他的开发者,还是要运营好自己的公众号,目前公众号分为订阅号和服务号。

订阅号的开发者提供的大多是资讯,那么对于资讯而言,可以利用JS SDK做的事情什么?

丰富内容形式,即除了图文,新增音频能力。类似电台的订阅号将有机会兴起。但微信暂时还没有开放视频能力,朋友圈里的小视频是原生实现的。在Android4.0以上的手机,安装了QQ浏览器后,微信网页里的视频播放才能被X5引擎优化。而目前使用HTML5标准的视频,会在低端手机上遭遇性能问题。所以视频还是缓缓再搞。

不管是做图文还是做音频,都应该利用新提供的设备API获取网络状态,WIFI和2G下应该给予用户不同的内容以增强用户体验。

根据地域分发信息。资讯也是有地域性的,类似地方台的订阅号以后也会占有一席之地,而这也非常符合微信打造森林的生态初衷。

服务号就五花八门了,很多大企业有自己的掌上客服App,这回可以整体搬迁到微信上了,这也给企业服务开发商很多新商机;

对于可线上交易的微店,微信小店和支付这些API必不可少。微店的商品,这下可以直接被分享出去,只要东西好,传播更容易、销量也会高升;

对于线下消费的O2O,地图和卡券很重要。卡券对微信而言是个新东西,之前iOS已经有了passport,大众点评也有自己的会员卡体系,但微信自己做了一套,相信体量会做的更大,以后大家出门不用在钱包里塞那么多卡了,都在微信里了。

微信官方还推荐了几个App供开阔思路。

印美图是一个云打印App,自拍的美图,可以直接提交给这个App的后台,运营方打印好照片快递给你。微邮筒是一个语音明信片,在明信片里留下自己的声音,再发给朋友,并且可以长期保存在服务器。

微信官方没有提供开发和调试配套的服务,客观地讲,开发和调试的便利性很不好。推荐一个免费开发工具HBuilder,可以***支持微信JS SDK的语法提示,大幅提升开发效率。下图中敲wxc回车就能生成一段完整的微信API初始化的长长代码,还能给予各种参数的值域提示。

接下来会如何

我们都很确信,JS SDK的这个版本只是一个开始,未来腾讯还为了强化其web生态系统建设而不停升级产品。

1.会颠覆原生App吗?

微信JS SDK继续升级下去,真的会颠覆原生App吗?目前的微信JS SDK,属于web增强,它依然还不能离线使用,还没有解决网页跳转间白屏的体验,也不能在手机桌面创建快捷方式,暂时它并没有向着努力做到和原生一模一样体验而前进。

就腾讯连接一切的愿景而言,它应该没有颠覆原生这个战略目标。但是这个月活4亿的平台势必会更大程度占有用户使用手机的时间,自然也会大幅影响原生App的流量。对于普通用户而言,每天使用手机的时间是有限的,之前每天看着手机屏幕的总时长里可能60%是被微信占去的,那么微信未来可能会占去80%的时间。

另外微信虽然没有颠覆原生App的愿景,不代表其他人不会做这件事。IT行业总是在持续创新和突破的,除了微信,还会有其他大型HTML5的平台出现,可以预见HTML5成为主流已是不可阻挡的趋势。

2.微信会重构移动搜索吗?

这个概率其实很高。在微信现在的API里,有一个智能语义的接口,传入“查一下明天从北京到上海的南航机票”,就会返回结果。很像siri是不是?其实微信完全可以现在就在扫一扫下面加一个说一说,但是他目前没有这么做,是因为搜狗还不够强大?还是因为不想过早刺激百度?

确实相比起来,腾讯在手机上抢夺百度份额的胜算是远高于抢夺阿里的。但是手机端广告市场一直没起来,抢掉搜索份额又如何?

3.微信会重构移动电商吗?

其实单纯的套PC互联网的模式给移动互联网是不对的。腾讯最关心的不是移动电商,它更关心移动支付。所以易迅才会被剥离给京东。腾讯十年总结时曾说,是互联网网民的高速增长红利造就了腾讯的今天。其实类似于雷军风口的理念。

移动支付,是一个大风口,是未来若干年高速增长的产业。

我们可以预见,未来移动支付的用户数会越来越多,交易额会越来越多,直到颠覆现金的地位。但移动支付可不只是在电商网站买东西付款,更多场景在O2O范畴里。

移动支付大战里,腾讯一方面通过微信红包发展用户,另一方面通过资本手段控制支付场景,其投资的滴滴打车、大众点评、京东电商,这些合作伙伴的业务都是高频的支付场景,其成功的帮助腾讯发展了移动支付体系。

当然阿里也不甘示弱的支持快的和美团。滴滴和快的的补贴大战、大众点评和美团补贴大战,看似疯狂,其实都是为了移动支付这张船票,为了未来十年的继续高速增长是任何一个巨头都不愿错过的。

在未来人们的衣食住行里,买衣服花钱用阿里和腾讯,吃饭花钱用阿里和腾讯,出门打车结帐用阿里和腾讯,就是买房好像不太好做移动支付。

另外近期在医疗领域,移动支付之争也打响了,那意味着以后看病,也用移动支付。

微信的JS SDK,其实很大程度上就是为了把这些需要花钱的App控制在自己的生态下,微信给这些App提供流量、提供更强大的运行环境,大家努力挣钱,然后微信躺着分钱。

4.不管怎么样,HTML5会大火特火

腾讯的这条构建web生态系统的路,还是有很多高手已经看懂了的。很快各大互联网巨头都会有自己的对策。但不管是什么对策,都是要基于HTML5来做了。

对于HTML5的开发者和从业者,这都将是一个***的时代。

本文出自:http://www.36kr.com/p/218686.html

责任编辑:林师授 来源: 36氪
相关推荐

2015-02-10 13:47:18

开发技术周刊

2014-03-13 10:08:41

2018-01-08 07:45:27

2015-02-12 17:23:33

微信SDK

2013-04-09 23:52:29

微信公众平台技巧

2015-02-12 17:28:23

微信SDK

2014-11-06 14:02:14

欧朋浏览器

2015-02-12 16:57:35

微信SDK

2015-01-28 00:35:00

2012-02-22 18:35:41

搜狗浏览

2019-04-26 11:13:25

2011-12-08 15:40:16

UC浏览器

2014-03-18 15:25:56

QQ浏览器微信

2012-04-25 09:19:50

浏览器

2021-07-14 09:58:09

Google微软浏览器

2024-03-05 10:55:22

OpenAISOTAClaude 3

2014-08-18 14:58:25

微软IE

2014-09-25 17:06:09

2024-02-20 14:40:35

Linux运维

2009-04-10 09:14:16

点赞
收藏

51CTO技术栈公众号