付志文+彭蕾
摘 要 在對原生移動教學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