基于微信公众平台辅助教学实施的研究与开发

2018-11-15 01:33罗春花李琼陈颖邹艳华
电脑知识与技术 2018年20期
关键词:开发研究辅助教学微信公众平台

罗春花 李琼 陈颖 邹艳华

摘要:随着智能移动终端的普及,以及微信应用受众群体越来越广泛,微信在教育领域的研究不断被深化,二次开发的微信公众平台应用于各个行业的研究也逐渐增多。而教学是一个须完整实施但又复杂的过程体系,为了教学实施过程中课后构建知识体系这一阶段学生能够更好地进行独立移动式学习,阐述开发应用于辅助教学的微信公众平台的一些思想、原理和技术,尝试为教育工作者们提供普遍性开发实践。

关键词:微信公众平台;辅助教学;开发研究;技术;原理

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)40-0165-03

1 前言

整个教学过程的实施不是只包括课堂授课,还包括预习、复习、评价等阶段,并且内化知识主要是在课后完成,而老师并不总是随时随地无处不在,因此就需要一个不受时空地域限制的平台来辅助完成整个教学过程。

随着既智能又可移动的新式媒体终端的普及,微信应用和其他社交应用相比,已经成为一种生活方式,在日常利用碎片时间进行阅读时人们最先考虑的也是微信公众号。2017年11月9日,腾讯微信团队在全球合作伙伴大会上发表了最新的《2017微信数据报告》,这份报告数据统计截至9月,其中开放平台公众号的月活跃账号数已达到350万[1]。微信自2011年推出以来,用户呈现不断增长的趋势,其中微信公众平台已经被很多专家学者探索研究应用在各个领域方面,如教育、广播电視、医学、图书馆等行业的应用,当然也包括微信营销[2]。

微信辅助教育、微信教学、以及微信在教育领域中的应用文献相对较多,在中国知网以“基于微信公众号”+“教学”为关键字进行搜索,共搜到相关文献198篇;但以“基于微信公众号”+“开发研究”为关键字进行搜索,仅搜到相关期刊文献4篇,由此可见很多学者对微信在教育教学领域应用的可能性、现实性以及应用价值上进行了研究,提供了扎实的理论指导,开发微信公众平台并应用到行业领域中的研究相对较少,可能是因为开发是专业技术人员才能实现的。

然而,微信公众号由于拥有用户人数众多、信息接收及时、功能丰富多样、智能移动性等特点,是许多老师考虑辅助完成教学实施的首选平台。由于微信个人订阅号中“编辑模式”的功能局限,诸如视频不能超过20M、群发消息次数限制、下载限制、评价体系缺乏、教学追踪不及时等等,因此有的老师在教学中期望能够通过“开发模式”开发适合自己在教学上使用的微信公众平台,却苦恼于自己的技术能力。本文意在探讨二次开发微信公众平台运用在教学上的一些技术和思想理念,尝试能够在教学实践中实现普遍应用。

2 开发思路

基于辅助完成教学过程的微信公众平台,既要满足课后学生学习需求,同时又要充分利用微信的优势,设计开发的平台要体现趣味、内容要充实、使用更方便、更具人性化的阅读方式,保证可随时随地进行学习等。本文提出了以下三点思路方向:

第一,当今智能移动终端有手机、iPad、pc等多种样式,同时操作系统也呈现多样化的趋势,有Android、iOS、webOS 、windows等,由于不同操作系统对同一软件不兼容,同一种APP应用需要设计多种操作系统版本,开发成本较高、工作量繁重。微信公众平台具有跨平台、兼容的特性,不需要重置APP应用,减少开发成本。

第二,众所周知,课堂是老师传授知识及学习者对知识内容印象的建立,若要充分巩固或者内化甚至构建体系,还需要课后的反复训练或不断应用探究。为了保证学生在课后能够顺利地学习,辅助教学的微信公众平台在开发过程中需要考虑以下几点:

