微信小程序和HTML5应用有什么区别?

谮璨TDiz6670


HTML英文全称为Hyper Text Markup Language,即超文本标记语言,H5是一种技术,依附的外壳是是浏览器,而小程序是基于微信的一种不需要下载安装即可使用的应用。

从“前端开发”的视角来看,微信小程序和HTML5也存在着多方面的不同。概括来说有以下四个方面的区别!

第一条是运行环境的不同

传统的HTML5的运行环境是浏览器,包括webview,而微信小程序的运行环境并非完整的浏览器,大家注意,我这里写的是“非完整的浏览器”,有以下几个原因

小程序的开发过程中会用到html5相关的技术(并非全部)

小程序最后的发布上线需要微信审核,微信在不更新自身软件的情况下可以将小程序更新到自身软件内,这就联想到了ReactNative框架,并且已经有开发者在微信小程序的开发工具源码中发现使用了react和NodeWebkit库

官方文档中着重强调了脚本内是无法使用浏览器中常用的window对象和document对象(基于这一点,像zepto/jQuery这种操作dom的库就被完全抛弃了)

所以我个人认为,小程序的运行环境很有可能是微信开发团队基于浏览器内核完全重构的一个内置解析器,针对小程序专门做了优化,配合自己定义的开发语言标准,提升了小程序的性能。

不过由于微信给开发者提供了开发工具,而开发工具中也内置了编程、调试、开发环境、发布于一身,我们也不用再探讨它的最终运行环境了,只要按照官方文档进行开发就可以了。并且从微信团队给开发者提供开发工具这一举动,让我联想到了苹果给开发者提供的X-CODE开发工具,可以想象微信的“野心”可见一斑

第二条是开发成本的不同

这里我提出了一个问题,当我们面对一个Html5web开发需求时,我们需要考虑什么呢?

抛去开发工具(vscode、sublimtext、Atom等)不谈,大到前端框架(Angular、react、vue、backbone等)、模块管理工具(Webpack 、Browserify 等)、任务管理工具(Grunt、Gulp等),小到UI库选择、接口调用工具(ajax、Fetch Api等)、浏览器兼容性等都要我们一一考略,再不济用jqery插件写H5,也要在开发过程中去寻找合适的jquery插件来配合项目。

尽管这些工具可定制化非常高,并且提高了开发者的开发效率,但我相信项目开发的配置工作已经消耗了不少精力,尽管大部分开发者都有自己的配置模板,但长久以来对于项目中使用的各种外部库的版本迭代、版本升级所产生的成本应该也不低。

而当我们面对一个微信小程序的开发需求时,我们需要考虑什么呢?微信团队提供了开发者工具,并且规范了开发标准,前端常见的HTML、CSS变成了微信自定义的WXML、WXSS,WXML中尽管全部是自定义标签,但官方文档中都有明确的使用介绍,相信上手应该是非常容易的;WXSS、JSON和js文件中的写法稍有限制,但整体相差不多。在统一了这些标准之后,作为一个开发者,你会发现,自己只要专注写程序就可以了:

  • 当需要调用后端接口时,调用发起请求API

  • 当需要上传下载时,调用上传下载API

  • 当需要数据缓存时,调用本地存储API

  • 引入地图、使用罗盘、调用支付、调用扫码等等功能都可以直接使用

  • UI库方面,框架自然带有自家weui库加成

并且在使用这些API时,你不用再去顾虑浏览器兼容性,不用担心生产环境中出现不可预料的奇妙BUG,可见微信小程序的开发成本确实相比以往的web开发低很多。

第三条是获取系统级权限的不同

微信小程序相对于HTML5 web应用能获得更多的系统权限,比如网络通信状态、数据缓存能力等,这些系统级权限都可以和微信小程序无缝衔接,也就是官方宣称的拥有Native App的流畅性能,而这一点恰巧是HTML5 web应用经常被诟病的地方,这也是HTML5的大多应用场景被定位在业务逻辑简单、功能单一的原因。

第四条便是应用在生产环境的运行流畅度

最容易区分小程序与H5的一点, 打开H5,实际上是打开一个网页,而网页需要在浏览器中渲染,面对复杂的业务逻辑或者丰富的页面交互时页面会卡顿。

而微信小程序,直接在微信上运行,省去了通过浏览器渲染的步骤,因此,在微信中使用小程序,才会比H5流畅很多。除了首次打开需要几秒的加载时间外,小程序各个页面的切换、跳转等体验已经媲美原生App,非常顺畅。

小程序不能跳转外部链接,H5没有限制。

概括来说、小程序相对H5有着开发成本低、功能更丰富、用户体验更佳的优点。(缺点:微信做了很多限制,很多东西不能自定义)

以上就是我总结的微信小程序跟HTML5的区别。微信现在月活9亿,特别是微信推出大众号今后,微信的月活也大幅上升,这就为微信小程序带了十分便利的入口。以9亿为基数,奠定了微信小程序的根底。

