魏武華
(西安廣播電視大學(xué) 理工部,陜西 西安 710002)
所謂智能手機(jī),就是具備了操作系統(tǒng)的手機(jī)。就像計(jì)算機(jī)使用了Windows操作系統(tǒng)一樣,智能手機(jī)有一個(gè)開(kāi)放的操作系統(tǒng),用戶就可以根據(jù)自己的需要在手機(jī)上安裝和使用第三方應(yīng)用軟件。智能手機(jī)的主流操作系統(tǒng)有IOS、Android(安卓)、Symbian(塞班)、Windows Phone 和 BlackBerry OS。 利用操作系統(tǒng)提供的應(yīng)用軟件的開(kāi)發(fā)接口,就可以開(kāi)發(fā)基于智能手機(jī)的學(xué)習(xí)型軟件[1]。也就是說(shuō),智能手機(jī)的普及和移動(dòng)通信網(wǎng)絡(luò)技術(shù)的成熟,為基于智能手機(jī)的移動(dòng)學(xué)習(xí)奠定了堅(jiān)實(shí)的基礎(chǔ)。
一般來(lái)講,移動(dòng)學(xué)習(xí)是指利用無(wú)線移動(dòng)通信網(wǎng)絡(luò)技術(shù)以及無(wú)線移動(dòng)通信設(shè)備 (個(gè)人數(shù)字助理PDA和智能手機(jī)等)獲取教育信息、教育資源和教育服務(wù)的一種新型學(xué)習(xí)形式[2]。其特點(diǎn)是學(xué)習(xí)者能在任何時(shí)間、任何地點(diǎn),以任何方式學(xué)習(xí)自己想要學(xué)到的任何知識(shí)。
進(jìn)行移動(dòng)學(xué)習(xí),離不開(kāi)移動(dòng)學(xué)習(xí)平臺(tái)的支持。移動(dòng)學(xué)習(xí)平臺(tái)包含硬件平臺(tái)和軟件平臺(tái)兩部分,其中硬件平臺(tái)由移動(dòng)終端、移動(dòng)通信網(wǎng)絡(luò)、互聯(lián)網(wǎng)及教學(xué)服務(wù)器等組成,軟件平臺(tái)也稱為移動(dòng)學(xué)習(xí)系統(tǒng),是實(shí)現(xiàn)移動(dòng)學(xué)習(xí)的軟件系統(tǒng)。
本文在介紹移動(dòng)學(xué)習(xí)的硬件平臺(tái)(網(wǎng)絡(luò)架構(gòu))的基礎(chǔ)上,重點(diǎn)討論開(kāi)發(fā)移動(dòng)學(xué)習(xí)系統(tǒng)的技術(shù)及方法。
移動(dòng)學(xué)習(xí)平臺(tái)的網(wǎng)絡(luò)架構(gòu)如圖1所示。
圖1 移動(dòng)學(xué)習(xí)平臺(tái)的網(wǎng)絡(luò)架構(gòu)Fig.1 Network architecture diagram of Mobile learning platform
移動(dòng)學(xué)習(xí)平臺(tái)的網(wǎng)絡(luò)架構(gòu)中,包含四部分:教學(xué)服務(wù)器、國(guó)際互聯(lián)網(wǎng)、移動(dòng)通信網(wǎng)絡(luò)和移動(dòng)終端設(shè)備[3]。
教學(xué)服務(wù)器:該服務(wù)器與國(guó)際互聯(lián)網(wǎng)(Internet)相連,存放著豐富的教學(xué)資源以及相應(yīng)的服務(wù)程序。
國(guó)際互聯(lián)網(wǎng):該網(wǎng)絡(luò)是教育資源的有效載體,互聯(lián)網(wǎng)用戶可方便地與其進(jìn)行信息交換,訪問(wèn)其上豐富的資源。
移動(dòng)通信網(wǎng)絡(luò):該網(wǎng)絡(luò)是整個(gè)移動(dòng)互聯(lián)網(wǎng)的一部分,由多個(gè)基站組成,用來(lái)發(fā)射或接受來(lái)自移動(dòng)終端設(shè)備以及互聯(lián)網(wǎng)的信息,通過(guò)空中接口將國(guó)際互聯(lián)網(wǎng)與移動(dòng)終端設(shè)備實(shí)現(xiàn)無(wú)縫連接。
移動(dòng)終端設(shè)備:可以連接移動(dòng)通信網(wǎng)的智能手機(jī)、手機(jī)和PDA等都屬于移動(dòng)終端設(shè)備。目前比較普及的3G手機(jī)和4G手機(jī),能通過(guò)移動(dòng)通信網(wǎng)與國(guó)際互聯(lián)網(wǎng)通信,處理圖像、音頻、視頻等多種媒體信息,進(jìn)行網(wǎng)頁(yè)瀏覽、電子商務(wù)、移動(dòng)學(xué)習(xí)等移動(dòng)應(yīng)用。
目前,移動(dòng)學(xué)習(xí)的主要方式有基于短消息(SMS,Short Message Service)的移動(dòng)學(xué)習(xí)、基于網(wǎng)頁(yè)瀏覽的移動(dòng)學(xué)習(xí)和基于手機(jī)客戶端(App)的移動(dòng)學(xué)習(xí)。下面,對(duì)實(shí)現(xiàn)這幾種學(xué)習(xí)方式的開(kāi)發(fā)技術(shù)逐一剖析。
基于短消息的移動(dòng)學(xué)習(xí)是移動(dòng)學(xué)習(xí)中最簡(jiǎn)單的一種學(xué)習(xí)方式。用戶通過(guò)手機(jī)、PDA等無(wú)線移動(dòng)終端設(shè)備,將短消息發(fā)送到位于互聯(lián)網(wǎng)的教學(xué)服務(wù)器。教學(xué)服務(wù)器接收用戶的短消息后,通過(guò)查詢后臺(tái)數(shù)據(jù)庫(kù)并進(jìn)行數(shù)據(jù)分析、處理,將結(jié)果發(fā)送給用戶手機(jī),從而實(shí)現(xiàn)用戶手機(jī)通過(guò)無(wú)線移動(dòng)通信網(wǎng)絡(luò)與互聯(lián)網(wǎng)之間的通信,完成一定的教學(xué)活動(dòng)[3]。
計(jì)算機(jī)控制手機(jī)發(fā)送短信,目前采用的最多方式是通過(guò)計(jì)算機(jī)串口與手機(jī)通信。只要手機(jī)等移動(dòng)終端設(shè)備支持RS-232C這一標(biāo)準(zhǔn),就可以將其和計(jì)算機(jī)的COM口 (串口)相連。一般的手機(jī)都支持GSM07.05所定義的AT命令集的指令,因此可以利用計(jì)算機(jī)通過(guò)串行接口直接向手機(jī)發(fā)送AT命令,實(shí)現(xiàn)通過(guò)串口的短消息的發(fā)送、接收和管理??梢哉f(shuō),AT指令是計(jì)算機(jī)通過(guò)串口操作手機(jī)的唯一途徑。另外,對(duì)于提供USB接口的手機(jī),可以通過(guò)手機(jī)USB驅(qū)動(dòng)程序在手機(jī)和PC之間建立虛擬串口設(shè)備。
基于串口通信的短消息移動(dòng)學(xué)習(xí)系統(tǒng)的技術(shù)架構(gòu)如圖2所示。
圖2 基于串口通信的短消息移動(dòng)學(xué)習(xí)系統(tǒng)的技術(shù)架構(gòu)Fig.2 Technical architecture of short message mobile learning system based on serial communication
在該系統(tǒng)中,短消息教學(xué)服務(wù)器位于互聯(lián)網(wǎng)中,通過(guò)RS-232C口與支持AT指令的手機(jī)直接相連,支持AT指令的手機(jī)和用戶的移動(dòng)終端通過(guò)移動(dòng)通信網(wǎng)相連。教學(xué)服務(wù)器為包含短消息軟件的短消息服務(wù)器,短消息軟件主要包含三個(gè)程序模塊,短消息監(jiān)聽(tīng)模塊、短消息處理模塊和短消息發(fā)送模塊。短消息監(jiān)聽(tīng)模塊用來(lái)實(shí)時(shí)監(jiān)聽(tīng)是否有短消息到達(dá),若有,馬上轉(zhuǎn)給短消息處理模塊進(jìn)行處理,從而完成對(duì)短消息的響應(yīng)[4];短消息處理模塊完成對(duì)各類短消息的處理,比如通過(guò)對(duì)后臺(tái)數(shù)據(jù)庫(kù)的查詢,可以檢索出問(wèn)題答案,交給短消息發(fā)送模塊;短消息發(fā)送模塊用來(lái)對(duì)外單發(fā)或群發(fā)短消息。后臺(tái)數(shù)據(jù)庫(kù)為提供用戶信息、課程資源信息和記錄信息等的數(shù)據(jù)庫(kù)。短消息軟件通過(guò)與后臺(tái)數(shù)據(jù)庫(kù)的交互,完成數(shù)據(jù)的存儲(chǔ)、更新和檢索等功能。
基于短消息的移動(dòng)學(xué)習(xí)系統(tǒng),只要是移動(dòng)網(wǎng)絡(luò)覆蓋的地方便能使用。這種學(xué)習(xí)方式是以短消息文本展示教學(xué)內(nèi)容,學(xué)習(xí)資源內(nèi)容較少,形式較為單一。隨著移動(dòng)通信網(wǎng)絡(luò)技術(shù)的發(fā)展,尤其基于3G/4G網(wǎng)絡(luò)的智能手機(jī)的普遍使用,一種基于WAP的移動(dòng)學(xué)習(xí)系統(tǒng)嶄露出來(lái),用戶可以通過(guò)手機(jī)瀏覽WAP學(xué)習(xí)網(wǎng)站,進(jìn)行學(xué)習(xí)。WAP學(xué)習(xí)網(wǎng)站以文本、圖片、音頻、視頻等形式展示教學(xué)內(nèi)容,形式豐富。
2.2.1 WAP2.0技術(shù)
WAP(Wireless Application Protocol)是無(wú)線應(yīng)用協(xié)議的簡(jiǎn)稱。它是一個(gè)開(kāi)放的全球性的標(biāo)準(zhǔn),其目標(biāo)是為互聯(lián)網(wǎng)和移動(dòng)設(shè)備之間建立一個(gè)橋梁,使移動(dòng)終端和互聯(lián)網(wǎng)服務(wù)器之間的交互成為可能。1997年7月,WAP論壇出版了第一個(gè)WAP標(biāo)準(zhǔn)架構(gòu)。1998年5月,WAP1.0版正式推出;1999年9月,WAP1.1版正式發(fā)行;2001年6月,WAP2.0版正式發(fā)布。
手機(jī)作為一種可移動(dòng)的終端設(shè)備,通過(guò)WAP無(wú)線協(xié)議,可以輕松訪問(wèn)互聯(lián)網(wǎng)的WAP網(wǎng)站。WAP的早些版本是1.0,WAP1.0網(wǎng)站是用無(wú)線標(biāo)記語(yǔ)言WML和WML Script開(kāi)發(fā)的。而WAP2.0指定XHTML MP(可擴(kuò)展標(biāo)記語(yǔ)言移動(dòng)概要)和WAP CSS(即WCSS)作為開(kāi)發(fā)WAP網(wǎng)站的語(yǔ)言,具有更豐富的表現(xiàn)形式和內(nèi)容精確設(shè)定功能,在開(kāi)發(fā)移動(dòng)學(xué)習(xí)平臺(tái)方面具有得天獨(dú)厚的優(yōu)勢(shì),使“隨時(shí)、隨地”學(xué)習(xí)成為可能。
XHTML MP(可擴(kuò)展標(biāo)記語(yǔ)言移動(dòng)概要)是WAP2.0中定義的標(biāo)記語(yǔ)言,是XHTML的子集,是HTML的更嚴(yán)格的版本[5]。
CSS(級(jí)聯(lián)樣式單)廣泛用于萬(wàn)維網(wǎng),用來(lái)定義Web頁(yè)面在瀏覽器中的展現(xiàn)效果。而WCSS是為無(wú)線設(shè)備上使用而設(shè)計(jì)的,在WAP2.0中定義說(shuō)明,是CSS2的簡(jiǎn)化版。也就是說(shuō),CSS2對(duì)無(wú)線設(shè)備不適合的或不必要的特征都沒(méi)在WCSS中包含。WCSS是XHTML MP的伴侶,二者常被一起使用。WCSS將展現(xiàn)效果從內(nèi)容中分離了出來(lái)。如果想更改一個(gè)XHTML MP頁(yè)面的展現(xiàn)效果細(xì)節(jié),只須修改WCSS[6]。
2.2.2 基于WAP2.0的移動(dòng)學(xué)習(xí)系統(tǒng)技術(shù)架構(gòu)
基于WAP2.0的移動(dòng)學(xué)習(xí)系統(tǒng)采用B/S架構(gòu)。在服務(wù)器端建立移動(dòng)學(xué)習(xí)的WAP網(wǎng)站,就可以通過(guò)客戶端如智能手機(jī)上的瀏覽器軟件,訪問(wèn)移動(dòng)學(xué)習(xí)站點(diǎn)。
基于WAP2.0的移動(dòng)學(xué)習(xí)系統(tǒng)技術(shù)架構(gòu)如圖3所示。
圖3 基于WAP2.0的移動(dòng)學(xué)習(xí)系統(tǒng)技術(shù)架構(gòu)Fig.3 The technical architecture of mobile learning system based on WAP2.0
在該架構(gòu)中,智能手機(jī)等移動(dòng)終端設(shè)備通過(guò)移動(dòng)通信網(wǎng)和WAP網(wǎng)關(guān)接入互聯(lián)網(wǎng),而WAP服務(wù)器及后臺(tái)數(shù)據(jù)庫(kù)服務(wù)器位于互聯(lián)網(wǎng)中。通常用IIS和Apache搭建WAP服務(wù)器,和構(gòu)建WEB服務(wù)器類似。WAP服務(wù)器可以說(shuō)是手機(jī)網(wǎng)站,其開(kāi)發(fā)語(yǔ)言為XHTML MP+WCSS。當(dāng)然,要實(shí)現(xiàn)動(dòng)態(tài)WAP網(wǎng)站,可在服務(wù)器端采用ASP、JSP和PHP技術(shù)。
2.2.3 WAP2.0的程序設(shè)計(jì)模型
WAP2.0的程序設(shè)計(jì)模型主要有兩種方式,如圖4和圖5所示。
圖4 WAP2.0的程序設(shè)計(jì)模型1Fig.4 Program design model 1
圖5 WAP2.0的程序設(shè)計(jì)模型2-網(wǎng)關(guān)模型Fig.5 Programming model 2
WAP2.0協(xié)議可以支持客戶與服務(wù)器之間直接使用HTTP/1.1通信(如模型1)。在WAP1.x版本中,必需要有一個(gè)WAP代理(proxy),通常稱為WAP網(wǎng)關(guān),來(lái)處理客戶與服務(wù)器之間的協(xié)議轉(zhuǎn)換、編解碼工作。WAP代理使用WAP協(xié)議與客戶通信,使用標(biāo)準(zhǔn)Internet協(xié)議與服務(wù)器通信(如模型2)。
WAP2.0雖不是必須要設(shè)置WAP代理,然而在實(shí)際的應(yīng)用中,一般都是設(shè)置一個(gè)WAP代理的(模型2),因?yàn)檫@樣可以優(yōu)化通信過(guò)程、提供給移動(dòng)終端某些增強(qiáng)的移動(dòng)業(yè)務(wù)(比如位置定位、個(gè)性化的業(yè)務(wù)等),而且代理主機(jī)在“推服務(wù)”中也是必須的[7]。
App是application的縮寫(xiě),通常專指手機(jī)上的應(yīng)用軟件,或稱手機(jī)客戶端,是智能手機(jī)上的第三方應(yīng)用軟件,這些軟件通常都可以在應(yīng)用商店下載。比較著名的應(yīng)用商店有蘋(píng)果的 App Store,谷歌的 Google Play Store,諾基亞的 Ovi store,還有黑莓用戶的BlackBerry App World,微軟的Marketplace等。
隨著智能手機(jī)和iPad等移動(dòng)終端設(shè)備的普及,人們逐漸習(xí)慣了使用App客戶端上網(wǎng)的方式,而目前國(guó)內(nèi)各大電商,均擁有了自己的App客戶端。這標(biāo)志著,App客戶端的商業(yè)使用,已經(jīng)逐漸普及。而將App開(kāi)發(fā)技術(shù)用于移動(dòng)學(xué)習(xí),將翻開(kāi)移動(dòng)學(xué)習(xí)系統(tǒng)的新篇章。
目前,App應(yīng)用程序開(kāi)發(fā)模式有 3種:Native App、Web App和Hybrid App(混合模式移動(dòng)應(yīng)用)。
2.3.1 基于Native App的開(kāi)發(fā)
Native App是一種基于智能手機(jī)本地操作系統(tǒng)運(yùn)行的App應(yīng)用程序,也叫本地App。因在軟件開(kāi)發(fā)過(guò)程中需要針對(duì)不同的手機(jī)操作系統(tǒng),如蘋(píng)果的IOS或者Google的安卓系統(tǒng),所以應(yīng)采用不同的語(yǔ)言和框架進(jìn)行開(kāi)發(fā)。一般包含云服務(wù)器數(shù)據(jù)和應(yīng)用客戶端兩個(gè)部分,Native App架構(gòu)的客戶端中包含了界面展現(xiàn)、業(yè)務(wù)邏輯、數(shù)據(jù)模型3個(gè)部分,服務(wù)器端提供各種服務(wù),客戶端通過(guò)網(wǎng)絡(luò)訪問(wèn)服務(wù)器端的各種服務(wù)。
Native App的開(kāi)發(fā)的語(yǔ)言有很多種,目前主流的有4種:IOS平臺(tái)的開(kāi)發(fā)語(yǔ)言為Objective-C,安卓 (Android)平臺(tái)的開(kāi)發(fā)語(yǔ)言為Java,微軟Windows phone7的開(kāi)發(fā)語(yǔ)言是C#,塞班Symbian系統(tǒng)的開(kāi)發(fā)語(yǔ)言是C++。
這種開(kāi)發(fā)模式是基于C/S架構(gòu)的,客戶端的表現(xiàn)力相當(dāng)豐富,可以支持在線或離線、消息推送等;可以充分實(shí)現(xiàn)智能移動(dòng)終端的本地資源訪問(wèn),并調(diào)用硬件設(shè)備資源,如攝像頭、撥號(hào)功能等;性能較高,用戶體驗(yàn)也比較出色。但劣勢(shì)也比較明顯:客戶端的開(kāi)發(fā)工作量大,邏輯復(fù)雜;客戶端必須針對(duì)不同的操作系統(tǒng),進(jìn)行單獨(dú)的適配開(kāi)發(fā)工作,不利于移植;客戶端軟件升級(jí)和維護(hù)困難;服務(wù)器端要支持多客戶端,難于擴(kuò)展。
2.3.2 基于Web App的開(kāi)發(fā)
Web App基本上對(duì)應(yīng)了B/S架構(gòu),一般包含HTML5云網(wǎng)站和App應(yīng)用客戶端兩個(gè)構(gòu)成部分。
這種開(kāi)發(fā)模式中,客戶端不再需要開(kāi)發(fā)工作,退化為使用內(nèi)置的瀏覽器與用戶交互。服務(wù)器端開(kāi)發(fā)語(yǔ)言以HTML5、CSS3、JavaScript作為前端供瀏覽器展示,使用 JSP、PHP、ASP技術(shù)實(shí)現(xiàn)業(yè)務(wù)邏輯和數(shù)據(jù)庫(kù)管理。
Web App開(kāi)發(fā)具有跨平臺(tái)性。一款Web App,既可以在手機(jī)iphone上使用,也可以在平板ipad上使用。它繞開(kāi)了App store嚴(yán)格的提交和更新審查規(guī)則;由于代碼全部在服務(wù)器端,所以安裝簡(jiǎn)便,易于擴(kuò)展和升級(jí)。但是,Web App每次呈現(xiàn)都需要調(diào)用云端資源,用戶的交互式體驗(yàn)不如Native App。另外,在消息推送、離線模式以及調(diào)用移動(dòng)終端資源的能力等方面相對(duì)較弱[8-9]。
需要說(shuō)明的是,WAP網(wǎng)站和Web App都是跨平臺(tái)的技術(shù)。但是WAP更側(cè)重使用網(wǎng)頁(yè)技術(shù)在移動(dòng)端做展示,包括文字、媒體信息等。而Web App更側(cè)重“功能”,如實(shí)現(xiàn)LBS定位、音視頻播放、調(diào)用相機(jī)、GPU加速等功能。
2.3.3 基于Hybrid App的開(kāi)發(fā)
Hybrid App開(kāi)發(fā)模式是在Native App和Web App開(kāi)發(fā)模式基礎(chǔ)上衍生的App開(kāi)發(fā)模式,表面上看比較接近Native App,但里面訪問(wèn)卻是一個(gè)Web App。
Hybrid App同時(shí)使用網(wǎng)頁(yè)語(yǔ)言與程序語(yǔ)言開(kāi)發(fā),通過(guò)應(yīng)用商店區(qū)分移動(dòng)操作系統(tǒng),分發(fā)用戶需要安裝使用的移動(dòng)應(yīng)用。
Hybrid App開(kāi)發(fā)模式較好的整合了Native App開(kāi)發(fā)模式的交互式體驗(yàn)以及Web App開(kāi)發(fā)模式的跨平臺(tái)開(kāi)發(fā)優(yōu)勢(shì)。一些國(guó)內(nèi)外主流的App應(yīng)用其實(shí)就是架構(gòu)在Hybrid App開(kāi)發(fā)平臺(tái)基礎(chǔ)上的,比如臉譜,百度搜索等[8-9]。
隨著移動(dòng)終端技術(shù)和移動(dòng)互聯(lián)網(wǎng)技術(shù)的發(fā)展,移動(dòng)應(yīng)用日新月異。移動(dòng)學(xué)習(xí)的需求也在不斷增加,開(kāi)發(fā)基于智能手機(jī)的移動(dòng)學(xué)習(xí)系統(tǒng),成為廣大技術(shù)人員面臨的重要課題。本文對(duì)目前開(kāi)發(fā)基于智能手機(jī)的移動(dòng)學(xué)習(xí)系統(tǒng)的技術(shù)進(jìn)行了研究,對(duì)各種開(kāi)發(fā)技術(shù)的開(kāi)發(fā)模式及技術(shù)架構(gòu)進(jìn)行了分析和比較,對(duì)技術(shù)人員進(jìn)行移動(dòng)學(xué)習(xí)系統(tǒng)的開(kāi)發(fā)具有指導(dǎo)和借鑒意義。
[1]馮統(tǒng)成.基于手機(jī)的移動(dòng)學(xué)習(xí)支持系統(tǒng)研究 [D].上海:華東師范大學(xué),2007.
[2]任海峰,趙君.移動(dòng)學(xué)習(xí)國(guó)內(nèi)外研究現(xiàn)狀分析[J].成人教育,2010(1):95-96.REN Hai-feng,ZHAO Jun.Analysis of research status of mobile learning both at home and abroad[J].Adult Education,2010(1):95-96.
[3]李煥亮.移動(dòng)學(xué)習(xí)在高職院校中的應(yīng)用現(xiàn)狀及對(duì)策[D].濟(jì)南:山東師范大學(xué),2012.
[4]史國(guó)良.基于手機(jī)短信的移動(dòng)學(xué)習(xí)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2007.
[5]HarmoniousTech.XHTML Mobile Profile/XHTML MP Tutorial[EB/OL].[2015-2-14].http://www.developershome.com/wap/xhtmlmp/.
[6]HarmoniousTech.WAP CSS/WCSS Tutorial[EB/OL].[2015-2-24].http://www.developershome.com/wap/wcss/.
[7]王穎.基于智能手機(jī)的移動(dòng)學(xué)習(xí)系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)[D].天津:天津師范大學(xué),2009.
[8]顧春來(lái).App應(yīng)用程序開(kāi)發(fā)模式探究[J].硅谷,2014(5):35-36.GU Chun-lai.Research on app development mode[J].Silicon Valley,2014(5):35-36.
[9]曹文斌.從架構(gòu)角度看移動(dòng)App之爭(zhēng)[EB/OL].[2015-2-16].http://www.programmer.com.cn/12131/.