- 34 - 2018 年 9 月第 17 期 第 34 期 小程序开发 小程序官方文档提供了很多开发相关的文档和工具,比如 wxml 语法规范、内置 API、微信 Web 开发工具等[1]。 1.1 小程序与原生应用的区别和比较 小程序最大的特点就是不用下载安装就可以使用,因为小程序基于微信;而手机应用则需要下载安装,这是两者最根本的区别。 小程序和手机应用都可以进行同样的操作:HTTP 请求、上传/下载文件、图片、录音、音频、视频、实时音视频(直播)、操作本地文件、数据缓存、调用系统设备、多线程等。 由于小程序基于微信,微信获得了一定的设备权限,小程序可以通过开放接口调用这些权限。 例如小程序不能调节系统音量,不能调用计步器,就是因为微信没有为小程序开放接口。 同样,如果微信后台程序关闭,小程序推送的信息也收不到。比如肯德基订餐小程序推送取餐单号信息时,用户是收不到信息的。开发小程序最大的好处就是可以很方便的调用微信开放的接口,比如获取微信用户信息、微信支付、给用户推送消息等等。比如要调用微信支付接口,只需要说wx.就可以弹出支付窗口,非常方便。
在与后端服务器的交互上也有区别,出于安全考虑,小程序只允许访问在ICP备案过的域名,而且必须是协议。也就是说,使用IP和HTTP协议会被小程序屏蔽,请求不被允许[2]。 1.2 小程序与PWA的区别与比较 微信小程序和渐进式网页应用(PWA)是近年来在移动端和前端备受关注的两项技术,都是Web技术的扩展,小程序在制定自己的规范,拥有和微信一样的功能的同时,还配合微信实现推送信息等功能;PWA则在原有的基础上,依托推送通知等功能。 两者功能上非常相似,同样可以离线打开、本地缓存,在桌面上快速访问。两者的目标都是提供类似原生APP的体验。小程序基于微信,所以小程序的运行环境就是微信本身,所有安装了微信的用户都可以使用小程序。 在中国,微信的装机量非常大,所以小程序在中国的运行环境基本没有什么障碍。PWA 需要浏览器支持,目前只有部分浏览器支持,也就是说如果浏览器不支持,用户就无法享受推送等功能,但是还是可以当做网页来用的。

小程序对微信用户的推送通知有很多限制,首先需要在小程序后台管理中配置模板消息,然后用户提交表单后会回传给服务器,最后服务器会填写消息模板推送给用户。也就是说,必须用户提交了表单,服务器才可以推送消息,并且消息内容不能超出定义的模板。PWA 没有这个限制,因为它是后台进程,即使用户关闭网页后也能推送消息,类似原生 APP 的功能 [3]。小程序的搜索生态是封闭的,只能通过扫码、微信搜索、公众号关联、推荐、应用商店等方式进入小程序。PWA 和 APP 一样,只要做好搜索引擎优化(SEO),就能被搜索引擎收录。 表1 小程序与PWAs区别及对比 运行环境 实现方式 推送通知 搜索生态 小程序 微信 Web+ 触发表单提交推送 封闭式 PWA支持浏览器 Web 用户即使关闭网页也能推送 开放 1.3 小程序开发与开发区别 小程序采用wxml+wxss+js,需要注意的是小程序并不完全等同于APP,官方文档对wxml与html的区别做了说明。 (1)标签不同:小程序的wxml中有和html功能类似的标签,比如div对应的view等,但是wxml还有很多特有的标签。 作者简介:朱月星(1997-),男,广东潮汕人,本科;研究方向:商业软件开发。
朱月星,陈凯,郭有达,顾永浩(北京师范大学珠海分校信息技术学院,广东珠海) 摘要:自 2017 年 1 月 9 日发布微信小程序以来,越来越多的小程序、小游戏被开发出来,小程序背后的开源生态也在这一年内蓬勃发展。本文从小程序开发、开源生态、现有应用案例三个角度分析了当前流行的小程序开发方式,通过开源生态和应用案例分析小程序的发展前景。作者认为电商、共享单车是小程序最好的应用场景。 关键词:小程序;开源生态;电商;共享单车 无线互联技术 小程序开发及其开源生态、应用案例分析