毛凌志



摘要:針對浙江省高校青年教師崗前培訓考試的特點,基于微信小程序臺,利用知曉云設計一個崗前培訓考試題庫,使新教師可以隨時打開手機進行測試,錯題回顧、專項練習、模擬考試。該文介紹了項目的背景意義,技術選型思路,產(chǎn)品功能點梳理,技術實現(xiàn)難點,并對線上運行數(shù)據(jù)進行了簡單的分析和總結(jié)。
關鍵詞:微信小程序;知曉云;崗前培訓
中圖分類號:TP393 文獻標識碼:A
文章編號:1009-3044(2019)30-0063-03
1項目背景與意義
浙江省高校青年教師教育理論培訓上機考試,有四門課(大學心理學、高等教育法規(guī)、高等教育學、教育倫理學),每門課通過為75分,滿分為100分。官方提供了每門課20套試卷作為題庫的線上系統(tǒng)。題量較大,在PC上操作,使用體驗不夠好。對于教師的記憶及理解能力要求較高,從學校人事處的反饋來看,每年能夠一次通過四門課程的新教師不足一半。作為申請教師資格認定的前置環(huán)節(jié),其重要性不言而喻。教師資格證又和兩年后評講師等要求環(huán)環(huán)相扣,因此不容有失,所謂一步錯,步步錯。新青年教師剛走上新崗位,教學常規(guī)、備課等各項事務均牽扯精力,還要應對崗培考試縱是學霸失蹄不過亦是常事,通過設計基于知曉云的高校教師崗前培訓小程序,同步官方最新題庫(2019年9月16日),使青年教師可以在手機端利用碎片化時間進行練習、記憶。為新教師減負,順利渡過試用期。同時該小程序有一定的通用性,適用于助考類的其他業(yè)務場景(駕考、測評等),有較強的實用價值。
2技術選型
各種生態(tài)(iOS、Android(含手機、智能電視、車載、Pad等、PC(含H5),)需要配齊各路專業(yè)研發(fā)人員進行創(chuàng)業(yè)是極高的成本,且推廣成本巨大,在資源受限的情況下必須聚焦有所選擇。當下用戶手機中受限于內(nèi)存容量只留存了少數(shù)幾個超級APPf微信、淘寶、微博等),如果不是賣貨,從用戶使用基數(shù)、頻次、生態(tài)完善度(廣點通、小程序、公眾號、朋友圈、H5)及投入產(chǎn)出比(微信本身覆蓋了多端(Android、iOS、Pc(現(xiàn)在也可以打開小程序)))而言,圍繞微信進行商業(yè)價值構(gòu)建是必然選擇。因此從大的方向上我們選擇小程序作為崗前培訓助考服務的載體。
小程序官方提供了小程序云的技術方案,使得開發(fā)者不用單獨建后端服務,非常便捷,但考慮到未來有可能延展到多端(AndroidTV、WEB、快應用、支付寶小程序等),綁定在騰訊專有平臺上恐會受限,因此考慮使用第三方的Serverless平臺。應用知曉云、LeanCloud、Bmob等專業(yè)第三方serverless平臺,未來可以使用一套后臺構(gòu)建小程序云、網(wǎng)站、移動APP等多種業(yè)務形態(tài),同時具備和官方小程序云同樣出色的按使用付費,不用關注服務器、運維成本、免去備案、HTTPS證書申請、配置等煩瑣事宜。表1圖列對比了各主流第三方Serverless平臺功能與服務對比。通過對比我們發(fā)現(xiàn)知曉云為小程序而生,借由小程序之勢切入BaaS領域,而LeanCloud、BmoB則是在安卓、iOS崛起時代誕生。知曉云聚焦小程序生態(tài),再向周邊發(fā)展,Lean-Cloud、Bmob則從移動互聯(lián)網(wǎng)早期開始逐步完善。結(jié)合本項目的實際情況選用知曉云,其歷史包袱更輕,更加聚焦,雖有欠缺,就本項目而言,已滿足需求。
3功能點梳理
能過圖1的功能點思維導圖,對崗培的業(yè)務進行了梳理,核心為兩個模塊,一是模擬題庫,二是專項練習,其他為一些開關設置。
4技術難點剖析
4.1專項題庫渲染性能問題
在測試機三星S8(驍龍845 3G+32G)上的首次加載非常慢,分析原因,一方面是因為題量大(400題),二是手機端資源受限。通過思考找到以下兩種方法,一是使用延遲加載當手機屏幕滾動到屏幕接近底部時觸發(fā)加載下一頁資源,二是等待手機更新?lián)Q代,有更強的處理器和內(nèi)存來加快程序的運行,或是微信提升小程序的性能。第一種方案的技術實現(xiàn)復雜度較高未予采用,因而采用了第二種,事實上,在2019年3月首次上線的半年后,當我們使用VIVO X27(驍龍7108+256G)使用最新版的微信小程序開發(fā)工具選擇最新的SDK版本重新編譯上傳測試時,性能問題已經(jīng)基本解決,分析兩個機型CPU是同一代產(chǎn)品,沒有顯著差別,是由于微信自升提升了小程序的編譯和運行性能。
4.2分享海報的生成
通過在朋友圈帶小程序碼的海報進行傳播分享,達到裂變引流的目的,如圖2所示,海報小程序碼中間圓心部分,替換成分享人的微信頭像,以傳播者的個人信用作為背書,提升宣傳的信任度。業(yè)界關于微信小程序的海報生成分為三類,一類是使用現(xiàn)成的第三方組件(如wxa-plugin-canvas),二是使用can-VaS在客戶端繪制,三是在服務器端完成圖片的拼接制作。由于在研發(fā)時對小程序及NodeJS的掌握都不深,三種方案對研發(fā)人員均具有非常強的挑戰(zhàn)性,最終選擇了方案三,因為知曉云提供了一個Demo示例(gd-draw-image),但其在本地的開發(fā)環(huán)境部署測試上線還是非常曲折。其難點在于利用Promise、async、await等高級語法將異步邏輯變?yōu)橥竭壿嫞瑫r要熟悉graphmagic庫的操作使用,其整體邏輯時,通過在本地安裝第三方庫graphmagic完成海報生成邏輯,再利用webpack編譯成單一無依賴的js文件上傳到知曉云,以云函數(shù)的形式對外提供邏輯。因此存在兩套測試代碼,一是要先在本地測試通過生成海報代碼,二是再將能在本地生成海報的代碼切換為知曉云云函數(shù)的代碼形式,因此對于如何在一份代碼中組織兩套運行環(huán)境的實現(xiàn)邏輯,需要有較好的代碼基礎,經(jīng)過幾次重構(gòu),終見成效,代碼如下所示
5結(jié)束語
崗培小程序發(fā)布后,通過微信群、友圈定向在大學教師群體進行推廣,如圖3所示,展示的用戶數(shù)據(jù)也契合該項目受眾是浙江省內(nèi)用戶。應用知曉云基本可以使用免費套餐零成本運營小程序,通過一個學期的線上運行,累計用戶542位,服務了一批新青年教師,有一定的實用價值。