林 洋 范秀文
(吉林广播电视大学,吉林 长春 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-),女,吉林长春人,长春金融高等专科学校讲师。