1) 当学习者在课后运用智能移动终端利用碎片时间进行构建知识时,能够不受时空地域限制地获取课堂上老师授课的内容资料,以及根据自身意愿可以在线阅读或者下载保存;

2) 课后作业是评价学生是否掌握了某个知识内容的标尺,需要在平台中体现且告知学习者提交方式,以及学习者能随时通过平台查询自己的平时作业情况,然后根据情况进行调整学习进度,教师也可以通过平台了解学生学习进度,进而调整教学进度;在教学过程中,除了贯穿整个教学过程的形成性评价外,还要有总结性评价,即在考试结束后,学生能通过平台及时查询到自己的考试成绩;

3) 学习者在课后独立构建知识体系过程中,对产生的疑问需要能够快速和学习协助者建立沟通和交流,并及时获得帮助,因此在平台中须有互动评价功能或者留言板模块;

4) 老师在课堂中所讲授的知识内容,尤其是实践性强、操作步骤过程繁多的知识,学习者在课后或许需要反复回忆观看,因此辅助教学的微信公众平台中应有关于重难点知识的课程视频,和互联网中优秀的相关知识的微课视频可随时观看,以及一些相关课程的经典书籍或者参考书籍可供阅读或下载。

第三,开发辅助教学微信公众平台的基本思路流程图,如图1所示,其中省略号部分代表可自行添加模块。

3 开发原理

微信公众平台支持两种模式:编辑模式和开发模式,两种模式不能同时开启。编辑模式具有可视化编辑界面,无须编程就能够快速设置“自定义菜单”和“自动回复消息”,该模式主要面向非编程人员及信息发布类公众号使用。开发模式需要搭建开发者服务器,它除了能够开发编辑模式具有的所有功能外,还可以对接数据库、调用网络API、以及把实现自己业务功能的网页存放到开发者服务器中,并通过微信公众号进行调用浏览以实现更深、更广的服务功能,该模式主要面向具备开发能力的开发者使用。然而,要保证学习者能随时随地进行学习,辅助教学实施的微信公众平台中就需要提供学习资料,包括课件、视频、参考书籍、作业文档等,编辑模式并没有提供充分展示这些内容的功能,像下载或上传;以及学习者要能查询成绩、参与讨论、留言等,就只能采用开发模式了。

虽然开发模式是面向具有编程能力的开发者,但只要理解了基本的开发原理,然后运用互联网中已发布的一些源代码,就能实现基础功能。开发模式的基本原理是微信服务器相当于一个信息转发器,微信用户通过各种智能移动终端发送HTTP请求给微信服务器,微信服务器将用户请求的信息封装成XML数据格式通过POST方式转发给开发者服务器(在这里就是我们的具体实现),开发者服务器获取信息根据具体的请求内容按照特定的XML格式解析并处理数据后,也按照特定的XML格式返回给微信服务器,最后微信服务器再将具体数据响应回复给终端用户[3],如图2所示:

根据以上基本原理,我们在开发者服务器中开发自己的业务逻辑,只要获得相关的接口权限,开发者服务器和微信公众平台就能完美对接。

开发辅助教学实施的微信公众平台,只需把学习者的信息、成绩、评价、留言等内容存放到数据库中,把数据库和微信公众平台连接,就可以通过微信公众号进行查询成绩。当然,微信公众平台还能实现更加复杂的业务:微信作为用户前端(内嵌浏览器),用JavaScriptIDE等一些前沿技术开发网站,结合云计算、大数据、web3.0等先进思想理念,利用云平台作为后台服务器,最终实现通过微信的链接,打开html界面,实现自己的业务功能。

开发辅助教学实施的微信公众平台的服务器带应用程序和数据库的工作原理,如图3所示:

4 开发工具与主要开发代码

4.1 开发工具

开发工具的选择举足轻重,运用合适的开发工具和开发环境将起到事半功倍的效果。

