关于hybridAPP,以及对微信应用号的猜想

2019-10-06


从周一 Allen “突然” 登场化解公关危机和为应用号的推广省下一笔营销预算之后,普天盖地的自媒体在谈应用号,刷屏朋友圈。其实我觉得应用号没什么新奇的,也说不上干翻应用商店之类的,只是如 Allen 所说 “微信一个小小的举动都会被无限放大”。

在我看来,所谓 “应用号”,其实就是 hybrid APP。

(本文只是猜测,并非官方发布的最终产品形态,我并不知道最终会以一种怎样优雅的方式呈现,微信总能给人惊喜…)

 

什么是 hybrid APP?

通俗来说就是,在通过各种应用商店安装的 APP ( Native APP 原生应用) 中某个页面添加一个 WebView(浏览器组件,跟你们用来看岛国教育片的那种差不多的),开发者在原生 APP 代码里面挖一个洞 (用来响应网页传给原生 APP 的指令和发送原生 APP 给网页的指令的接口)。结构如下图所示(iOS):

由一个系统提供的控件 WKWebView(相当于你们平常用的浏览器)去加载一个网页。以 iOS 为例(很抱歉我已经放弃安卓了,本文主要以 iOS 为例子),通过 evaluateJavaScript 的方法在网页中执行 js 代码(网页执行动作的一种编程语言或者你可以理解为一种英语方言…你喜欢咯)。通过 runJavaScriptAlertPanelWithMessage 等方法(这里不展开说,开发的东西可以另外写好多文章了)可以响应网页中执行到的 js 代码,从而实现了网页调用手机系统原生接口的能力。概括成下图:

有人可能会问:全部原生就好了,或者全部都是网页就好了,干嘛要调 (diao) 来调 (diao) 去?

下面就说一下

 

为什么要用 hybrid APP?

当自媒体出现的时候,大家都说会干翻传统媒体,而现在传统媒体只是被淘汰掉劣质的,好的依然好好的,搞自媒体搞得好的,大部分也还是传统媒体有影响力的人;当网络视频出现的时候,大家都会说干翻电视台,而现在电视台依然好好的,还多了微信摇电视微博互动春晚红包等新奇玩法;当电商火热的时候,大部分的人都说电商会干翻线下商场,而现在大街上依然开着各种零售店,依旧很多人喜欢逛街。当各种理财宝宝出现的时候,大家都会说互联网理财干翻银行,而现在银行依旧垄断着资金流。人们似乎有一种新鲜狂热症,觉得新事物能够完全颠覆旧事物,而新事物最终会和旧事物融合,得到升华(比如 “社会主义也能搞市场经济” 哈哈)。

还记得 2014年10月29日HTML5 正式发布吗?铺天盖地的文章说 web app 将会干掉 Native APP,可到了 2016,你还到 Native APP 退出大众视野了吗?没有,而且两者的混合版 Hybrid APP 逐渐成了开发者的喜好。

hybrid APP 的好处是:

1、自己搭一个原生应用的壳,能够定制和控制更多能力而不受限于浏览器(比如微信浏览器就是不让你下载), 所以大家会经常见到各种提示打开网页和分享的蒙层。

2、原生的壳包裹了网页应用便于升级迭代,不受限于应用商店繁琐的审核流程和冗长的时间(比如 Appstore 的审核)

3白金会、网页应用有利于减少开发资源的投入。不像原生应用那样:每一个小改动都需要 iOS 工程师和安卓工程师改一遍。

4、快速恢复。当原生全量发布之后出现问题可能需要迭代新版本才能修复,而网页应用只需要在自己服务器上修改即可。

5、添加快捷方式到桌面即像一个原生 APP 获得系统一级入口(安卓和 iOS 都可以实现,只是目前微信在 ios 上不提供)

6、有需要的时候再加载,节省手机空间,避免用户手机空间不足而放弃尝试你的应用。(你不能因为家里太窄而放弃掉一个想跟你 xxoo 的异性,你也没必要为了跟 ta xxoo 而马上买一间大房子,这时候你可以出去酒店开个房,用完就退。)

而寄生于微信的 hybrid APP(或许可以直接叫应用号)的好处又有所不同,因为他必须通过微信这个管道才能间接地获取手机系统原生的能力(重力感应、GPS 定位、震动、通知等等)

所以

微信应用的好处是:

1、通过 OAuth2.0(一种授权登录的方式,以后再写文章讲,欢迎搜索我的微信号jinkey-love)可以获取用户头像昵称,降低繁琐的注册流程。

2、减少用户流失。

点一下关注即和你的应用进入高潮,无需等待下载原生应用漫长的前戏。
3、降低开发成本。

可以调用微信提供的 JSSDK,便捷地获取拍照、定位、弹窗提示、改变右上角菜单等能力,需要给自己的应用搭建一个原生的壳。对于个人开发者,前端语言只要会 JavaScript 就好了,WeUI 框架都是现成的,可以懒得 CSS 样式都不用自己写。

4、获得微信的安全保障。

原本你的应用还要考虑安卓、WP 和 iO九乐棋牌S盛京棋牌 客户端的安全,现在只需要考虑网页本身白金会的安全性就好了。

但是既然多了微信这个 “电灯泡”,肯定也有它的劣势:

微信应用的坏处是:

1、你的业务跟某鹅有冲突,有可能就 “由于网页被过多用户举报,暂时无法打开”…然后就没有然后了…

2、获取系统原生能力受限于微信是否给你提供接口,比如现在 JSSDK 并不支持视频、室内定位、系统级通知、振动、获取加速度、获取手机系统信息、获取通讯录等等。又比如你要在你的应用加个吸底的输入框,但是微信没接口让你获取弹出键盘的高度,一点输入框键盘就把它遮住了,用户体验极其糟糕;

3、不能直接从微信执行下载、不能保存文件到手机本地等

4、一些禁止复制和禁止截图的保护内容,在微信里面都可以被复制,不能使用一些私有的加密逻辑。

5、有可能需要工商营业执照审核啥的,对于个人开发者不利。

6、每次使用的提示授权,不像原生只要授权一次以后都可以用。(当然微信也可以提供一次授权和授权管理的功能,不过现在是没有的)

7、投放广告受限制,微信可能觉得那是营销把你封掉。

8、不能缓存大容量文件,如音乐视频等。

9、诱导用户将该应用号添加到桌面成本高,且如果微信不提供接口或欧博平台者有限制,那可能没办法放置在桌面了。这时候,桌面相当于一级入口,点开微信属于二级入口,点开微信应用号聚合页属于三级入口,点开你的应用使用某个功能相当于第四级入口,基于漏斗模型,用户流失会相当严重。

 

应用号会怎么做?(推断)

1、微信搜索入口,类似于 spotlight,甚至直接提供 spotlight 系统级搜索,直达应用号

2、基于服务号获得通知推送能力,简介触达到系统通知中心

3、聚合页入口,类似于钱包(根据穷尽不重复原则,应该不会直接用钱包来做,并破坏用户认知)

4、列表页

5、应用直接打开 H5,类似于京东购物入口或者是基于聊天界面来做,底部按钮满足 tab 的职能。

6、通过 JSSDK 让应用号获得控制系统原生接口的能力,但受限于微信开放的接口。微信也不能随便开放,开得越多,漏洞越多。

7、工作流。比如说拍照、美化、发微博,希望需要打开两到三个 APP 才能完成。而微信可能提供接口,当拍照完的回调函数中调起美图网页版,编辑完图片的中华娱乐回调函数中调起微博并传过去美化后的图片,整个过程一气呵成。用过 Workflow 的人应该很清楚了,下图就是一个自动识别来电号码的工作流:

 

应用号适合什么应用接入?

用 Allen 的一句话概括就是 “用完即走” 的应用,比如纯电商类买完就走,课程表工具查完就走,新闻客户端看完就走等等。这些应用有如下特点:

1)功能单一的

比如 MacID,用 iPhone 指纹解锁 mac 电脑,功能单一,完全可以做出微信内嵌的应用(假如微信提供蓝牙接口)

2)使用频率低

比如滴滴打车这种,纯粹是一个打车的工具,打完就可以关掉了,正常上下班的话一天也就两次使用,完全没必要装个 ap开元棋牌p。

3)使用时间短

还是以滴滴出行为例子,叫车 5 分钟内打开,下车 5 分钟内打开支付,使用时间极短,不需要长时间占用手机空间。

4)现象级应用

还记得风靡一时的脸萌吗?我就编辑个头像,从此就跟这个 app 就没有关系了,是比较适合用微信应用的形式的。围住神经猫这个小游戏也是作为一个网页应用在微信内疯狂传播的,假如要下载,可能就没那么流行了。

当然…大部分 APP 的开发者都不希望自己的应用成为 “现象级”,昙花一现的应用。

 

应用号不适合什么应用接入?

1)必须直接获得手机底层能力的

比如一键 root 的工具、360 手机卫士等,因为微信不会开放接口给你破坏系统的接口,安全风险太大。要开发接口也最多给到腾讯手机管家和 TOS 使用。

2)应用商店

豌豆荚等,人家有应用宝不跟你玩了,下载接口都不给你,你还去凑什么热闹。不过像最美应用等推荐类的还是有戏的。

3)社交 APP

最重要的关系链人家都不给你接口,你还在人家这里玩个球啊?社交 app 使用时间长、频率高,特别是聊天、表情等互动非常不适合在网页端进行,会非常卡,因此更适合自己做一个 app。

而论坛就很适合,论坛就有非即时、互动轻(点赞、评论)等特点,比如 PMCAFF 这种社区。非常适合在 H5 网页中使用。

4)需要大量缓存的应用

比如网易云音乐和侧重离线观看的视频 app 并不适合,现在微信就因为体积越来越庞大而被吐槽,所以应该不会开放本地储存接口给到其他应用的。而且允许其他应用文件进入微信 app 沙盒(不懂的可以搜索一下 “ios 沙盒机制”),有可能对微信造成安全风险。

5)图片、摄影类

就微信目前提供的接口来看,图片美化和视频美化应用虽然也属于工具类 app,但是由于如果做成微信应用,需要频繁的进行图片和视频的上传和下载操作,并且在手机网页进行拖拽缩放旋转等操作体验极其不好。所以并不适合接入微信应用号。

6)企业应用

想用就玩企业号去,没营业执照的可以百度一下 “企微云平台” 注册体验一下。

 

总结

微信应用号其实就只是一种 Hybrid APP,应用号只是一个管道,一个入口,微信再厉害也永远不是一个 OS(微信能超越 os 的能力?那腾讯还做 TOS 干啥?),所以做好你自己的服务,把微信作为一个入口,而不是你的全部。

 

移动信息化交流QQ群:一号群:211029692 二号群:344692795 CIO交流群:316076815(需认证)