H5和微信小程序的区别
H5泛指移动端网页。
小程序,这里特指微信小程序,微信APP基础上支持的一种应用形式,完全依赖于微信APP环境。
1.运行环境
H5 既然是网页,那么依赖的外壳主要是浏览器,因此只要有浏览器,就可以使用。比如手机内置的浏览器,APP 的 web-view 组件,以及小程序提供的 web-view 组件,都可以打开 H5 页面。
小程序只能依赖微信客户端,也就是说只能在微信里打开。
H5 | 小程序 | |
---|---|---|
运行环境 | 浏览器,web-view | 微信APP |
## 2.系统权限 |
这里的系统权限,可以理解为隐私级别比较高的,如通讯录,或能调用硬件的,比如蓝牙功能等。从这个角度看,H5 本身可以说几乎是没有什么系统权限的。虽然也有摄像头之类的接口,但是重度依赖浏览器能力,兼容性有限。
而小程序,由于依赖微信客户端本身,所以微信小程序团队将客户端的很多能力开放给了小程序环境,当然,前提是你给微信也授权了相关的能力,比如允许访问麦克风,允许访问相册等。
H5 | 小程序 | |
---|---|---|
系统权限 | 弱 | 强 |
## 3.能力限制 |
能力限制主要是微信本身做的一些限制。比如分享到朋友圈这个功能,H5在微信里可以直接分享,而小程序方面只能生成带小程序码的图片发送到朋友圈;而扫码功能是双方都支持的,但是微信小程序生成的小程序码是有限制的,微信小程序只能通过调用它提供的接口生成小程序,且部分接口有着数量限额;支付方面,H5支持多种支付方式,小程序只支持微信支付。
H5 | 小程序 | |
---|---|---|
直接分享朋友圈 | 能 | 不能 |
扫码识别 | 能 | 能 |
支付能力 | 多种 | 微信支付 |
## 4.用户体验 |
H5本质上还是网页,在浏览器里渲染,所以会受到网络、加载图片视频等内容过多等因素的影响,会出现加载缓慢、白屏等现象,体验会差一点。
小程序方面微信客户端对小程序做了解析优化,在首次进入时,会缓存很多资源,所以小程序的使用会流畅很多,接近原生App的体验。
访问入口方面,H5的优点就是可以不依赖于微信客户端,在大部分浏览器都能正常访问,而小程序只能在微信里访问。缺点就是一旦关闭,想要再次访问,只能通过收藏保存书签等方式,小程序则可以通过下拉,我的小程序或最近使用入口进入,更加方便快捷。
H5 | 小程序 | |
---|---|---|
流畅度 | 一般 | 好 |
入口数量 | 少 | 多 |
专属入口 | 无 | 有 |
5.用户触达
H5 本身是没有用户触达能力的,如果用户关掉了页面,页面就再也没有办法主动触达该用户了。因此,传统方式都是采用邮件或短信等来触达用户。
后来,我们有了微信服务号,就多了服务号模板消息的触达方式。不管是哪种方式,都是想方设法把链接地址推送给用户,用户点击时再通过手机内置浏览器或微信内置浏览器访问页面。
而小程序天然支持模板消息,虽然有一周的推送时间限制,但是常规的业务已经足够了。只要用户使用你的小程序,你就可以通过某种操作收集 formid,然后即可在一周之内的任意时间触达用户。
H5 | 小程序 | |
---|---|---|
主动触达渠道 | 短信,APP 推送 | 微信 |
## 6.开发成本 |
对于简单功能,H5 和小程序的开发成本是差不多的,开发模式和语言风格也类似。而对于前面说到的系统能力,可能就只有小程序才能实现,H5 根本做不了。另外,小程序自成体系,因此也有一些现成的组件可以使用,如果刚好覆盖了你的产品功能就能提升效率。
虽然 H5 也有很多框架组件可以用,但由于过于庞杂,有选择成本,且技术栈和 UI可选择性比较多,可能还有融合和修改的成本。而小程序组件的 UI 大部分已经确定,只有很少的部分可以修改,所以一旦认定使用小程序,这部分成本会低很多。
总体上来讲,小程序的开发成本要低一些。
H5 | 小程序 | |
---|---|---|
简易功能成本 | 低 | 低 |
系统功能成本 | 高 | 低 |
## 7.迭代周期 |
H5的话是可以随时发布,不用受任何牵制。而小程序的特点,就是每次提交版本都要经过微信方面的审核,且审核时间的长短很随机,如果项目着急上线就没什么办法。
H5 | 小程序 | |
---|---|---|
跌代周期 | 短 | 长 |
## 8.外部限制 |
H5 页面可以不用搞 HTTPS,有台服务器就可以。但是小程序,从后端开始就有限制,要求域名备案+HTTPS。
另外,小程序对文件大小也有限制,虽然现在已经支持分包加载,但是在文件大小方面,H5 本身是没有什么限制的。只是实际开发的时候,要照顾用户的体验,不能让页面打开太慢。
H5 | 小程序 | |
---|---|---|
外部限制 | 较少 | 多 |
用哪个更好?
纯推广的内容,用H5足够,小程序反而不利于传播(不能分享朋友圈)
内容(文字图片)较多的页面,用H5,小程序调用资源文件更复杂
视觉和交互效果复杂的页面,用H5,小程序对动效的限制较多,且引入第三方特效库困难
迭代次数较频繁的页面,用H5,小程序审核时间不固定
需要使用多种支付方式的页面,用H5,小程序只支持微信支付
需要调用系统功能的页面,微信客户端提供了一些需要的系统功能调用
需要结合线下体验的页面,用小程序,因为小程序一次进入后,可以随时再次调用(微信对话列表下拉),且小程序码更显眼,扫码也更流畅
长期低频次使用的工具,用小程序
涉及与服务器大量数据交互的,用小程序,因为其API接口更安全,效率也更高
….