微信小程序不是HTML5,它是根据微信的独立的开发模式,能过节约人们的开发本钱与开发周期。当然,现在小程序也不能彻底替代APP,今后的发展怎么样,欢迎持续关注千锋武汉吧!


千锋武汉


这个是一个是应用 一个的程序 这个我想说 是不同的


稳稳最靠谱


区别一:准备时间与准备工作。

从我们已知的信息来看,百度轻应用的准备时间很短,而微信小程序的准备时间很长,看上去,百度的轻应用并没有全力以赴,仓促上线,做得成则成,不成拉倒;而微信花了一年时间去准备小程序,摆出了无论如何都要成功的态势,因为准备得充分,所以刚一正式上线,就刷屏了,N多互联网企业参与了小程序,由此可见,在正式上线前,微信就做了大量的准备与推广,但当年的百度轻应用则是发布了再推广。

区别二:入口。

百度认为,移动互联网的入口依旧是搜索框,所以,在做出手机百度和其他号称用户数过亿的app后,就迫不及待地想把世界装入搜索框;而微信认为,移动互联网的入口是二维码,换句话说,移动互联网的入口是线下,通过二维码,可以连接线上线下。百度还活在PC时代,而微信是真正活在移动时代的。

区别三:用户数。

百度推出轻应用的时候,用户数还不到3亿,而微信推出小程序时,月活用户已达8.5亿(保守估计),日活用户也近8亿,刨除wechat用户,估计月活也得超6亿,日活超5亿,也就是说,微信推出小程序时,微信中国用户基本等于中国移动互联网的用户,而百度推出轻应用时,百度总用户离当时的中国移动互联网总用户还有一段距离,何况当时的移动互联网用户还在已井喷的方式增长,百度能否抓住移动互联网的红利,继续做大用户群尚是未知,所以业界对百度的轻应用也并不看好(因为大家都忙着开发app去抢用户)。

区别四:投入程度。

从准备时间和腾讯官方的发言来看,腾讯对小程序不可谓不重视,投入力度不可谓不大。而从第一批上线的小程序可以看出,腾讯阵营的公司,京东、滴滴和美团在微信上已有入口的情况下,还做出了京东购物、滴滴出行DIDI、滴滴公交查询、美团外卖+、大众点评+、猫眼电影,而非腾讯阵营公司,携程、去哪儿也跟进了小程序,疑似腾讯阵营的今日头条也加入了小程序战团,完全不曾站队的豆瓣也加入了,一些政府机构也加入了……这么多个in公司加入,可见腾讯在小程序上线前做了多少细致的工作,据钛媒体报道,美味不用等得到了微信小程序团队的指导!而在百度上线轻应用时,根本没有这么多公司支持,更没有标杆应用出现,可见百度在轻应用上的投入程度。

区别五:推广。

目前,微信官方还没有推广小程序,从微信小程序的规则上看,小程序会像公众号一样,由N多靠微信生存的公司自发推广,一如蚂蚁雄兵,把二维码铺满中华大地;而百度当年推广轻应用,则是指望百度的代理公司到各商家门店去立展牌,商家也不是很上心,代理公司也不是很上心(因为只有商家投广告,代理公司才能赚到钱)。两厢对比,孰优孰劣,一目了然。

区别六:用户体验。

百度轻应用引入了“@”的概念,这个来自西方的概念,只在以微博为代表的社交网络中并广泛使用;而微信小程序,则直接使用了中国用户已经接受了的“扫一扫”和“二维码”。单从这一点上看,百度轻应用的用户体验就不如小程序。


乐狐


第一、运行环境不同

传统的HTML5的运行环境是浏览器,包括webview,而微信小程序的运行环境并非完整的浏览器。

小程序的开发过程中会用到HTML5相关的技术(并非全部)。

第二、开发成本的不同

第三、获取系统级权限的不同

微信小程序相对于HTML5 web应用能获得更多的系统权限,比如网络通信状态、数据缓存能力等,这些系统级权限都可以和微信小程序无缝衔接,也就是官方宣称的拥有Native App的流畅性能,而这一点恰巧是HTML5 web应用经常被诟病的地方,这也是HTML5的大多应用场景被定位在业务逻辑简单、功能单一的原因。

第四、应用在生产环境的运行流畅度

长久以来,当HTML5应用面对复杂的业务逻辑或者丰富的页面交互时,它的体验总是不尽人意,需要不断的对项目优化来提升用户体验。但是由于微信小程序运行环境独立,尽管同样用html+css+js去开发,但配合微信的解析器最终渲染出来的是原生组件的效果,自然体验上将会更进一步。


飞腾求职助力营


HTML,不管是手机浏览器还是电脑浏览器都可以使用

这就是两者的区别


分享到:


相關文章: