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