付志文+彭蕾
摘 要 在对原生移动教学APP与微信教学APP进行对比的基础上,指出微信教学APP在开发模式上的优势。以移动微课堂系统为案例,分析微信教学APP设计的特征,阐述详细开发流程,最后总结对类似移动学习软件开发的借鉴价值。
关键词 微信;移动学习;教学APP;移动微课堂系统
中图分类号:G642 文献标识码:B
文章编号:1671-489X(2017)24-0035-04
Design and Implementation of an Educational APP based on WeChat//FU Zhiwen, PENG Lei
Abstract The paper made a comparison between Native APP deve-
lopment model and Light APP development model. Then described the advantage of Light APP development based on the popular app:
WeChat. Taking Mobile Micro Class APP as a case, this paper ana-
lyzed the features and procedure of APP design based WeChat. Fina-lly, the paper summarized the reference value to the development of similar mobile learning software.
Key words WeChat; mobile learning; teaching APP; mobile micro class APP
1 前言
APP 是“Application”的簡称,是指运行于智能手机、平板电脑等移动终端的应用程序。伴随着移动学习的蓬勃发展,作为移动学习载体的移动教育APP也应运而生。鉴于移动教育APP的重要性,刘丹等认为,如何高效地研发和利用丰富的移动教育APP资源,成为移动互联教育应用成功与否的关键所在[1]。为此,业内对如何开发优质移动学习软件这一问题进行了广泛探讨,既有对宏观层次的资源建设机制、推广与监管机制、应用模式方面的总结归纳[2],也有针对具体某个APP开发思路、经验实践的案例研究[3-5]。
本文结合当前广泛流行的社交软件——微信,设计一个教学APP,为移动教育APP开发提供一个新的视角。
2 原生移动教学APP与微信教学APP的区别
在移动应用开发领域,目前业界的主流开发技术可划分为原生应用模式(Native APP)、Web应用模式(Web APP)、混合模式(Hybrid APP)、轻量级应用(Light APP)四种类型。不同模式的开发技术对应不同的需求场景,最终形成的APP也各具优缺点。下面以移动教学APP软件较常用的原生应用模式和轻应用模式为例,进行分析讨论。
早期的移动教学APP一般是基于Native APP开发模式开发的。Native APP是基于移动设备操作系统运行的应用程序,因而在软件开发过程中需要针对不同的手机操作系统(如iOS或者Android系统)采用不同的语言和框架进行开发。Native APP因为可以直接调用硬件设备资源,如摄像头、拨号功能等,可实现的功能最丰富,用户体验也最好。但Native APP也存在开发成本较高、移植性差、更新和分发效率低的问题[6]。
百度开放平台将轻应用定义为:“是一种无须下载、即搜即用的全功能APP,既有媲美甚至超越移动应用(Native APP)的用户体验,又具备Web APP可被检索与智能分发的特性。”[7]轻应用出现的基础是超级APP,超级APP是指用户群巨大且使用频度很高的APP,如微信、微博、支付宝等,它们给轻应用提供用户和流量、底层技术支撑,同时降低开发和平台覆盖的成本。而轻应用是在超级APP开放接口基础上进行二次开发,以一定形式为用户提供的应用服务。
微信公众号是轻应用的一种形式,从用户的角度来看,如果需要使用某个轻应用,则首先打开微信APP,在微信关注相应的公众号,就可以使用它的功能和服务,不需要安装额外的程序。如果该公众号的功能进行了更新,用户完全不需要执行任何操作,因为更新都是在云服务器端由开发者完成,用户直接使用即可。从开发者的角度来看,首先要在微信公众平台开通公众号,在平台内配置接口URL,这个接口用于微信公众平台与开发者开发的轻应用进行数据交互。轻应用可以是用Java、PHP、ASPX等语言编写的Web程序,由于轻应用的表现形式是Web,因此具有很好的跨终端、跨平台特性。
3 微信教学APP的设计
移动微课堂系统是为了适应高校移动教学需求而开发的一款微信教学APP,为了“短、平、快”地实现系统功能,并且能兼容不同系统、不同配置的移动终端,更好满足大学生的使用,系统采取基于微信的轻应用模式进行开发。该系统的总体架构是由移动学习客户端、移动学习服务端和数据库三部分构成。移动学习系统的使用角色有两类,分别是学生和教师,以下分别对客户端与管理端两个子系统做具体设计。移动微课堂系统功能分布如图1所示。
微信教学APP客户端设计 客户端的使用角色是学生,学生的使用流程如下。
1)绑定与登录。学生首次使用移动学习系统需要进行注册及绑定,填写相关注册信息如学籍信息、所在班级。绑定是指将个人的微信号与用微信教学APP的学生身份进行绑定,完成绑定之后可以一键登录,无须再次输入用户名和密码。endprint
2)开展移动学习。进入微课程、微视频、学习评价等模块,浏览相应的经过优化的移动学习资料。由于推送的学习资料文件格式有所不同,因而学生可以通过两种方式进行学习,即直接打开的在线学习,以及下载后再打开进行浏览的学习。
3)开展评价:包括自我评价和对学习资源的评价。自我评价是指完成每章节对应的测试题目,以了解自己对章节知识点掌握的程度。学生学习完学习资源后,对其逐个打分(满意度),并上传至服务端。
微信教学APP管理端设计 管理端是教师在计算机登录到基于Web的管理系统后台,以实现对整个微信教学APP有关参数配置、资源建设、学生活动进行管理。其功能主要包括五个方面。
1)接入设置:配置微课堂教学系统与认证公众号之间的通信接口,根据微信公众平台的接入规则,需管理员填写公众号的名称、账号、原始ID、APPID、Secret等必备信息,以实现APP与微信公众平台的通信。
2)菜单设置:配置公众号主界面下方的菜单栏,通过层级结构方式构建至多二级的菜单,菜单可以是网址链接、关键字。
3)用户认证:采用微信平台的开放授权模式(OAuth),学生第一次使用系统时需输入个人信息与学生的微信账号进行绑定,以后使用可直接通过学生微信的OpenID访问本系统;学生绑定之后需要管理员审核通过,才可以成为正式用户。
4)用户主界面配置:用户主界面呈现微课堂的主要模块,采用简洁大方的封面型版面展示最新通知、微课程、微视频、学习评价、调查问卷、主讲教师、班级详情、学习中心,作为学生访问微课堂的入口。这个主界面可以由管理员选择不同学科、版式的模板进行定制。
5)學习资源配置:系统的学习资源包括最新通知、图文课程、课程PPT、微视频、学习评价等,这些学习资源的内容由教师管理员在后台相应模块进行填写并上传,学习资源配置完成后,在学生端通过列表方式依次展示。
4 微信教学APP的设计开发与部署
本系统是基于微信的轻应用,系统的使用需要与微信公众平台配合进行通信,用户在使用时以微信公众号作为登录入口。系统部署的整体流程如图2所示。
1)开通公众号。微信公众平台目前一共提供了三种类型的公众号,分别是订阅号、服务号、企业号。各种类型公众号所拥有的微信API接口权限不同,订阅号权限最低,服务号较高,企业号最高。由于本系统开发过程需要使用微信JS-SDK接口、网页授权获取用户基本信息(OAuth2.0网页授权)接口,本研究开通了服务号类型的公众号。
2)开发移动教学平台。移动教学平台本质上是一套建立在微信API基础上的基于Web的网络数据库系统,除了需要和微信公众平台通信以外,其开发和部署遵循一般Web应用的方法。本研究采用业界流行的B/S结构,按照上文描述的功能设计,基于Apache+MySQL+PHP的技术路线开发系统,完成后在私有云平台上进行发布。
3)微信公众平台配置接入信息。移动教学平台在私有云平台上发布之后,下一步就需要与微信公众平台进行对接。在微信公众平台的指定页面申请消息接口,填写微信教学APP所在服务器地址(URL)、Token和EncodingAESKey。其中,URL是开发者用来接收微信消息和事件的接口URL;Token可由开发者任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性);EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带参数如表1所示。
移动学习平台服务器端的接口处理页面通过检验signature对请求进行校验。若确认此次GET请求来自微信服务器,原样返回echostr参数内容接入生效,否则接入失败。
4)管理端配置公众号基本信息。登录微信教学APP的系统管理端,配置移动教学轻应用与认证公众号之间的通信接口。根据微信公众平台的接入规则,需要填写与系统进行绑定的公众号的账号、原始ID、APPID、Secret等必备信息,这些参数用于准确地将系统的XML数据信息传递给对应的公众号,同时用于通过微信公众平台的安全校验。
5)用户关注公众号。以上已经完成微信教学APP的部署,最后一个环节就是用户如何获取该APP。在实际教学中,可由担任课程教学的教师向学生公布装载了该APP的微信公众号,学生关注公众号后即可使用已实现的所有功能。图3为学生关注之后的界面,经过绑定身份信息后,即可进入图4所示“课程中心”开展移动学习。
5 总结与讨论
本文所实现的移动微课堂系统是基于腾讯微信公众平台开放接口功能的第三方移动学习平台,结构功能清晰、操作简单,系统功能分别对应教育教学各项需求。学生只需要关注装载了本系统的课程微信公众号,就可以利用移动智能终端进行课程学习、学习评价。教师管理端进行移动学习资源的建设和发布,教师可以将微视频、习题、语音等课前预习课件等精确推送到全部或某个学生手机上,将课前、课上、课后的每一个环节都赋予全新的体验。并且移动微课堂系统还可以监控记录学生学习进度、测试情况,为教师管理监控学习过程提供决策参考。
本文探讨了应用社交软件微信的接口功能开发教学APP的方法与步骤,通过该APP设计与开发的实践,可总结出微信教学APP在开发模式方面的优势:
1)与原生应用开发模式相比,其最大好处在开发成本低,易于实现,大大节约了开发时间和成本;
2)微信教学APP具有良好的跨平台性,在iOS和Android
系统上均可运行微信,意味着可以直接使用微信教学APP,可有效减少学生使用的技术障碍。
在高校移动教学中推广微信教学APP,可以快速构建出丰富的移动APP应用,便于移动教学模式的推广普及,更好地为师生提供功能强大的移动教学支撑平台。
参考文献
[1]刘丹,胡卫星,李玉斌,等.移动教育APP的研发现状与应用问题分析[J].电化教育研究,2016(8):47-52.
[2]马玉慧,赵乐,李南南,等.新型移动学习资源:教育APP发展模式探究[J].中国电化教育,2016(4):64-70.
[3]樊雷.基于PhoneGap和jQuery Mobile的课程群移动学习平台构建[J].软件导刊,2014(11):56-58.
[4]杨叶,陈琳,董启标.基于PhoneGap的跨平台移动学习资源设计与开发探究[J].现代教育技术,2014(2):100-107.
[5]张临英,晋欣泉,杨曼,等.基于移动APP的微课程资源优化设计研究[J].江苏开放大学学报,2015(3):32-38.
[6]顾春来.APP应用程序开发模式探究[J].硅谷,2014(5):
35-36.
[7]什么是轻应用[EB/OL].http://developer.baidu.com/wiki/index.php?title=docs/lightapp.
[8]微信接入指南[EB/OL].https://mp.weixin.qq.com/wiki.endprint