近年来h5小游戏异军突起,成为了备受行业关注的新兴业态,也有越来越多的移动开发者或开发团队把目光转移到h5开发上。就在h5行业发展势头迅猛的情况下,微信这个坐拥海量用户的超级APP则低调宣布上线基于h5底层技术的小程序平台,一经推出立马受到了业内的广泛关注和热议。虽然h5和小程序都是基于h5技术延伸出来的新兴产品,但实则h5和微信小程序多有不同,下面就让型科科技从两个角度为大家科普下微信小程序和h5有何不同和区别。
一、所运行环境的不同
传统的HTML5的运行环境是浏览器,包括webview,而微信小程序的运行环境并非完整的浏览器,大家注意,我这里写的是“非完整的浏览器”,有以下几个原因:
小程序的开发过程中会用到HTML5相关的技术(并非全部)
小程序最后的发布上线需要微信审核,微信在不更新自身软件的情况下可以将小程序更新到自身软件内,这就联想到了React Native框架,并且已经有开发者在微信小程序的开发工具源码中发现使用了React和NodeWebkit库。官方文档中着重强调了脚本内是无法使用浏览器中常用的window对象和document对象(基于这一点,像zepto/jquery这种操作dom的库就被完全抛弃了),小程序的运行环境很有可能是微信开发团队基于浏览器内核完全重构的一个内置解析器,针对小程序专门做了优化,配合自己定义的开发语言标准,提升了小程序的性能。
二、开发成本的不同
这里我提出了一个问题,当我们面对一个HTML5 web开发需求时,我们需要考虑什么呢?
抛去开发工具不谈,大到前端框架、模块管理工具、任务管理工具,小到UI库选择、接口调用工具、浏览器兼容性等都要我们一一考略,再不济用jqery插件写H5,也要在开发过程中去寻找合适的jquery插件来配合项目。
尽管这些工具可定制化非常高,并且提高了开发者的开发效率,但我相信项目开发的配置工作已经消耗了不少精力,尽管大部分开发者都有自己的配置模板,但长久以来对于项目中使用的各种外部库的版本迭代、版本升级所产生的成本应该也不低。
微信团队提供了开发者工具,并且规范了开发标准,前端常见的HTML、CSS变成了微信自定义的WXML、WXSS,WXML中尽管全部是自定义标签,但官方文档中都有明确的使用介绍,相信上手应该是非常容易的;WXSS、JSON和JS文件中的写法稍有限制,但整体相差不多。
所以微信在为开发者统一了开发标准后,开发者就仅需要专注于编代码就可以了。
标签:微信公众平台