2020年10月04日
一、关键技术
本平台主要使用微信小程序和小程序云开发,所使用的关键技术细节如下所示。(1)微信小程序。“微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。”是一种基于微信客户端的跨平台应用程序,具有无需下载,即用即走的特点。(2)小程序云开发。云开发为小程序提供云服务,包含云函数,数据库,云存储三种能力。是一种 Serverless 服务。为开发者提供了一站式开发服务,具有运营成本低,简化运维,维护性好,开发速度更快的特点。实现快速部署和上线,使小程序开发更简单。
二、系统设计
(一)系统需求分析
当前移动端市场上的英语学习应用程序大多是以APP为主要,其问题如下:(1)应用较为臃肿,占用内存较大。(2)每次更新都要重新安装,用户体验不好[4]。(3)无法跨平台使用,开发成本高。(4)APP市场推广成本高,盈利困难。本平台以微信小程序为载体,它很好的解决了上述问题,同时我们发现目前相关的小程序运营完善的却寥寥无几,第一是因为目前上线的小程序功能都太简单,只有背单词一个功能模块;第二是单词记忆过程机械,用户只能点击“不认识”和“下一个”,对不认识的单词没有特别的处理。而在我们的调查中发现用户主要有3个需求。(1)页面简洁,操作简单,不要有过多复杂的程序。(2)增加阅读文章功能,可以对文章中不认识单词进行学习。(3)增加听写功能,检验学习成果,督促学习。
(二)系统功能设计
针对以上需求,本学习平台以微信小程序为载体,利用微信为小程序提供的扩展实用功能,从提高用户体验的角度出发,设计了三个功能模块:新闻阅读、单词背诵、单词听写。(1)新闻阅读:实时更新新闻内容,用户可以收藏或分享感兴趣的文章,阅读中遇到不认识的单词,长按可以快速获取单词释义,使用户获得更好的阅读体验。(2)单词背诵:用户可选择背诵范围,单词乱序出现,加深用户对单词的熟悉程度,通过熟练度判别单词背诵的进度。(3)单词听写:整合用户已学的单词,打乱顺序,通过发音听写的方式检验学习成果,加深用户对单词的掌握程度。
(三)系统流程设计
在功能模块设计完成后,系统对每个功能模块的业务流程进行了详细设计,受篇幅所限,这里介绍流程相对复杂的单词背诵(图1)和单词听写的业务流程。
图1 单词背诵流程
三、系统实现
(一)新闻阅读模块
从云开发数据库获取新闻数据,由wx:for接受来自业务逻辑层的数据进行页面的渲染。当点击新闻时,就会触发onEssayTap 事件,通过参数传递跳转至详情页面,详情页面业务逻辑层从数据库读取数据进行渲染。使用wx.getStorageSync()方法,将收藏状态保存到缓存。
(二)单词背诵模块
从云开发数据库读取已选的单词数据,通过参数传递,加载渲染背单词页面,单词是通过随机索引idx=Math.floor(Math.random() * (wordList.length - 1))从数组中随机选择,以计数的方式进行熟练度判断,点击‘下一个’熟练度加1,否则减1。当一个单词的熟练度达到3时,会将该单词从数组中用splice()删去。页面顶部的进度条会根据 (删除单词的数量/最初数组的长度) 来显示进度。
(三)单词听写模块
单词听写模块中,单词数据的读取,页面的加载,单词乱序的实现类似于背单词模块。点击‘再听一次’时认为该单词未掌握,下次还会随机出现,直接点击‘下一个’会将单词从数组中删除,点击‘看答案’会显示释义。单词的音频通过调用wx.request()向扇贝API发出请求来获取。
四、结论
基于微信小程序的英语学习平台,通过分析现有英语学习APP存在的问题,从用户体验感和实用度出发,结合微信小程序自身的特点,借助小程序云开发技术,实现了英语新闻阅读,单词背诵,单词听写等功能,无需下载,无需更新,即用即走。