張忠山+林茂松+姬亞利
摘 要:近幾年隨著移動(dòng)技術(shù)和互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,移動(dòng)應(yīng)用程序出現(xiàn)在諸多領(lǐng)域,移動(dòng)應(yīng)用開發(fā)成為了一個(gè)關(guān)鍵問題。本文立足于移動(dòng)開發(fā)技術(shù)的背景,從現(xiàn)有的移動(dòng)應(yīng)用開發(fā)現(xiàn)狀,對(duì)比不同移動(dòng)平臺(tái)的開發(fā)技術(shù),比較三種主要的移動(dòng)應(yīng)用開發(fā)方式,以中間件技術(shù)的開發(fā)模式,對(duì)移動(dòng)應(yīng)用程序上內(nèi)容的實(shí)現(xiàn)進(jìn)行了闡述,結(jié)合校園學(xué)習(xí)資源,以三種平臺(tái)的智能手機(jī)和平板電腦兩個(gè)終端的移動(dòng)客戶端為例,初步實(shí)現(xiàn)了一個(gè)簡易校園移動(dòng)學(xué)習(xí)應(yīng)用的解決方案。
關(guān)鍵詞:移動(dòng)技術(shù);移動(dòng)開發(fā);跨平臺(tái);移動(dòng)應(yīng)用
中圖分類號(hào):G40-057 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1673-8454(2014)01-0067-04
隨著移動(dòng)技術(shù)、移動(dòng)通訊技術(shù)的發(fā)展,智能設(shè)備的普及以及移動(dòng)技術(shù)給人們帶來的巨大需求,人們對(duì)移動(dòng)技術(shù)的關(guān)注也越來越多。Digitimes Research發(fā)布研究報(bào)告稱:2013年全球平板電腦銷售量將達(dá)到2.1億臺(tái),智能手機(jī)銷量也有望達(dá)到10億部。因此,各大公司紛紛投入到了移動(dòng)設(shè)備及技術(shù)的開發(fā),蘋果和谷歌2007年先后發(fā)布的IOS和Android系統(tǒng)現(xiàn)在已經(jīng)在市場(chǎng)上占據(jù)了主流地位。智能化的移動(dòng)設(shè)備給人們的生活和工作帶來了極大的方便。[1]一些符合人們需求的移動(dòng)應(yīng)用也應(yīng)用而生,各式各樣的移動(dòng)應(yīng)用軟件滿足了人們?cè)谏?、工作和學(xué)習(xí)方面的需求。各個(gè)行業(yè)領(lǐng)域也開發(fā)相應(yīng)的移動(dòng)應(yīng)用程序,使得開發(fā)者對(duì)移動(dòng)應(yīng)用程序的開發(fā)形式也日趨豐富。
在互聯(lián)網(wǎng)高速發(fā)達(dá)的今天,移動(dòng)設(shè)備已經(jīng)是一個(gè)必不可少的與用戶交互的接口。由于移動(dòng)設(shè)備的易攜帶性、操作方便,使得人們?cè)絹碓诫x不開移動(dòng)設(shè)備。3G乃至4G網(wǎng)絡(luò)的到來,信號(hào)覆蓋廣闊,人們通過移動(dòng)設(shè)備接入互聯(lián)網(wǎng)的數(shù)量已經(jīng)超過了通過PC端接入互聯(lián)網(wǎng)的數(shù)量,而這一速度只用了5年,超過了以往其他技術(shù)應(yīng)用的發(fā)展速度。硬件的發(fā)展促進(jìn)軟件應(yīng)用,在移動(dòng)商店的應(yīng)用數(shù)量也在以驚人的速度增長。各個(gè)公司企業(yè)都在開發(fā)符合自身的移動(dòng)應(yīng)用,在大學(xué)里面,就有上海交通大學(xué)和西南交通大學(xué)為網(wǎng)絡(luò)教育研發(fā)的移動(dòng)學(xué)習(xí)系統(tǒng)。團(tuán)隊(duì)和個(gè)人都通過開發(fā)一些具有特色功能的移動(dòng)應(yīng)用來獲得收入。各個(gè)移動(dòng)操作系統(tǒng)也迅速占領(lǐng)了市場(chǎng),其中份額最大的有Android、Windows Phone 和 IOS通過不同的平臺(tái)可以開發(fā)相應(yīng)的應(yīng)用程序。2012年11月數(shù)據(jù)顯示:Android占據(jù)全球智能手機(jī)操作系統(tǒng)市場(chǎng)76%的份額,中國市場(chǎng)占有率為90%。截止至2011年11月,根據(jù)Canalys的數(shù)據(jù)顯示:IOS已經(jīng)占據(jù)了全球智能手機(jī)系統(tǒng)市場(chǎng)份額的30%,在美國的市場(chǎng)占有率為43%。Windows Phone在2013年第二季度出貨量為890萬臺(tái),Windows Phone已經(jīng)擁有了6.5%的市場(chǎng)份額。[2]作為三個(gè)主流的移動(dòng)操作系統(tǒng)占據(jù)了整個(gè)移動(dòng)互聯(lián)網(wǎng)的大部分市場(chǎng)。移動(dòng)設(shè)備的低成本和高性能,已經(jīng)成為未來人們必備可少的生活和學(xué)習(xí)用品。
一、主要的移動(dòng)平臺(tái)的開發(fā)模式
本文主要介紹的三種移動(dòng)操作系統(tǒng),是現(xiàn)在市場(chǎng)上常見的三種主流平臺(tái)。[3]分別就不同的平臺(tái)開發(fā)技術(shù)作一個(gè)簡要的分析。
1.基于Android平臺(tái)的移動(dòng)應(yīng)用開發(fā)
Android是基于Linux內(nèi)核的軟件平臺(tái)和操作系統(tǒng),是Google在2007年11月5日公布的移動(dòng)系統(tǒng)平臺(tái)。通過下載Android的SDK和下載Eclipse IDE for Java EE Developers,在Eclipse里面安裝ADT插件,配置好相應(yīng)的環(huán)節(jié),就可以通過AVD管理自己的Android模擬器了。它采用軟件堆層的架構(gòu),主要分為三部分,底層以Linux核心工作為基礎(chǔ),以Java作為編寫程序的基本語言,開發(fā)者可在Eclipse開發(fā)相應(yīng)的移動(dòng)應(yīng)用程序。
2.基于IOS平臺(tái)的移動(dòng)應(yīng)用開發(fā)
IOS是由蘋果公司開發(fā)的手持設(shè)備操作系統(tǒng)。蘋果公司最早于2007年1月9日的Macworld大會(huì)上公布這個(gè)系統(tǒng),可以通過下載并安裝IOS SDK及開發(fā)工具X-CODE,在X-CODE里面通過C或者C++來編程。用戶可以直接在Mac系統(tǒng)上設(shè)計(jì)或者是在Windows系統(tǒng)是通過虛擬機(jī)的方式來設(shè)計(jì)實(shí)現(xiàn)。
3.基于Windows Phone 8的移動(dòng)應(yīng)用開發(fā)
Windows Phone 8是微軟公司2012年6月21日最新發(fā)布的一款移動(dòng)操作系統(tǒng),通過下載安裝Visual Studio 2010 Express for Windows Phone Beta和Windows Phone SDK,利用C#語言來編程實(shí)現(xiàn)。
二、主要的移動(dòng)應(yīng)用開發(fā)方式
要為不同的平臺(tái)和不同的終端開發(fā)不同的移動(dòng)應(yīng)用,有3種常見的開發(fā)方式。
1.基于Native App的開發(fā)方式
Native App是一種基于智能手機(jī)本地操作系統(tǒng)如IOS、Android、Windows Phone并使用原生程序編寫運(yùn)行的第三方應(yīng)用程序。Native App位于平臺(tái)層上方,兼容的能力較高,支持在線或離線,消息推送和本地資源訪問。它可以給用戶很好的體驗(yàn),節(jié)約寬帶成本,針對(duì)不同平臺(tái)有不同體驗(yàn),但是由于平臺(tái)和終端較碎片化,開發(fā)成本要高很多,技術(shù)實(shí)現(xiàn)也比較高。
2.基于Web App的開發(fā)方式
Web App是指基于Web的系統(tǒng)和應(yīng)用,一個(gè)站點(diǎn)就可以是Web App,它包括一些完整的網(wǎng)頁信息處理應(yīng)用。Web App 框架是一種簡單網(wǎng)絡(luò)應(yīng)用程序框架,它提供一種簡單的方式來開發(fā)應(yīng)用程序,一般運(yùn)行于網(wǎng)絡(luò)和標(biāo)準(zhǔn)瀏覽器上,基于網(wǎng)頁技術(shù)開發(fā)實(shí)現(xiàn)特定功能的應(yīng)用,因此它的用戶體驗(yàn)性很低。因?yàn)闃?biāo)準(zhǔn)化問題和終端設(shè)備功能的支持程度,很難在短時(shí)間內(nèi)找到確切的解決方案,所以Web App短期內(nèi)將遇到發(fā)展瓶頸。
3.基于Hybrid App的開發(fā)方式
Hybrid App是指介于上述兩者之間的App,表面像Native App,內(nèi)部嵌入了UI Web View控件,里面訪問的是一個(gè)Web App,在體驗(yàn)上像客戶端。Hybrid App同時(shí)包括Native App良好用戶交互體驗(yàn)的優(yōu)勢(shì)和Web App跨平臺(tái)開發(fā)的優(yōu)勢(shì)。[4]總體特性更接近Native App,但它同時(shí)使用了程序設(shè)計(jì)語言和網(wǎng)頁設(shè)計(jì)語言編碼,系統(tǒng)架構(gòu)時(shí),本地框架內(nèi)嵌入了網(wǎng)頁,所以開發(fā)成本和難度相對(duì)要低。因此Hybrid App兼具了Native App的部分優(yōu)勢(shì),也兼具了Web App使用HTML5跨平臺(tái)開發(fā)低成本的優(yōu)勢(shì)。[4]表是三種應(yīng)用開發(fā)的比較。endprint
三、基于中間件開發(fā)移動(dòng)應(yīng)用的方式
Hybrid App的興起是現(xiàn)階段移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)的一種偶然。移動(dòng)互聯(lián)網(wǎng)的發(fā)展,大部分公司需要開發(fā)相應(yīng)的移動(dòng)應(yīng)用,但是沒有相關(guān)的專業(yè)人才,而且?guī)缀鹾苌俟居心芰iT成立跨平臺(tái)的移動(dòng)應(yīng)用開發(fā)團(tuán)隊(duì)。HTML5技術(shù)的出現(xiàn)更是促進(jìn)了移動(dòng)互聯(lián)網(wǎng)領(lǐng)域發(fā)展。純粹的Web App在用戶入口習(xí)慣、分發(fā)渠道和應(yīng)用體驗(yàn)這三個(gè)核心問題暫時(shí)無法解決。因此Hybrid App迅速吸引了大量開發(fā)者。較低的成本和中難度的開發(fā)使得Hybrid App成為開發(fā)移動(dòng)應(yīng)用的常見選擇。而Hybrid App的開發(fā)方式一般是基于中間件的基礎(chǔ)上進(jìn)行開發(fā)。
1.跨移動(dòng)平臺(tái)的中間件技術(shù)分析
國內(nèi)外一些知名的中間件有jQuery Touch,它在Web App應(yīng)用開發(fā)方面有較好的體驗(yàn);[5]Titanium、AppMobi、Sencha Touch這三種中間件只支持Android和IOS平臺(tái),不能夠開發(fā)Windows平臺(tái)的應(yīng)用; Rexsee只支持Android平臺(tái)的開發(fā);Appcan支持常見的4種操作系統(tǒng),但是它的內(nèi)部體系有一定的封閉性,不能夠很好地實(shí)現(xiàn)一些功能;Phonegap支持包括Android、IOS、Windows Phone等7種系統(tǒng),可以開發(fā)多種平臺(tái)的應(yīng)用,因此我們選用Phonegap中間件技術(shù)來開發(fā)移動(dòng)應(yīng)用。[6]
2.Phonegap中間件技術(shù)介紹
Phonegap支持調(diào)用系統(tǒng)的一些核心功能包括加速計(jì)、攝像頭、羅盤、通訊錄、文檔、地理定位、媒體、網(wǎng)絡(luò)、通知(警告、聲音和振動(dòng))、存儲(chǔ),和Phonegap的一些特色功能的插件。[7]它具有較好的兼容性和標(biāo)準(zhǔn)化,可以使用各個(gè)平臺(tái)的SDK,如Android的Android SDK,iPhone的iPhone SDK創(chuàng)建各自平臺(tái)的框架,使用HTML,CSS和JavaScript創(chuàng)建合適的內(nèi)容頁面,然后利用PhoneGap中間件技術(shù)快速開發(fā)相應(yīng)的移動(dòng)應(yīng)用程序。[8]如圖1是利用中間件開發(fā)移動(dòng)應(yīng)用的模式。
四、利用PhoneGap開發(fā)移動(dòng)應(yīng)用的主要思路
PhoneGap是一個(gè)用基于HTML,CSS和JavaScript的創(chuàng)建移動(dòng)跨平臺(tái)移動(dòng)應(yīng)用程序的快速開發(fā)平臺(tái)。它利用各個(gè)平臺(tái)核心的功能和插件,可以快速為各個(gè)平臺(tái)和各個(gè)終端編譯好完整的程序。不同的平臺(tái)支持的媒體格式和類型是不同的,因此我們從下面幾種媒體類型來分別介紹一下它們的實(shí)現(xiàn)方式。[9]
1.文本類資源的實(shí)現(xiàn)方式
在大部分移動(dòng)學(xué)習(xí)應(yīng)用中,以文字為資源的媒體是最基本的呈現(xiàn)方式,文字呈現(xiàn)的主要問題是不同的終端有不同的屏幕尺寸,所以必須要實(shí)現(xiàn)文字呈現(xiàn)的自適應(yīng),才能給用戶帶來一個(gè)很好的視覺體驗(yàn)。對(duì)于文字的處理方式,主要是設(shè)計(jì)一個(gè)寬度及高度都是100%的JS框架頁面,這樣在嵌入到不同平臺(tái)的時(shí)候,它的呈現(xiàn)就可以實(shí)現(xiàn)自適應(yīng)。如圖2和圖3分別為文本類媒體在不同屏幕上的顯示結(jié)果。
手機(jī)上的文字大小,一般使用宋體和六號(hào)字大小。文本顏色一般情況下采用黑色。頁面可以用滾動(dòng)的方式來加載,滾動(dòng)超過三屏以上的文字內(nèi)容,要使用分頁的方式,使文本類的資源呈現(xiàn)方式可以有一個(gè)好的視覺效果。
2.圖片類資源的實(shí)現(xiàn)方式
和文本類資源有相同重要性的媒體類型還有圖片格式,不同的圖片有不同的分辨率,因此一張圖片的最大顯示效果不會(huì)和某一個(gè)終端的屏幕大小相匹配,但如果將圖片的顯示強(qiáng)制在一屏之內(nèi),有些圖片可能會(huì)看不清楚。所以我們對(duì)圖片的處理方式為使用縮略圖的顯示方式,在首顯示位置,把圖片以一種合適的尺寸顯示出來,如果用戶有需要,他可以雙擊圖片,那么圖片就可以以原先的分辨率來顯示,通過手指滑動(dòng)屏幕,可以清楚的看到圖片的細(xì)節(jié)。這樣既不會(huì)影響觀看圖片傳遞的信息,也不會(huì)破壞圖片在整個(gè)屏幕的顯示效果。
3.視頻類資源的實(shí)現(xiàn)方式
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,現(xiàn)在通過移動(dòng)終端在線觀看視頻也成為了一種新的學(xué)習(xí)方式。通過移動(dòng)終端顯示視頻類資源也是要解決的一種方式,首先是視頻資源在屏幕中呈現(xiàn)方式,開始可以使用視頻的畫面截圖,用圖片縮略圖來顯示視頻鏈接,如果用戶有需要,他可以點(diǎn)擊該縮略圖,那么可以調(diào)用系統(tǒng)自帶的媒體播放器來播放該視頻。但是這樣會(huì)影響用戶化驗(yàn),所以我們可以采用HTML5技術(shù),在頁面內(nèi)直接通過嵌入JS來實(shí)現(xiàn)視頻類媒體的播放,可以實(shí)現(xiàn)播放、暫停、終止、全屏、旋轉(zhuǎn)、音量控制等功能,它可以直接播放Mp4,flv等一些常見的視頻格式,Android、IOS、Windows Phone 8三個(gè)平臺(tái)也支持HTML5標(biāo)準(zhǔn),因此可以使用這種顯示方式。[10]圖4是視頻類資源的呈現(xiàn)方式。
4.音頻類資源的實(shí)現(xiàn)方式
音頻類資源也是一種常見的媒體格式,但在移動(dòng)終端它似乎不是一種必須的學(xué)習(xí)資源,但是我們?nèi)匀话阉鳛橐环N要呈現(xiàn)的資源考慮進(jìn)去。我們實(shí)現(xiàn)音頻類資源的呈現(xiàn)方式和實(shí)現(xiàn)視頻類資源的實(shí)現(xiàn)方式一樣,都是通過HTML5技術(shù)來嵌入JS編寫的媒體播放器,用戶可以直接在它上面點(diǎn)擊播放、暫停和終止功能。如圖5是音頻類資源的呈現(xiàn)方式。
5.動(dòng)畫類資源的實(shí)現(xiàn)方式
我們通過所說的動(dòng)畫類媒體一般是指Flash格式的資源,F(xiàn)lash類的媒體也可以直接嵌入到程序頁面,但是唯一不足的是蘋果公司的移動(dòng)終端不支持Flash格式,所以我們?cè)谑褂脛?dòng)畫的的時(shí)候要設(shè)計(jì)兩個(gè)不同的頁面,專門為iPhone,iPad設(shè)計(jì)的頁面要避免使用Flash媒體,否則會(huì)顯示不出來。在最終編譯的時(shí)候要把不包含F(xiàn)lash資源類型的頁面嵌入到iPhone和iPad終端中。
6.網(wǎng)頁類資源的實(shí)現(xiàn)方式
在移動(dòng)終端中,用戶可以直接有效使用的媒體因?yàn)榘鏅?quán)問題可能會(huì)比較少,這時(shí)候我們可以直接鏈接其他公開的學(xué)習(xí)資源頁面,通過百度轉(zhuǎn)碼的方式,把其他網(wǎng)絡(luò)上的網(wǎng)頁類媒體引入到我們的學(xué)習(xí)平臺(tái)。它的主要實(shí)現(xiàn)方式就是在其他PC網(wǎng)頁資源的鏈接前面加上http://gate.baidu.com/這一行代碼,可以實(shí)現(xiàn)PC端轉(zhuǎn)換到移動(dòng)終端,但是效果并不是很好,所以我們盡量不使用PC端上的學(xué)習(xí)資源。
五、結(jié)論
隨著技術(shù)的發(fā)展和更新,移動(dòng)應(yīng)用必將深入到各個(gè)領(lǐng)域,因此人們對(duì)移動(dòng)程序開發(fā)的研究也會(huì)投入更多的精力,越來越多的研究使得移動(dòng)程序的開發(fā)方式豐富化、簡單化和智能化,為開發(fā)出更多符合人們需求的移動(dòng)應(yīng)用軟件打下良好的基礎(chǔ)。?筅
參考文獻(xiàn):
[1]梁敬坤.移動(dòng)學(xué)習(xí)系統(tǒng)IPAD終端的設(shè)計(jì)與開發(fā)[D].廣州:華南理工大學(xué),2012,06,03.
[2]陳曄.平板電腦市場(chǎng)狀況及未來發(fā)展趨勢(shì)[J].經(jīng)濟(jì)視角,2012(1):94.
[3]李云飛,王加俊,謝偉凱,申瑞民等.移動(dòng)學(xué)習(xí)系統(tǒng)及其相關(guān)學(xué)習(xí)模式[J].開放教育研究,2012.2,18(1):152.
[4]hybrid app百度百科[EB/OL].http://baike.baidu.com/view/8488720.htm.
[5]楊若男.基于用戶體驗(yàn)的智能手機(jī)交互設(shè)計(jì)研究[D].長沙:湖南大學(xué),2007,05,07.
[6]王琴,王軍.基于智能手機(jī)的移動(dòng)學(xué)習(xí)系統(tǒng)關(guān)鍵技術(shù)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013,07,24.
[7]phonegap環(huán)境搭建[EB/OL].http://phonegap.com/.
[8]陸鋼,朱培軍,李慧云,文錦軍.智能終端跨平臺(tái)應(yīng)用開發(fā)技術(shù)研究[J].電信科學(xué), 2012(5):14.
[9]方海光,王紅云,黃榮懷.移動(dòng)學(xué)習(xí)的系統(tǒng)環(huán)境路線圖[J].現(xiàn)代教育技術(shù),2011.1(21):14.
[10]任捷怡.基于移動(dòng)終端設(shè)備的移動(dòng)學(xué)習(xí)系統(tǒng)研究與實(shí)現(xiàn)[D].成都:西南交通大學(xué),2012,05,28.
[11]黃榮懷,Jyri Salomaa.移動(dòng)學(xué)習(xí)——理論?現(xiàn)狀?趨勢(shì)[M].北京:科學(xué)出版社, 2008:5.
(編輯:楊馥紅)endprint