周帆,凌力
隨著智能手機的逐漸普及,越來越多的開發(fā)者加入到移動應(yīng)用開發(fā)的隊伍當(dāng)中。但開發(fā)者想要自己的移動應(yīng)用適用于多種手機平臺的話,就需要掌握多種開發(fā)語言及環(huán)境,這無疑增加了跨平臺軟件開發(fā)的困難。為了簡化移動應(yīng)用的編程,制作出能在各種手機平臺上運行的應(yīng)用,Nitobi公司推出了移動應(yīng)用解決方案PhoneGap。
PhoneGap是一款開源的開發(fā)框架,旨在讓開發(fā)者使用HTML、CSS、JavaScript等WEB APIs開發(fā)跨平臺的移動應(yīng)用程序,如圖1所示:
圖1 PhoneGap框架圖解
通過PhoneGap框架提供的接口,開發(fā)者可以以非常簡單的方式調(diào)用移動設(shè)備的核心功能,包括地理位置、攝像頭、加速器、通訊錄、多媒體、文件和網(wǎng)絡(luò)等功能。借助PhoneGap,開發(fā)者完全可以使用熟悉的Web開發(fā)技術(shù)寫出移動Native App,并發(fā)布到Apple Store、Google Play等各平臺應(yīng)用商店中[1]。目前,PhoneGap已實現(xiàn)對 iPhone/iPad、Android、Symbian、WP7、Blackberry、Palm各版本絕大部分功能的支持。此外,PhoneGap擁有豐富的插件,可以以此擴展無限的功能。
本文闡述了一個基于PhoneGap的校園移動應(yīng)用的基本構(gòu)成,實現(xiàn)了軟件和硬件上的設(shè)計,并對其結(jié)構(gòu)和性能進行了詳細的分析。
移動互聯(lián)網(wǎng)(MobileInternet,簡稱MI),是一種通過智能移動終端,采用移動無線通信方式獲取業(yè)務(wù)和服務(wù)的新興業(yè)態(tài),包含終端、軟件和應(yīng)用3個層面。終端層包括智能手機、平板電腦、電子書、MID等;軟件層包括操作系統(tǒng)、中間件、數(shù)據(jù)庫和安全軟件等;應(yīng)用層包括休閑娛樂類、工具媒體類、商務(wù)財經(jīng)類等不同應(yīng)用與服務(wù)。隨著技術(shù)和產(chǎn)業(yè)的發(fā)展,未來LTE和NFC等網(wǎng)絡(luò)傳輸層關(guān)鍵技術(shù)也將被納入移動互聯(lián)網(wǎng)的范疇之內(nèi)。
隨著寬帶無線接入技術(shù)和移動終端技術(shù)的飛速發(fā)展,人們迫切希望能夠隨時隨地乃至在移動過程中都能方便地從互聯(lián)網(wǎng)獲取信息和服務(wù),移動互聯(lián)網(wǎng)應(yīng)運而生并迅猛發(fā)展。然而,移動互聯(lián)網(wǎng)在移動終端、接入網(wǎng)絡(luò)、應(yīng)用服務(wù)、安全和隱私保護等方便還面臨著一系列的挑戰(zhàn)。其基礎(chǔ)理論和關(guān)鍵技術(shù)的研究,對于國家信息產(chǎn)業(yè)整體發(fā)展具有重要的現(xiàn)實意義[2]。
本文所描述的項目,正是在這樣一個背景下開發(fā)的一個基于PhoneGap的校園移動應(yīng)用,以該技術(shù)為基礎(chǔ)對所有分散的信息進行歸納和個性化處理,最終為廣大的師生群體甚至于游客提供最便捷的服務(wù)。
移動互聯(lián)網(wǎng)有以下幾個特點:
盈利策略不可急功近利。用戶可能只用過手機的簡單功能,盈利模式的策略上,需要企業(yè)性化和簡單易懂的指引,移動互聯(lián)網(wǎng)的強大平臺,已經(jīng)成為全方位、立體式。
找到業(yè)務(wù)核心競爭力。在產(chǎn)業(yè)鏈競爭中處于相對被動的情況下,握在你手中最大的砝碼就是市場占有率和業(yè)務(wù)創(chuàng)新能力,市場占有率讓你有更大的話語權(quán)和議價資格,業(yè)務(wù)創(chuàng)新能力則決定了自己的賣點。
用戶體驗至上。如果一個商品或一項服務(wù)想要成功在移動互聯(lián)網(wǎng)時代,其對消費者需求的了解程度,將決定其爆炸能量的大小,用戶體驗必須放到最重要的位置上。對用戶需求的分析可以從幾個方面入手如圖2所示:
圖2 用戶需求分析
把握移動營銷新模型。移動互聯(lián)網(wǎng)的一個品牌文化,移動互聯(lián)網(wǎng)的營銷模型與傳統(tǒng)營銷最大的不同,通過口碑傳播吸引更多的客戶,隨之讓參與互動,移動互聯(lián)網(wǎng)的營銷模型與傳統(tǒng)營銷最大的不同,就是直接讓正確的客戶為企業(yè)說正確的話,冷冰冰的廣告式營銷終將在這個時代里慢慢衰退。
整合產(chǎn)業(yè)鏈之外的資源:只要能把握移動互聯(lián)網(wǎng)的前提,抓住行業(yè)強勢資源,相關(guān)節(jié)點進行有效的整合產(chǎn)業(yè)的資源。
參考以上特點,本系統(tǒng)架構(gòu)設(shè)計如圖3所示:
圖3 系統(tǒng)架構(gòu)
圖3的結(jié)構(gòu)可以劃分為3層:應(yīng)用層、中間網(wǎng)絡(luò)層、基礎(chǔ)設(shè)施層[3]。
應(yīng)用層包含各種應(yīng)用服務(wù),體現(xiàn)為本系統(tǒng)實現(xiàn)的各種功能以及用戶感知到的前端界面。這一層根據(jù)每個用戶的獨特性和用戶提出的需求,通過Web Service向后端發(fā)出請求,集中地體現(xiàn)了移動應(yīng)用的優(yōu)勢所在:便捷性和實時性。
中間網(wǎng)絡(luò)層是應(yīng)用層和數(shù)據(jù)庫交流的橋梁,也是大量分散信息的匯聚和篩選必不可少的一步。針對應(yīng)用層所要實現(xiàn)的所有需求,都會封裝好對應(yīng)的接口,雙方只要約定好接口格式及參數(shù)格式,就可以按照預(yù)期獲取自己想要的數(shù)據(jù)。
基礎(chǔ)設(shè)施層主要設(shè)施為數(shù)據(jù)庫。信息從數(shù)據(jù)庫中讀取出來之后,會根據(jù)用戶的個性化需求做進一步篩選和簡化,最終呈現(xiàn)在用戶面前。當(dāng)然用戶也可以隨時隨地修改自己的信息。
一般來說,應(yīng)用層是整個系統(tǒng)的核心所在。在本項目中,創(chuàng)新地將這一部分集成為基于云計算概念的管理平臺。關(guān)于云計算系統(tǒng),可以簡單地理解為按需即取得計算方式。用戶不需要理解云內(nèi)部的細節(jié),也不需要具有云內(nèi)部的專業(yè)知識或者直接控制基礎(chǔ)設(shè)施,只需要關(guān)注自己需要什么樣的資源以及如何通過網(wǎng)絡(luò)來得到相應(yīng)的服務(wù)。
應(yīng)用層的結(jié)構(gòu)是根據(jù)一個個子功能來設(shè)計的,每個子功能對應(yīng)一個特定的需求。我們?yōu)橛脩籼峁┝硕喾N服務(wù),其中包括用戶登錄安全認證、個性化私有信息、非個性化公有信息、校園媒體信息、二維碼相關(guān)功能等。主要功能實現(xiàn)如下:
2.1.1 用戶登錄及安全認證
應(yīng)用中大多數(shù)功能都是對校內(nèi)師生開放的,如個性化信息中的一卡通信息、圖書館信息等,考慮到為參觀的游客提供一些便利,應(yīng)用中也提供了一些不需登錄即可使用的功能,如校內(nèi)一些有紀念意義的建筑上會貼上二維碼,掃碼即可獲取介紹信息。
正常師生登錄時,移動應(yīng)用會通過OAuth2.0授權(quán)框架,獲取第三方應(yīng)用授權(quán)的權(quán)限,然后通過用戶名密碼登錄應(yīng)用。登陸成功后,應(yīng)用中會記錄用戶的私有信息,如院系、專業(yè)、年級等,以便學(xué)?;蚶蠋熡幸恍┩ㄖ獣r可以快速推送給特定學(xué)生。
2.1.2 個性化私有信息
個性化私有信息主要是針對師生提供一些私人信息的查詢等服務(wù),如一卡通信息、圖書館信息、個人日程等。
一卡通毫無疑問是師生校園生活中使用最多的物品。但是現(xiàn)在我們并不能隨時隨地知道當(dāng)前余額和近期消費情況,充值也必須在特定的時間到特定的食堂窗口才可以,十分不方便。因此,應(yīng)用中提供實時的余額及近期所有消費記錄的查詢功能,而且用戶可以隨時隨地通過應(yīng)用中的支付接口為一卡通進行充值。
圖書館信息主要是為師生提供圖書館中所有圖書的預(yù)約及查詢功能,在一些沒帶電腦的時候也可以很方便地查詢自己需要的圖書。
個人日程主要是展示學(xué)生的日常課表以及其他自定義日程,會提前半個小時對學(xué)生進行提醒以免誤點。
2.1.3 非個性化公有信息
與個性化私有信息相對,非個性化公有信息主要是提供一些與個人非綁定的公有服務(wù),如班車查詢、空教室查詢、講座信息等,由于這些信息都是可以公開的,因此,在獲取時,也不需要對用戶身份進行驗證。
現(xiàn)有的班車信息表都是貼在班車發(fā)車地點處,而且也只有某兩個特定校區(qū)之間的班車信息,太過零散。班車查詢功能匯總了所有校區(qū)兩兩之間所有班車列次時間表,而且在用戶查詢時進行了智能過濾,優(yōu)先顯示當(dāng)前時刻接下來的最近幾班班車信息,已滿足用戶需要。
空教室查詢是為方便學(xué)生自修提供的功能。學(xué)生可以隨時查詢某個教室當(dāng)前是否有課,是否有活動占據(jù)等。甚至如果有硬件支持,可以精確到某個教室左右空閑座位的分布情況,更加準確地幫助學(xué)生找到合適的自修環(huán)境。
現(xiàn)有的講座信息一般都是通過傳單或院系網(wǎng)站等方式擴散給學(xué)生,并沒有很好的效果,也沒有很好地進行信息分類。應(yīng)用中會對所有講座信息進行分類,然后更清晰地展示給用戶。
2.1.4 校園媒體信息
發(fā)布一些校園實時的熱點新聞或視頻等多媒體消息,讓學(xué)生可以及時了解校園中發(fā)生的一些重要事件,增強學(xué)生的歸屬感。
2.1.5 二維碼相關(guān)功能
二維碼相關(guān)功能主要分為兩種。第一種是之前提到的為游客提供的導(dǎo)覽功能,在一些標(biāo)志性建筑上貼上二維碼,用戶掃碼即可獲得相關(guān)介紹。第二種則是對其他服務(wù)的優(yōu)化,比如教室預(yù)定,在教室中每一個座位上都貼上二維碼,用戶可以掃碼來預(yù)定該座位的某一時間段。其他服務(wù)類似如圖4所示:
圖4 二維碼功能示意圖
這兩層主要提供信息的來源及封裝,并對上層應(yīng)用發(fā)出的不同需求進行響應(yīng)。中間網(wǎng)絡(luò)層與應(yīng)用層之間會約定好交互的接口數(shù)據(jù)格式及可能出現(xiàn)的錯誤碼,然后根據(jù)接口類型、數(shù)據(jù)參數(shù)在數(shù)據(jù)庫中查詢得到相應(yīng)信息,封裝成約定格式返回給應(yīng)用層[4]。
本文對基于PhoneGap的移動應(yīng)用進行了研究和結(jié)構(gòu)分析,并將其與校園生活緊密結(jié)合起來,為廣大師生提供隨時隨地的便捷服務(wù)。通過實驗驗證,該應(yīng)用可以有效地滿足大家在日常生活中會遇到的一些問題。另外,相比以前用戶只能自己通過各種渠道詢問,應(yīng)用會根據(jù)用戶身份個性化推送一些通知和推薦信息,這些都是業(yè)務(wù)智能化和自動化的體現(xiàn)。
當(dāng)然,由于條件有限,應(yīng)用可以擴展的地方還有很多。比如可以接入學(xué)郵系統(tǒng),或者增加 SNS網(wǎng)絡(luò)元素,為師生之間的交流提供便利,甚至可以加入位置信息來認識同一個教室身邊的同學(xué)。開發(fā)者可以根據(jù)自身需要自行延伸。
[1]武晶晶.跨平臺的 PhoneGap研究[J].信息安全與技術(shù),2012(12).
[2]羅軍舟,吳文甲,楊明.移動互聯(lián)網(wǎng):終端、網(wǎng)絡(luò)與服務(wù)[J].計算機學(xué)報,2011(11).
[3]劉領(lǐng)兵,陳潔.基于SOA/Web Service體系的移動應(yīng)用系統(tǒng)開發(fā)框架[J].計算機應(yīng)用與軟件,2010(02).
[4]白文江.基于Android平臺的移動應(yīng)用開發(fā)研究[J].太原大學(xué)學(xué)報,2011(03).