一、功能不同。微信公众号功能是以信息展示与营销为核心,小程序则面向产品与服务。微信与公众号在开发语言、设计规范、营销方式、审核机制等功能方面均有较大不同。公众号是一种账号类型,为用户提供信息与咨询发布平台,提供了一种新的传播信息的方式,把读者之间更好的沟通与管理模式构建起来,结合H5以后,公众号也能够提供一些简单交互功能。小程序主要旨在提供服务,相比公众号运行更流畅,能够提供更加复杂的产品与服务。公众号功能主要围绕信息传递与营销展开,小程序对营销功能进行了严格控制以与公众号区别,使得小程序的服务在使用体验与便捷性能够得到提升,以免淹没在公众号过度营销信息之中。
二、定位不同。公众号是为营销与信息传递服务的,小程序是为产品服务的。公众号主要用于信息的传递实现人与信息的连接,借助H5能够实现简单的交互,主要以营销和信息传递为主简单的服务为辅,而小程序从功能上与公众号有严格区分(不支持关注、消息推送等营销手段),一方面使得产品与服务不至于淹没在公众号营销信息中,另一方支持公众号、朋友圈、群与小程序之间的互动与导流,使得开发者专心做产品与服务,从而为微信带来大量辅助性的服务,再加上微信自身重度服务,从而打造从社交到信息连接再到服务的圈子。
三、用户体验不同。微信公众号的操作有较大的延时,而小程序体验与原生App十分接近。公众号中点击应用功能后顶部出现绿色进度需要等一段时间,对于业务逻辑复杂交互要求高的应用使用起来体验较差。而小程序将会非常流畅几乎无需等待,类似普通APP 操作一样流畅。主要原因是公众号没有本地缓存,所以每次打开都是会请求服务器刷新页面,造成延时较长体验下降,小程序对UI 与图片本地缓存,只需要对服务器请求交互数据,页面切换无需刷新,因此微信小程序的体验与原生APP的流畅程度是十分接近的。
四、实现技术不同。公众号基于H5,小程序基于微信自身开发环境与开发语言。小程序是微信内的云端应用(所以无需安装),不是原生App,通过WebSocket 双向通信(保证无需刷新即时通信)、本地缓存(图片与UI 本地缓存降低与服务器交互延时)以及微信底层技术优化实现了接近原生APP 的体验。
微信公众号基于传统H5 开发与运行,传统H5 运行环境是浏览器,而微信小程序运行环境不是完整的浏览器,开发过程中用到H5 相关的技术,微信小程序的运行环境是微信基于浏览器内核完全重构的一个内置解析器,针对小程序专门做了优化,配合自己定义的开发语言标准(基于H5 进行了优化),提升了小程序的性能。