一、文献综述
(一)国内外研究现状
在说微信公众平台之前,不得不介绍微信。微信是腾讯公司在移动互联网蓬勃发展的历史背景下于2011年推出的一个能即时通讯的聊天交友智能终端程序。它不在乎什么通讯运营商,什么操作系统,能在耗费少量流量条件下实现快速发送文字、位置、图片、语音等多媒体文件,也可以共享转发流媒体内容,还提供基于位置的如“摇一摇”、“漂流瓶”等功能以及支持“语音记事本”、“公众平台”、“朋友圈”等服务性插件[1]。微信问世之后,注册用户数量稳步增长,如此庞大的用户群,其中的商业机会更是数之不尽。
于此同时在移动设备逐渐成为主流的情况下,传统信息系统在传递方式和效率上就显得不尽人意了。为了获取信息,学生需要登录学校官方网站,并在大量网页间搜寻所需要的信息,费时费力。同时有的网站对手机浏览器缺乏很好的支持,经常会遇到控件无法运行或是不兼容的情况。并且传统信息系统对网络要求相对较高,对于新兴的移动设备支持不佳,有时需要消耗大量流量,或是出现手机操作系统不兼容而导致不能正常显示的问题。对于这些基础设施,如果重新建设则需要花费大量人力物力[2]。并且大学的日常管理有许多不同的网站。访问每个网站都需要经过认证,等待网站回复,这不仅浪费时间,而且降低了管理的效率[16]。
如果将这些平台移植到微信小程序上,情况则会发生质的变化。原因有二,其一在于程序简化,优化使用体验:从用户的实际使用角度看,微信小程序的推出,极大地简化了应用安装下载步骤,用户无需单独下载应用安装包,只需要在微信中打开即可使用小程序提供的服务,为用户提供了很大的便利。以往需要用户单独下载APP,需要注册等--系列较为复杂的操作,很多APP的使用频率很低,极大的浪费了手机空间。小程序的出现改变了这一现状,用户无需下载很多APP同样可以完成任务,且省去了注册登录等一系列复杂操作,只需要对微信小程序进行授权就可以了。其二在于开发门槛低从程序开发者的角度来说,原生APP的开发需要考虑很多平台(I0S、Android等)、多机型、多系统的巨大差异,开发和维护的成本极高,这些问题极大的限制了应用程序的开发。由于微信小程序在微信中运行,凭借微信小程序较为完善的开发文档,企业的开发成本和推广成本得以降低[3]。且众所周知,基于 Web的应用系统已成为趋势。在这种结构下,用户界面完全通过 Web浏览器实现,一部分简单的事务逻辑在客户端实现,但是主要的事务逻辑在服务器端实现 。在构架企业级Web应用时, 要考虑应用系统的安全性、可重用性、可维护性和可移植性等[4]。
(二)研究主要成果
小程序的页面设计结构采用MINA框架,MINA框架的核心是一个自响应的数据绑定系统,该系统主要分为两部分即视图层和逻辑层。MINA框架能够更加高效简便解决数据之间的同步问题,在监测到数据修改或删除的时候,只需要在逻辑层修改或删除数据,视图层就会根据相应的机制做出相应的更新。小程序也 遵循目前比较火的MVVM(Model–view–viewmodel)软件架构模式,在原有 MVC 模式的基础上将控制层 Control 演变成 ViewModel 层,有助于将图形用户界面开发与后端复杂的业务逻辑分离出来[3]。具体来说MVVM开发模式还有以下的优点,低耦合:视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的'View'上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变;可重用性:你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑;独立开发:开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xml代码;可测试:界面素来是比较难于测试的,而现在测试可以针对ViewModel来写。
从微信“小程序”开发的系统架构上看,开发人员可以从手机客户端app开发快速切换到小程序开发,以下简单列举微信“小程序”开发的顺序和关键技术。首先获取微信“小程序”的 AppID:由于微信的限制,开发者不能直接使用服务号或订阅号 的 AppID,需要登录微信已经提供的小程序开发账号,且还需要绑定上需要体验该小程序的微信号。其次创建微信“小程序”项目:开发者可以通过开发者工具,来完成小程序创建和代码。再次编写微信“小程序”代码:点击开发者工具左侧导航的“编辑”,开发者可以看到这个项目,已经初始化并包含了一些简单的代码文件。最关键是 app.js、app.json、app.wxss 这三个文件,其中,.js 后缀的是脚本文件,.json 后缀的文件是配置文件,.wxss 后缀的是样式表文件。最后创建微信“小程序”页面:页面是微信小程序开发的核心内容,一般包括index页面logs页面,即欢迎页和小程序启动日志的展示页,都在pages目录下。微信小程序中的每一个页面的路径 页面名”都需要写在 app.json的pages中,且pages中的第一个页面是小程序的首页。每一个小程序页面是由同路径下同名的四个不同后缀文件的组成,如:index.js、index.wxml、index.wxss、index.json。.js 后缀的文件是脚本文件,.json后缀的文件是配置文件,.wxss后缀的是样式表文件,.wxml 后缀的文件是页面结构文件。在logs的页面结构中,logs页面使用 lt;block/gt; 控制标签来组织代码,在lt;block/gt;上使用wx:for-items 绑定logs数据,并将logs数据循环展开节点[9]。具体的开发文档可以参考[15]。
(三)发展趋势
与传统的手机客户端app相比较,微信“小程序”开发的系统架构更为简单;开发技术与手机客户端 app 十分相似,并且采用了更为简单的页面代码[14]。现如今,微信小程序已经变得十分火热,许多高校都在开发自己的微信小程序,不仅能给学生带来方便快捷,也给学生带来很好的体验。高等学校作为培养人才的重要地方,应该积极的应用这项术来为自己的学校提高服务质量以及影响力[10]。且微信小程序相比于传统APP的开发难度和成本更低,且易于推广,符合当今互联网“微、小、轻”的产业发展趋势[11]。小程序在这一年多时间里数量日渐增加,其开源生态也十分活跃[13]。小程序功能快速迭代,意味着围绕小程序的开发和生态工具建设将会是移动互联网的一个巨大机会[12]。
