孫 靜 鄭新超
隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展,移動(dòng)學(xué)習(xí)已經(jīng)融入了人們的日常生活,成為一種普遍的學(xué)習(xí)方式。移動(dòng)學(xué)習(xí)以其學(xué)習(xí)便捷性、教學(xué)個(gè)性化、交互豐富性、情境相關(guān)性等特點(diǎn)備受學(xué)習(xí)者的青睞[1]。本團(tuán)隊(duì)于2018年6月進(jìn)行的問卷調(diào)查顯示,在線學(xué)習(xí)資源分布零散,使日語學(xué)習(xí)者和愛好者難以選擇;學(xué)習(xí)軟件、學(xué)習(xí)平臺(tái)魚目混雜、針對性不強(qiáng);移動(dòng)智能終端復(fù)雜多樣,運(yùn)行的操作系統(tǒng)各有差異且互不兼容,移動(dòng)學(xué)習(xí)平臺(tái)的開發(fā)難度大、維護(hù)成本高。凡此種種問題,使適用于日語學(xué)習(xí)的移動(dòng)學(xué)習(xí)平臺(tái)的開發(fā)和研究勢在必行。因此,本團(tuán)隊(duì)開發(fā)出了一款用于日語學(xué)習(xí)與交流的跨平臺(tái)APP,以幫助日語學(xué)習(xí)者和愛好者通過微課視頻、資源共享、互動(dòng)社區(qū)、線上交流等方式共享優(yōu)質(zhì)資源,實(shí)現(xiàn)高效學(xué)習(xí)和交流,從而提升學(xué)習(xí)效率和興趣。
Native APP位于平臺(tái)層上方具有較好的下行訪問能力,可以充分利用設(shè)備的資源,提供良好的交互體驗(yàn),還可以支持在線或離線、消息推送等功能,用戶體驗(yàn)良好[2]。Web APP一般由“HTML5云網(wǎng)站+APP 應(yīng)用客戶端”兩部份構(gòu)成,客戶端只需安裝應(yīng)用的框架部份,應(yīng)用數(shù)據(jù)則是用戶每次打開APP時(shí)從云端獲取[3]。Web APP不存在Native APP的固有的缺點(diǎn),具有開發(fā)難度低、功能豐富、部署應(yīng)用簡易,跨平臺(tái)訪問便捷的優(yōu)勢,并且HTML5功能強(qiáng)且全面,為開發(fā)者提供了豐富的移動(dòng)應(yīng)用開發(fā)標(biāo)準(zhǔn)[4],但是安全性較低,且用戶體驗(yàn)與Native APP相比而言較差。而Hybrid APP介于兩者之間,兼具了Native APP良好的用戶體驗(yàn)和Web APP上午跨平臺(tái)性的優(yōu)點(diǎn)。選用Hybrid APP模式進(jìn)行開發(fā),它的前端可以借助第三方跨平臺(tái)框架使用網(wǎng)頁語言來編寫的,編寫完成之后封裝到APP中,同時(shí)又可以充分地利用現(xiàn)代移動(dòng)智能終端提供的功能,調(diào)用底層API,這些特點(diǎn)使得Hybrid APP具有跨平臺(tái)性強(qiáng)、開發(fā)成本較低、靈活性較高等優(yōu)點(diǎn),本項(xiàng)目就采用Hybrid APP模式進(jìn)行開發(fā)。
基于上述分析,本文擬采用“Angular+I(xiàn)onic+Cordova”組合來進(jìn)行前端開發(fā),采用“A-pache+PHP+MySQL”來進(jìn)行后端及數(shù)據(jù)庫開發(fā)。Apache(Apache HTTP Server)是一個(gè)免費(fèi)開源的網(wǎng)頁服務(wù)器,能夠在多種電腦操作系統(tǒng)下運(yùn)行,安全性較高[5]。Apache作為Web應(yīng)用服務(wù)器解釋后端服務(wù)PHP,PHP則調(diào)用MySQL接口,這三者相結(jié)合進(jìn)行開發(fā)具有絕佳的優(yōu)勢。
Ionic是一款強(qiáng)大的輕量級(jí)移動(dòng)應(yīng)用開發(fā)框架,基于AngularJS框架的,采用JavaScript進(jìn)行編寫。使用Ionic框架開發(fā)的APP的界面是以HTML5和CSS3開發(fā)為主,開發(fā)者使用Web開發(fā)技術(shù)就可以開發(fā)出媲美原生應(yīng)用的移動(dòng)應(yīng)用,還可使用Ionic官網(wǎng)上的UI框架和組件。Ionic框架是免費(fèi)且開源的,開發(fā)者可以將其使用到任何項(xiàng)目中;強(qiáng)大的命令行Ionic CLI工具以及項(xiàng)目模板,使用方便;完美融合了AngularJS,易于開發(fā)和維護(hù);為開發(fā)者提供了豐富的UI組件,具有較高的用戶體驗(yàn);專注原生,既可以作為Native APP運(yùn)行,也可作為Web APP運(yùn)行,方便靈活;簡單易學(xué),只需懂得HTML5、CSS3和基本的AngularJS語法就可以利用Ionic進(jìn)行跨平臺(tái)開發(fā)。
在使用Ionic框架進(jìn)行開發(fā)前,首先要搭建Ionic框架的運(yùn)行環(huán)境。(安裝Node.js和npm: Node.js中集成了npm,無需再單獨(dú)安裝npm(為了便于使用可以安裝cnpm代替npm)(安裝Ionic框架,命令:npm install -g ionic;(安 裝Cordova,命 令 :npm install -g cordova;(Ionic框架的使用:運(yùn)行‘ionic start 項(xiàng)目名 參數(shù)’命令創(chuàng)建項(xiàng)目,運(yùn)行‘ionic serve項(xiàng)目名’命令運(yùn)行項(xiàng)目,會(huì)在跳出的瀏覽器頁面中看到初始化的項(xiàng)目,參數(shù)為空時(shí)默認(rèn)使用tabs模板創(chuàng)建頁面。
數(shù)據(jù)庫的設(shè)計(jì)是非常重要的,設(shè)計(jì)是否合理規(guī)范將直接影響到整個(gè)APP的運(yùn)行效果。根據(jù)調(diào)查以及對本APP的需求分析可知,數(shù)據(jù)庫的主要使用者為普通用戶和微課教師。普通用戶作為此APP的主要實(shí)體,擁有選擇在線課程、在社區(qū)進(jìn)行發(fā)帖回復(fù)等操作的權(quán)限,發(fā)帖的內(nèi)容可以包含文字、圖片或視頻,完成這些操作可以獲取一定的積分,也可以通過在主頁搜索教師或者課程名的方式加入到課程的學(xué)習(xí)當(dāng)中,完成相應(yīng)的課時(shí)的學(xué)習(xí)后也可以獲得相應(yīng)的積分,根據(jù)用戶的累計(jì)積分之和劃分用戶的等級(jí)。用戶可以上傳相關(guān)證件來獲得成為微課教師的資格,審核通過后,便可成為微課教師。微課教師可以發(fā)布微課視頻與課后作業(yè)等教學(xué)相關(guān)內(nèi)容,查看參加本課程的學(xué)生的基本信息,與學(xué)生進(jìn)行線上互動(dòng)。管理員主要負(fù)責(zé)教師的資格的審核。此外,所有用戶發(fā)布的帖子都會(huì)被劃分到某一興趣板塊中,用戶也可以選擇只在社區(qū)中看到自己感興趣的興趣板塊。
數(shù)據(jù)庫的設(shè)計(jì)主要分為概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)和物理設(shè)計(jì)三個(gè)階段,其中概念結(jié)構(gòu)設(shè)計(jì)又可具體分為定義實(shí)體、定義聯(lián)系、定義碼、定義屬性和定義其他對象和規(guī)則;而邏輯結(jié)構(gòu)設(shè)計(jì)主要是將概念模型轉(zhuǎn)變成一個(gè)可用的信息模型,并對性能加以優(yōu)化和改進(jìn);物理設(shè)計(jì)重點(diǎn)是將邏輯模型添加到物理結(jié)構(gòu)中,并設(shè)計(jì)索引[6]。數(shù)據(jù)庫選用MySQL軟件進(jìn)行開發(fā)。數(shù)據(jù)庫主要包括普通用戶、微課教師和管理員這三個(gè)實(shí)體和用戶基本信息表、微課教師信息表、課程學(xué)習(xí)者表、課程信息表、主貼表、回復(fù)表、板塊表和主題表這八個(gè)表。
移動(dòng)學(xué)習(xí)的系列優(yōu)點(diǎn),使之成為未來教育的發(fā)展趨勢。一款針對日語學(xué)習(xí)的移動(dòng)平臺(tái)的開發(fā)具有突出的理論和實(shí)踐意義。由于時(shí)間和財(cái)力物力所限,本APP系統(tǒng)維護(hù)和功能完備是今后努力的方向。