林 洋 范秀文
(吉林廣播電視大學(xué),吉林 長(zhǎng)春 130022;長(zhǎng)春金融高等??茖W(xué)校,吉林 長(zhǎng)春 130000)
遠(yuǎn)程教學(xué)平臺(tái)APP客戶端主要開發(fā)模式分析
林 洋 范秀文
(吉林廣播電視大學(xué),吉林 長(zhǎng)春 130022;長(zhǎng)春金融高等專科學(xué)校,吉林 長(zhǎng)春 130000)
本文列舉了常見了APP開發(fā)模式,討論各種模式的開發(fā)特性,從實(shí)際情況出發(fā),探討遠(yuǎn)程教學(xué)平臺(tái)的建議開發(fā)模式,提出一些問題并給出解決建議。
教學(xué)平臺(tái);原生開發(fā);混合開發(fā);HTML5
移動(dòng)平臺(tái)智能系統(tǒng)的高速發(fā)展掀起了人類日常工作與生活方式的巨大革新,十年前的人很難想象,今天我們已經(jīng)可以通過手機(jī)、平板等微型移動(dòng)設(shè)備在任何時(shí)間、任何地點(diǎn)接入互聯(lián)網(wǎng)并獲取信息,教學(xué)平臺(tái)應(yīng)用移動(dòng)化,也是當(dāng)今高校十分重視的發(fā)展趨向。在業(yè)務(wù)移動(dòng)化發(fā)展的趨勢(shì)指引下,許多高校希望針對(duì)在線運(yùn)行的各種業(yè)務(wù)推出移動(dòng)平臺(tái)的可用版本——APP,即移動(dòng)客戶端(mobile application)的通用簡(jiǎn)稱。
目前APP開發(fā)模式主要有三種,分別為原生開發(fā)(Native application development)、跨平臺(tái)開發(fā)(web APP)和混合開發(fā)(Hybrid application development)。
1、原生開發(fā)
原生開發(fā)即APP的傳統(tǒng)開發(fā)模式,當(dāng)前移動(dòng)智能系統(tǒng)平臺(tái)的主要類型包括:
1)谷歌開發(fā)的ANDROID平臺(tái),從1.0版本發(fā)布開始不斷更新,目前最新版本為5.1 Lollipop(棒棒糖,用食物命名是安卓的一貫傳統(tǒng)),主要支持開發(fā)代碼為JAVA語(yǔ)言的分支語(yǔ)系,一般為JAVA SE。
2)蘋果公司開發(fā)的IOS移動(dòng)平臺(tái),與MAC OS X類似,基于類UNIX商業(yè)操作系統(tǒng),最早于2007年1月9日在Macworld大會(huì)上公布,2010年WWDC大會(huì)上正式更名為IOS,目前主流版本為8.4以及正在推出的版本9,主要應(yīng)用于蘋果自己的品牌設(shè)備商,包括到iPod touch、iPad以及Apple TV等產(chǎn)品,作為扁平化操作的推出者和發(fā)揚(yáng)者,IOS一直引領(lǐng)著智能移動(dòng)平臺(tái)的設(shè)計(jì)和研發(fā)方向。主要支持開發(fā)代碼為Objective-C。
3)微軟公司的Windows phone平臺(tái),基于windows CE內(nèi)核,于2010年10月推出,目前主要版本為windows phone 8.1,正在完善windows 10移動(dòng)版。
考慮到windows與其他移動(dòng)智能系統(tǒng)市場(chǎng)占有率較小,本文討論范圍限于安卓和IOS系統(tǒng)。
2、WEB開發(fā)
原生開發(fā)仍舊是迄今為止主要APP開發(fā)模式,但考慮到不同平臺(tái)都需要獨(dú)立開發(fā)APP,因此一些跨平臺(tái)的WEB開發(fā)模式正在興起,代表性代碼體系為HTML5。HTML5應(yīng)用程序基于標(biāo)準(zhǔn)web開發(fā)技術(shù),通常為html5+JavaScript+CSS3組合使用,它們對(duì)移動(dòng)平臺(tái)的代碼解釋專門做出優(yōu)化以提升展示效果,這種只需要編寫一次即可到處運(yùn)行的移動(dòng)開發(fā)方式可以建構(gòu)跨越平臺(tái)的應(yīng)用程序,無論是IOS、Android還是windows phone,都能對(duì)相應(yīng)程序進(jìn)行解析。
3、混合開發(fā)模式
混合開發(fā)是介于前兩種開發(fā)模式之間的APP開發(fā)模式,視覺體驗(yàn)方面類似原生開發(fā)APP,但這只限于UI WebView部分,內(nèi)部功能及內(nèi)核仍舊為web app,如早期版本的百度APP和淘寶APP,即實(shí)行混合開發(fā)路線。
在滿足功能要求前提下,原生應(yīng)用程序提供APP的最佳性能和最佳體驗(yàn),有一些功能必須通過原生應(yīng)用程序才能體現(xiàn):多點(diǎn)觸控;快速圖形API;流暢動(dòng)畫;內(nèi)置設(shè)備和部件(攝像頭、GPS、加密存儲(chǔ)等)。作為代價(jià),原生APP要求開發(fā)團(tuán)隊(duì)專門針對(duì)各種智能平臺(tái)和各種移動(dòng)設(shè)備執(zhí)行專門的代碼開發(fā)和屏幕分辨率適配,所有開發(fā)人員需要顧及平臺(tái)陣營(yíng)、平臺(tái)版本、設(shè)備規(guī)格、屏幕尺寸等等要求,事實(shí)上僅就Android而言,非常多的設(shè)備類型已經(jīng)讓很多開發(fā)者不堪重負(fù)。如非常著名的淘寶APP,即同時(shí)存在Android、IOS、windows phone等多個(gè)版本,并維持專門的技術(shù)團(tuán)隊(duì)對(duì)每個(gè)版本維持技術(shù)更新。而原生APP初始開發(fā)完畢,還需要接受APP商店的程序?qū)徍?,如果發(fā)現(xiàn)不合規(guī)程的API或不符合標(biāo)準(zhǔn)規(guī)范,則需要退回修改。
相對(duì)于原生開發(fā),WEB開發(fā)方式不受智能平臺(tái)限制,可實(shí)現(xiàn)一次開發(fā)、多次部署的項(xiàng)目要求,可同時(shí)為多平臺(tái)終端生成可直接使用的APP客戶端程序,極大降低了開發(fā)工作量。作為提高開發(fā)便利的代價(jià),WEB開發(fā)方式無法充分調(diào)用設(shè)備底層硬件資源,且執(zhí)行效率尚不完善,隨著HTML5代碼技術(shù)與標(biāo)準(zhǔn)的演進(jìn),其執(zhí)行效率和視覺體驗(yàn)有望得到繼續(xù)提高。
按照網(wǎng)頁(yè)語(yǔ)言與程序語(yǔ)言的混合方式,混合開發(fā)可分為三種類型:多view混合型、單view混合型和web主體型?;旌祥_發(fā)同時(shí)使用WEB語(yǔ)言和本地原生系統(tǒng)開發(fā)語(yǔ)言,其總體特性更接近原生開發(fā)方式,但具備相當(dāng)?shù)拈_發(fā)靈活性和較小的開發(fā)消耗。如果能夠解決用戶的體驗(yàn)問題,則WEB開發(fā)類型為最佳的混合開發(fā)模式。
遠(yuǎn)程教學(xué)平臺(tái)主要用戶為教師、遠(yuǎn)端學(xué)生和管理者,平臺(tái)主要活動(dòng)為在線教學(xué)、學(xué)習(xí)、測(cè)試、信息交流、教務(wù)信息管理以及平臺(tái)管理;較少或不需要調(diào)用系統(tǒng)底層硬件功能,例如GPS、攝像頭等功能并非必要組件。由此可見,教學(xué)平臺(tái)功能更傾向于WEB體驗(yàn),就上述各種開發(fā)模式而言,WEB開發(fā)方式更適合平臺(tái)APP端的首次開發(fā),技術(shù)力量足夠時(shí),混合模式適合為平臺(tái)APP開發(fā)完整功能模式。下表列出了面向教學(xué)平臺(tái)各種開發(fā)方式的優(yōu)勢(shì)對(duì)比:(表附后)
原生開發(fā)需要較多開發(fā)人員維持開發(fā)進(jìn)度,通常而言開發(fā)團(tuán)隊(duì)會(huì)采取WEB開發(fā)或混合開發(fā)方式,這需要解決很多問題。
1、加強(qiáng)性能和兼容性
混合開發(fā)模式中存在不同技術(shù)路線代碼,容易出現(xiàn)代碼兼容性問題和設(shè)備兼容性故障,因此需要謹(jǐn)慎考慮使用功能性代碼,應(yīng)在保障基本功能的前提下應(yīng)用增強(qiáng)體驗(yàn)效果的各種插件,例如頁(yè)面動(dòng)態(tài)切換,蘋果設(shè)備具備的硬件加速器在Android中可能無法使用,因此必須應(yīng)在安卓設(shè)備中嘗試隱藏?zé)o法執(zhí)行的特殊效果。
表1平臺(tái)APP開發(fā)模式特性評(píng)估
2、預(yù)備功能的替代解決方案
盡管各類開發(fā)方案自己會(huì)推薦很多功能插件,如HTML5中的websocket,但它們未必在開發(fā)中確實(shí)發(fā)揮作用,開發(fā)團(tuán)隊(duì)?wèi)?yīng)當(dāng)對(duì)此有所準(zhǔn)備,并在必要時(shí)采取替代措施,以防止開發(fā)進(jìn)度停滯,如websocket可以用XML的HTTPRequest方式替代。
混合開發(fā)模式生成的APP多存在效率低下問題,啟動(dòng)和響應(yīng)較慢,因此應(yīng)對(duì)代碼采取優(yōu)化措施,如精簡(jiǎn)DOM結(jié)構(gòu),減少類庫(kù)種類,壓縮代碼和樣式效果文件,減少啟動(dòng)代碼消耗等等。
無論采用何種開發(fā)方式,APP本身作為教學(xué)平臺(tái)功能的移動(dòng)端延伸,應(yīng)始終以平臺(tái)功能和實(shí)際需求為指導(dǎo),認(rèn)真審視和選擇開發(fā)路線,確定開發(fā)代碼框架,才能進(jìn)一步展開APP具體設(shè)計(jì),并最終實(shí)現(xiàn)所有功能。
[1]開發(fā)移動(dòng)應(yīng)用程序的三種選擇:原生、HTML5或混合[EB/OL].https://developer.salesforce.com/page/Native,_HTML5,_or_Hybrid:_Understanding_Your_Mobile_Application_Development_Options
[2]hybrid app[EB/OL].http://baike.baidu.com/link?url=pEs 7FCUJSes-PgOUi1MDKGqjvKi-at4shqJ0IMdrtr3hu6aROwDM-nG-SSI9ddjvJRXgpsS4X_xlSE2JvT7h_K
[3]劉歡.張?jiān)鲂?馬晨輝華東師范大學(xué):混合開發(fā)移動(dòng)應(yīng)用[J]-中國(guó)教育網(wǎng)絡(luò)2013(7)
TP393
B
1008-7508(2015)12-0020-02
本文系吉林省教育科學(xué)“十二五”規(guī)劃課題《基于移動(dòng)終端的遠(yuǎn)程教學(xué)平臺(tái)建設(shè)研究》(課題號(hào):GH150804)階段性研究成果。課題負(fù)責(zé)人:魏新宇。
2015-09-11
林洋(1980-),山東牟平人,吉林廣播電視大學(xué)遠(yuǎn)程教育技術(shù)中心講師,教育學(xué)碩士,主要研究方向?yàn)椋哼h(yuǎn)程教育網(wǎng)絡(luò)體系建設(shè)及移動(dòng)學(xué)習(xí)。范秀文(1979-),女,吉林長(zhǎng)春人,長(zhǎng)春金融高等??茖W(xué)校講師。