林 洋 范秀文
(吉林廣播電視大學,吉林 長春 130022;長春金融高等專科學校,吉林 長春 130000)
遠程教學平臺APP客戶端主要開發模式分析
林 洋 范秀文
(吉林廣播電視大學,吉林 長春 130022;長春金融高等專科學校,吉林 長春 130000)
本文列舉了常見了APP開發模式,討論各種模式的開發特性,從實際情況出發,探討遠程教學平臺的建議開發模式,提出一些問題并給出解決建議。
教學平臺;原生開發;混合開發;HTML5
移動平臺智能系統的高速發展掀起了人類日常工作與生活方式的巨大革新,十年前的人很難想象,今天我們已經可以通過手機、平板等微型移動設備在任何時間、任何地點接入互聯網并獲取信息,教學平臺應用移動化,也是當今高校十分重視的發展趨向。在業務移動化發展的趨勢指引下,許多高校希望針對在線運行的各種業務推出移動平臺的可用版本——APP,即移動客戶端(mobile application)的通用簡稱。
目前APP開發模式主要有三種,分別為原生開發(Native application development)、跨平臺開發(web APP)和混合開發(Hybrid application development)。
1、原生開發
原生開發即APP的傳統開發模式,當前移動智能系統平臺的主要類型包括:
1)谷歌開發的ANDROID平臺,從1.0版本發布開始不斷更新,目前最新版本為5.1 Lollipop(棒棒糖,用食物命名是安卓的一貫傳統),主要支持開發代碼為JAVA語言的分支語系,一般為JAVA SE。
2)蘋果公司開發的IOS移動平臺,與MAC OS X類似,基于類UNIX商業操作系統,最早于2007年1月9日在Macworld大會上公布,2010年WWDC大會上正式更名為IOS,目前主流版本為8.4以及正在推出的版本9,主要應用于蘋果自己的品牌設備商,包括到iPod touch、iPad以及Apple TV等產品,作為扁平化操作的推出者和發揚者,IOS一直引領著智能移動平臺的設計和研發方向。主要支持開發代碼為Objective-C。
3)微軟公司的Windows phone平臺,基于windows CE內核,于2010年10月推出,目前主要版本為windows phone 8.1,正在完善windows 10移動版。
考慮到windows與其他移動智能系統市場占有率較小,本文討論范圍限于安卓和IOS系統。
2、WEB開發
原生開發仍舊是迄今為止主要APP開發模式,但考慮到不同平臺都需要獨立開發APP,因此一些跨平臺的WEB開發模式正在興起,代表性代碼體系為HTML5。HTML5應用程序基于標準web開發技術,通常為html5+JavaScript+CSS3組合使用,它們對移動平臺的代碼解釋專門做出優化以提升展示效果,這種只需要編寫一次即可到處運行的移動開發方式可以建構跨越平臺的應用程序,無論是IOS、Android還是windows phone,都能對相應程序進行解析。
3、混合開發模式
混合開發是介于前兩種開發模式之間的APP開發模式,視覺體驗方面類似原生開發APP,但這只限于UI WebView部分,內部功能及內核仍舊為web app,如早期版本的百度APP和淘寶APP,即實行混合開發路線。
在滿足功能要求前提下,原生應用程序提供APP的最佳性能和最佳體驗,有一些功能必須通過原生應用程序才能體現:多點觸控;快速圖形API;流暢動畫;內置設備和部件(攝像頭、GPS、加密存儲等)。作為代價,原生APP要求開發團隊專門針對各種智能平臺和各種移動設備執行專門的代碼開發和屏幕分辨率適配,所有開發人員需要顧及平臺陣營、平臺版本、設備規格、屏幕尺寸等等要求,事實上僅就Android而言,非常多的設備類型已經讓很多開發者不堪重負。如非常著名的淘寶APP,即同時存在Android、IOS、windows phone等多個版本,并維持專門的技術團隊對每個版本維持技術更新。而原生APP初始開發完畢,還需要接受APP商店的程序審核,如果發現不合規程的API或不符合標準規范,則需要退回修改。
相對于原生開發,WEB開發方式不受智能平臺限制,可實現一次開發、多次部署的項目要求,可同時為多平臺終端生成可直接使用的APP客戶端程序,極大降低了開發工作量。作為提高開發便利的代價,WEB開發方式無法充分調用設備底層硬件資源,且執行效率尚不完善,隨著HTML5代碼技術與標準的演進,其執行效率和視覺體驗有望得到繼續提高。
按照網頁語言與程序語言的混合方式,混合開發可分為三種類型:多view混合型、單view混合型和web主體型。混合開發同時使用WEB語言和本地原生系統開發語言,其總體特性更接近原生開發方式,但具備相當的開發靈活性和較小的開發消耗。如果能夠解決用戶的體驗問題,則WEB開發類型為最佳的混合開發模式。
遠程教學平臺主要用戶為教師、遠端學生和管理者,平臺主要活動為在線教學、學習、測試、信息交流、教務信息管理以及平臺管理;較少或不需要調用系統底層硬件功能,例如GPS、攝像頭等功能并非必要組件。由此可見,教學平臺功能更傾向于WEB體驗,就上述各種開發模式而言,WEB開發方式更適合平臺APP端的首次開發,技術力量足夠時,混合模式適合為平臺APP開發完整功能模式。下表列出了面向教學平臺各種開發方式的優勢對比:(表附后)
原生開發需要較多開發人員維持開發進度,通常而言開發團隊會采取WEB開發或混合開發方式,這需要解決很多問題。
1、加強性能和兼容性
混合開發模式中存在不同技術路線代碼,容易出現代碼兼容性問題和設備兼容性故障,因此需要謹慎考慮使用功能性代碼,應在保障基本功能的前提下應用增強體驗效果的各種插件,例如頁面動態切換,蘋果設備具備的硬件加速器在Android中可能無法使用,因此必須應在安卓設備中嘗試隱藏無法執行的特殊效果。

表1平臺APP開發模式特性評估
2、預備功能的替代解決方案
盡管各類開發方案自己會推薦很多功能插件,如HTML5中的websocket,但它們未必在開發中確實發揮作用,開發團隊應當對此有所準備,并在必要時采取替代措施,以防止開發進度停滯,如websocket可以用XML的HTTPRequest方式替代。
混合開發模式生成的APP多存在效率低下問題,啟動和響應較慢,因此應對代碼采取優化措施,如精簡DOM結構,減少類庫種類,壓縮代碼和樣式效果文件,減少啟動代碼消耗等等。
無論采用何種開發方式,APP本身作為教學平臺功能的移動端延伸,應始終以平臺功能和實際需求為指導,認真審視和選擇開發路線,確定開發代碼框架,才能進一步展開APP具體設計,并最終實現所有功能。
[1]開發移動應用程序的三種選擇:原生、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]劉歡.張增修.馬晨輝華東師范大學:混合開發移動應用[J]-中國教育網絡2013(7)
TP393
B
1008-7508(2015)12-0020-02
本文系吉林省教育科學“十二五”規劃課題《基于移動終端的遠程教學平臺建設研究》(課題號:GH150804)階段性研究成果。課題負責人:魏新宇。
2015-09-11
林洋(1980-),山東牟平人,吉林廣播電視大學遠程教育技術中心講師,教育學碩士,主要研究方向為:遠程教育網絡體系建設及移動學習。范秀文(1979-),女,吉林長春人,長春金融高等專科學校講師。