微信公众号:分为服务号、订阅号、企业号。申请服务号需要企业资质和企业法定代表人的身份证,申请企业号同样需要企业资质等材料和运营者身份证件,申请订阅号只需要个人身份证即可。作为普通开发者,申请订阅号即可。

云平台:国内著名的云平台有百度云、新浪云、阿里云、腾讯云等。使用新浪云平台,可以和新浪微博賬号绑定,并使用其账号进行登录,更方便的是整个网站代码可以通过SVN仓库上传到新浪云应用中,以及能在云应用中对单个代码进行编辑、修改、保存、上传等,因此本文采用新浪云平台。

HTML5前端开发环境:它拥有多设备跨平台、自适应网页设计、即时更新、可移植性好等几个方面的优势。可以采用IntelliJ IDEA、WebStorm、Bootstrap、JQuery等工具,这些工具可在很短时间内被开发者所掌握。

数据库:新浪云平台中自带MySQL数据库,使用非常方便,故采用MySQL作为后台数据库。

4.2 主要开发代码

1) 关于数据库的代码

微信公众平台对接数据库的代码如下,此代码是在新浪云平台中创建新应用后,在新应用中点击编辑代码进入代码编辑界面,在此界面新建一个php文档,并在此文档中写入以下代码即可。

<?php

header("Content-Type:text/html;charset=utf-8");

$hostname = SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT;

$dbuser = SAE_MYSQL_USER; // Access Key

$dbpass = SAE_MYSQL_PASS; //Secret Key

$dbname = SAE_MYSQL_DB; //数据库名

$con = mysql_connect($hostname, $dbuser, $dbpass);

?>

数据库连接成功后,通过写入以下代码,就能实现查询成绩和平时作业的功能,

if (!empty($keyword) and is_numeric($keyword)){

$con=mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT, SAE_MYSQL_USER, SAE_MYSQL_PASS);

$sql= "SELECT * FROM 数据表 where 学号= '$keyword'";

$resultstr= mysql_query($sql,$con);

$count=mysql_num_rows($resultstr);

if($count=="0"){

$content= "没有这个同学,学号输入错误!!!";

}else{

while($row =mysql_fetch_array($resultstr)) {

$result1 = "学号:".$row['学号字段名'].", 姓名:".$row['姓名字段名'].",你的平时成绩是:".$row['平时成绩字段名'].",你的考试成绩是:".$row['成绩字段名'].",你的期末综合成绩是:".$row['综合成绩字段名']."分。\n(期末综合成绩是由平时成绩的百分之70加上考试成绩的百分之30得到。)";

$content =array();

$content[] = array("Title"=>$row['姓名字段名']."同学,你好!欢迎你!" , "Description"=>$result1, "PicUrl"=>"", "Url" =>"");}}

return $result;

2) 关于阅读器的代码

学习者通过微信公众号点击阅读文档时,需要PDF阅读器才能打开,并且需自适应任何终端屏幕大小。

Pdf.js框架是为HTML5实现的,不需要任何本地支持,兼容各种浏览器,并且只需要应用构建后的目录generic即可,不需要再重新构建如git、note、shelljs等工具,因此在使用时非常方便。viewer.html主要是渲染pdf阅读器的样式,而viewer.js是指定打开的pdf文件。在viewer.js中有下面代码a指定了默认打开的PDF文件;代码b表示接受一个file形参,如果没有形参则打开默认PDF文件。

代码a:varDEFAULT_URL = 'compressed.tracemonkey-pldi-09.pdf'

代码b:varfile = 'file' inparams ? params.file :DEFAULT_URL

在网页开发工具中使用标签来加载pdf文件,代码为:

猜你喜欢
开发研究辅助教学微信公众平台
医疗保险辅助系统的研究与设计
初中数学校本课程的开发与实施研究
如何运用多媒体平台辅助小学数学教学
基于微信的大学生微型学习平台的设计与实现
基于微信公众平台的碎片化学习研究