HTML英文全称为Hyper Text Markup Language,即超文本标记语言,H5是一种技术,依附的外壳是是浏览器,而小程序是基于微信的一种不需要下载安装即可使用的应用。 从「前端开发」的视角来看,微信小程序和H5也存在着多方面的不同。概括来说有以下四个方面的区别
一、运行环境的不同
小程序只能在微信中使用。H5可以在任何浏览器使用
H5的运行环境是浏览器,小程序的运行环境是微信开发团队基于浏览器内核完全重构的一个内置解析器
二、开发成本的不同
H5 的开发,涉及开发工具(vscode、Atom等)、前端框架(Angular、react等)、模块管理工具(Webpack 、Browserify 等)、任务管理工具(Grunt、Gulp等),还有UI库选择、接口调用工具(ajax、Fetch Api等)、浏览器兼容性等等。
开发一个微信小程序,由于微信团队提供了开发者工具,以及api,并且规范了开发标准。在使用这些API时,不用考虑浏览器兼容性,不用担心出现BUG。
小程序是XML,不是HTML。 小程序用的是WXML和 WXSS,标准由微信小程序自己制定。HTML 和 WXML 有交集、CSS 和 WXSS 有交集,但他们是不同的。
显而易见微信小程序的开发成本相对低很多。
三、获取系统级权限的不同
微信小程序相对于H5能获得更多的系统权限,比如网络通信状态、数据缓存能力等,这些系统级权限都可以和微信小程序无缝衔接。 这也是H5的大多应用场景被定位在业务逻辑简单、功能单一的原因。
四、运行流畅度的不同
最容易区分小程序与H5的一点, 打开H5,实际上是打开一个网页,而网页需要在浏览器中渲染,面对复杂的业务逻辑或者丰富的页面交互时页面会卡顿。
而微信小程序,直接在微信上运行,省去了通过浏览器渲染的步骤,因此,在微信中使用小程序,才会比H5流畅很多。除了首次打开需要几秒的加载时间外,小程序各个页面的切换、跳转等体验已经媲美原生App,非常顺畅。
小程序不能跳转外部链接,H5没有限制。
概括来说、小程序相对H5有着开发成本低、功能更丰富、用户体验更佳的优点。(缺点:微信做了很多限制,很多东西不能自定义)