周帆,凌力
隨著智能手機的逐漸普及,越來越多的開發者加入到移動應用開發的隊伍當中。但開發者想要自己的移動應用適用于多種手機平臺的話,就需要掌握多種開發語言及環境,這無疑增加了跨平臺軟件開發的困難。為了簡化移動應用的編程,制作出能在各種手機平臺上運行的應用,Nitobi公司推出了移動應用解決方案PhoneGap。
PhoneGap是一款開源的開發框架,旨在讓開發者使用HTML、CSS、JavaScript等WEB APIs開發跨平臺的移動應用程序,如圖1所示:

圖1 PhoneGap框架圖解
通過PhoneGap框架提供的接口,開發者可以以非常簡單的方式調用移動設備的核心功能,包括地理位置、攝像頭、加速器、通訊錄、多媒體、文件和網絡等功能。借助PhoneGap,開發者完全可以使用熟悉的Web開發技術寫出移動Native App,并發布到Apple Store、Google Play等各平臺應用商店中[1]。目前,PhoneGap已實現對 iPhone/iPad、Android、Symbian、WP7、Blackberry、Palm各版本絕大部分功能的支持。此外,PhoneGap擁有豐富的插件,可以以此擴展無限的功能。
本文闡述了一個基于PhoneGap的校園移動應用的基本構成,實現了軟件和硬件上的設計,并對其結構和性能進行了詳細的分析。
移動互聯網(MobileInternet,簡稱MI),是一種通過智能移動終端,采用移動無線通信方式獲取業務和服務的新興業態,包含終端、軟件和應用3個層面。終端層包括智能手機、平板電腦、電子書、MID等;軟件層包括操作系統、中間件、數據庫和安全軟件等;應用層包括休閑娛樂類、工具媒體類、商務財經類等不同應用與服務。隨著技術和產業的發展,未來LTE和NFC等網絡傳輸層關鍵技術也將被納入移動互聯網的范疇之內。
隨著寬帶無線接入技術和移動終端技術的飛速發展,人們迫切希望能夠隨時隨地乃至在移動過程中都能方便地從互聯網獲取信息和服務,移動互聯網應運而生并迅猛發展。然而,移動互聯網在移動終端、接入網絡、應用服務、安全和隱私保護等方便還面臨著一系列的挑戰。其基礎理論和關鍵技術的研究,對于國家信息產業整體發展具有重要的現實意義[2]。
本文所描述的項目,正是在這樣一個背景下開發的一個基于PhoneGap的校園移動應用,以該技術為基礎對所有分散的信息進行歸納和個性化處理,最終為廣大的師生群體甚至于游客提供最便捷的服務。
移動互聯網有以下幾個特點:
盈利策略不可急功近利。用戶可能只用過手機的簡單功能,盈利模式的策略上,需要企業性化和簡單易懂的指引,移動互聯網的強大平臺,已經成為全方位、立體式。
找到業務核心競爭力。在產業鏈競爭中處于相對被動的情況下,握在你手中最大的砝碼就是市場占有率和業務創新能力,市場占有率讓你有更大的話語權和議價資格,業務創新能力則決定了自己的賣點。
用戶體驗至上。如果一個商品或一項服務想要成功在移動互聯網時代,其對消費者需求的了解程度,將決定其爆炸能量的大小,用戶體驗必須放到最重要的位置上。對用戶需求的分析可以從幾個方面入手如圖2所示:

圖2 用戶需求分析
把握移動營銷新模型。移動互聯網的一個品牌文化,移動互聯網的營銷模型與傳統營銷最大的不同,通過口碑傳播吸引更多的客戶,隨之讓參與互動,移動互聯網的營銷模型與傳統營銷最大的不同,就是直接讓正確的客戶為企業說正確的話,冷冰冰的廣告式營銷終將在這個時代里慢慢衰退。
整合產業鏈之外的資源:只要能把握移動互聯網的前提,抓住行業強勢資源,相關節點進行有效的整合產業的資源。
參考以上特點,本系統架構設計如圖3所示:

圖3 系統架構
圖3的結構可以劃分為3層:應用層、中間網絡層、基礎設施層[3]。
應用層包含各種應用服務,體現為本系統實現的各種功能以及用戶感知到的前端界面。這一層根據每個用戶的獨特性和用戶提出的需求,通過Web Service向后端發出請求,集中地體現了移動應用的優勢所在:便捷性和實時性。
中間網絡層是應用層和數據庫交流的橋梁,也是大量分散信息的匯聚和篩選必不可少的一步。針對應用層所要實現的所有需求,都會封裝好對應的接口,雙方只要約定好接口格式及參數格式,就可以按照預期獲取自己想要的數據。
基礎設施層主要設施為數據庫。信息從數據庫中讀取出來之后,會根據用戶的個性化需求做進一步篩選和簡化,最終呈現在用戶面前。當然用戶也可以隨時隨地修改自己的信息。
一般來說,應用層是整個系統的核心所在。在本項目中,創新地將這一部分集成為基于云計算概念的管理平臺。關于云計算系統,可以簡單地理解為按需即取得計算方式。用戶不需要理解云內部的細節,也不需要具有云內部的專業知識或者直接控制基礎設施,只需要關注自己需要什么樣的資源以及如何通過網絡來得到相應的服務。
應用層的結構是根據一個個子功能來設計的,每個子功能對應一個特定的需求。我們為用戶提供了多種服務,其中包括用戶登錄安全認證、個性化私有信息、非個性化公有信息、校園媒體信息、二維碼相關功能等。主要功能實現如下:
2.1.1 用戶登錄及安全認證
應用中大多數功能都是對校內師生開放的,如個性化信息中的一卡通信息、圖書館信息等,考慮到為參觀的游客提供一些便利,應用中也提供了一些不需登錄即可使用的功能,如校內一些有紀念意義的建筑上會貼上二維碼,掃碼即可獲取介紹信息。
正常師生登錄時,移動應用會通過OAuth2.0授權框架,獲取第三方應用授權的權限,然后通過用戶名密碼登錄應用。登陸成功后,應用中會記錄用戶的私有信息,如院系、專業、年級等,以便學?;蚶蠋熡幸恍┩ㄖ獣r可以快速推送給特定學生。
2.1.2 個性化私有信息
個性化私有信息主要是針對師生提供一些私人信息的查詢等服務,如一卡通信息、圖書館信息、個人日程等。
一卡通毫無疑問是師生校園生活中使用最多的物品。但是現在我們并不能隨時隨地知道當前余額和近期消費情況,充值也必須在特定的時間到特定的食堂窗口才可以,十分不方便。因此,應用中提供實時的余額及近期所有消費記錄的查詢功能,而且用戶可以隨時隨地通過應用中的支付接口為一卡通進行充值。
圖書館信息主要是為師生提供圖書館中所有圖書的預約及查詢功能,在一些沒帶電腦的時候也可以很方便地查詢自己需要的圖書。
個人日程主要是展示學生的日常課表以及其他自定義日程,會提前半個小時對學生進行提醒以免誤點。
2.1.3 非個性化公有信息
與個性化私有信息相對,非個性化公有信息主要是提供一些與個人非綁定的公有服務,如班車查詢、空教室查詢、講座信息等,由于這些信息都是可以公開的,因此,在獲取時,也不需要對用戶身份進行驗證。
現有的班車信息表都是貼在班車發車地點處,而且也只有某兩個特定校區之間的班車信息,太過零散。班車查詢功能匯總了所有校區兩兩之間所有班車列次時間表,而且在用戶查詢時進行了智能過濾,優先顯示當前時刻接下來的最近幾班班車信息,已滿足用戶需要。
空教室查詢是為方便學生自修提供的功能。學生可以隨時查詢某個教室當前是否有課,是否有活動占據等。甚至如果有硬件支持,可以精確到某個教室左右空閑座位的分布情況,更加準確地幫助學生找到合適的自修環境。
現有的講座信息一般都是通過傳單或院系網站等方式擴散給學生,并沒有很好的效果,也沒有很好地進行信息分類。應用中會對所有講座信息進行分類,然后更清晰地展示給用戶。
2.1.4 校園媒體信息
發布一些校園實時的熱點新聞或視頻等多媒體消息,讓學生可以及時了解校園中發生的一些重要事件,增強學生的歸屬感。
2.1.5 二維碼相關功能
二維碼相關功能主要分為兩種。第一種是之前提到的為游客提供的導覽功能,在一些標志性建筑上貼上二維碼,用戶掃碼即可獲得相關介紹。第二種則是對其他服務的優化,比如教室預定,在教室中每一個座位上都貼上二維碼,用戶可以掃碼來預定該座位的某一時間段。其他服務類似如圖4所示:

圖4 二維碼功能示意圖
這兩層主要提供信息的來源及封裝,并對上層應用發出的不同需求進行響應。中間網絡層與應用層之間會約定好交互的接口數據格式及可能出現的錯誤碼,然后根據接口類型、數據參數在數據庫中查詢得到相應信息,封裝成約定格式返回給應用層[4]。
本文對基于PhoneGap的移動應用進行了研究和結構分析,并將其與校園生活緊密結合起來,為廣大師生提供隨時隨地的便捷服務。通過實驗驗證,該應用可以有效地滿足大家在日常生活中會遇到的一些問題。另外,相比以前用戶只能自己通過各種渠道詢問,應用會根據用戶身份個性化推送一些通知和推薦信息,這些都是業務智能化和自動化的體現。
當然,由于條件有限,應用可以擴展的地方還有很多。比如可以接入學郵系統,或者增加 SNS網絡元素,為師生之間的交流提供便利,甚至可以加入位置信息來認識同一個教室身邊的同學。開發者可以根據自身需要自行延伸。
[1]武晶晶.跨平臺的 PhoneGap研究[J].信息安全與技術,2012(12).
[2]羅軍舟,吳文甲,楊明.移動互聯網:終端、網絡與服務[J].計算機學報,2011(11).
[3]劉領兵,陳潔.基于SOA/Web Service體系的移動應用系統開發框架[J].計算機應用與軟件,2010(02).
[4]白文江.基于Android平臺的移動應用開發研究[J].太原大學學報,2011(03).