小程序面世以后,尽管微信团队做了很多关于小程序的普及功课,但是还是有很多人不太理解,最多的误解就是把它等同于H5。
小程序由于刚推出来时开放的能力十分有限,所以在功能展示上会让普通用户感觉和H5一样,并没有什么特别之处,导致了部分人把两者混为一谈。实际上,小程序和H5是两种不同的东西。
通过百度词条可以知道,HTML英文全称为Hyper Text Markup Language,即超文本标记语言。而HTML5是超文本标记语言的第五次修订版本。
简单来说,小程序是一种应用,运行的环境是微信(App);H5是一种技术,依附的外壳是是浏览器。
如果从PC端和移动端的比较来看,电脑上的软件相当于手机上的App,都需要下载;而通过浏览器打开的H5则相当于小程序,都无需下载。
就拿看电影作为例子,PC端是从下载软件视频.exe到在浏览器打开
一、视图层区别
两者首先在视图层的角度上来说就有着很大的区别,特别是它们的开发工具就是非常不同的,小程序都是依赖于微信客户端的,所以相对来说开发工具没有H5那么多。
另外两者的开发语言也都是不同的,微信小程序有自己的一套标签与样式语言,与标准的H5语言是不一样的。
微信小程序还独立了很多的原生app的组件,所以它在组件封装上面与H5也都是有所不同的,我们只需要通过这些方面进行对比,就能够大致了解它们的不同。
二、服务器区别
微信小程序与H5在服务器和域名等方面的配置也都是有着极大不同的,比如说域名上面,小程序肯定是依托于微信平台的,而且必须备案,而普通的H5网站相对来说域名的选择要更为广泛一些。
在服务器的配置上面也都会有着明确的区别,两者对于服务器的要求上,小程序的要求要更高一点。
三、用户体验
我们在打开一个HTML5页面的时候,实际上就是打开一个web网页,而网页在浏览的时候,需要在浏览器中进行渲染,这个过程叫做加载,无论加载的时间的长短,都会给用户一种「卡」或者「不灵敏」的感觉。小程序是微信内的云端应用,通过WebSocket 双向通信(保证无需刷新即时通信)、本地缓存(图片与UI 本地缓存降低与服务器交互延时)以及微信底层技术优化实现了小程序接近原生APP的体验。所以在使用小程序的时候,同等网络条件下几乎不用等待,可以像操作普通app一样流畅。
四、获取系统级权限的不同
微信小程序相对于H5能获得更多的系统权限,比如网络通信状态、数据缓存能力等,这些系统级权限都可以和微信小程序无缝衔接。
而这一点恰巧是H5 被诟病的地方,这也是HL5的大多应用场景被定位在业务逻辑简单、功能单一的原因。