APP下载

多终端多平台开发方式分析与设计

2014-03-28张忠山林茂松姬亚利

中国教育信息化·高教职教 2014年1期
关键词:移动应用跨平台

张忠山+林茂松+姬亚利

摘 要:近几年随着移动技术和互联网技术的迅速发展,移动应用程序出现在诸多领域,移动应用开发成为了一个关键问题。本文立足于移动开发技术的背景,从现有的移动应用开发现状,对比不同移动平台的开发技术,比较三种主要的移动应用开发方式,以中间件技术的开发模式,对移动应用程序上内容的实现进行了阐述,结合校园学习资源,以三种平台的智能手机和平板电脑两个终端的移动客户端为例,初步实现了一个简易校园移动学习应用的解决方案。

关键词:移动技术;移动开发;跨平台;移动应用

中图分类号:G40-057 文献标志码:A 文章编号:1673-8454(2014)01-0067-04

随着移动技术、移动通讯技术的发展,智能设备的普及以及移动技术给人们带来的巨大需求,人们对移动技术的关注也越来越多。Digitimes Research发布研究报告称:2013年全球平板电脑销售量将达到2.1亿台,智能手机销量也有望达到10亿部。因此,各大公司纷纷投入到了移动设备及技术的开发,苹果和谷歌2007年先后发布的IOS和Android系统现在已经在市场上占据了主流地位。智能化的移动设备给人们的生活和工作带来了极大的方便。[1]一些符合人们需求的移动应用也应用而生,各式各样的移动应用软件满足了人们在生活、工作和学习方面的需求。各个行业领域也开发相应的移动应用程序,使得开发者对移动应用程序的开发形式也日趋丰富。

在互联网高速发达的今天,移动设备已经是一个必不可少的与用户交互的接口。由于移动设备的易携带性、操作方便,使得人们越来越离不开移动设备。3G乃至4G网络的到来,信号覆盖广阔,人们通过移动设备接入互联网的数量已经超过了通过PC端接入互联网的数量,而这一速度只用了5年,超过了以往其他技术应用的发展速度。硬件的发展促进软件应用,在移动商店的应用数量也在以惊人的速度增长。各个公司企业都在开发符合自身的移动应用,在大学里面,就有上海交通大学和西南交通大学为网络教育研发的移动学习系统。团队和个人都通过开发一些具有特色功能的移动应用来获得收入。各个移动操作系统也迅速占领了市场,其中份额最大的有Android、Windows Phone 和 IOS通过不同的平台可以开发相应的应用程序。2012年11月数据显示:Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。截止至2011年11月,根据Canalys的数据显示:IOS已经占据了全球智能手机系统市场份额的30%,在美国的市场占有率为43%。Windows Phone在2013年第二季度出货量为890万台,Windows Phone已经拥有了6.5%的市场份额。[2]作为三个主流的移动操作系统占据了整个移动互联网的大部分市场。移动设备的低成本和高性能,已经成为未来人们必备可少的生活和学习用品。

一、主要的移动平台的开发模式

本文主要介绍的三种移动操作系统,是现在市场上常见的三种主流平台。[3]分别就不同的平台开发技术作一个简要的分析。

1.基于Android平台的移动应用开发

Android是基于Linux内核的软件平台和操作系统,是Google在2007年11月5日公布的移动系统平台。通过下载Android的SDK和下载Eclipse IDE for Java EE Developers,在Eclipse里面安装ADT插件,配置好相应的环节,就可以通过AVD管理自己的Android模拟器了。它采用软件堆层的架构,主要分为三部分,底层以Linux核心工作为基础,以Java作为编写程序的基本语言,开发者可在Eclipse开发相应的移动应用程序。

2.基于IOS平台的移动应用开发

IOS是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,可以通过下载并安装IOS SDK及开发工具X-CODE,在X-CODE里面通过C或者C++来编程。用户可以直接在Mac系统上设计或者是在Windows系统是通过虚拟机的方式来设计实现。

3.基于Windows Phone 8的移动应用开发

Windows Phone 8是微软公司2012年6月21日最新发布的一款移动操作系统,通过下载安装Visual Studio 2010 Express for Windows Phone Beta和Windows Phone SDK,利用C#语言来编程实现。

二、主要的移动应用开发方式

要为不同的平台和不同的终端开发不同的移动应用,有3种常见的开发方式。

1.基于Native App的开发方式

Native App是一种基于智能手机本地操作系统如IOS、Android、Windows Phone并使用原生程序编写运行的第三方应用程序。Native App位于平台层上方,兼容的能力较高,支持在线或离线,消息推送和本地资源访问。它可以给用户很好的体验,节约宽带成本,针对不同平台有不同体验,但是由于平台和终端较碎片化,开发成本要高很多,技术实现也比较高。

2.基于Web App的开发方式

Web App是指基于Web的系统和应用,一个站点就可以是Web App,它包括一些完整的网页信息处理应用。Web App 框架是一种简单网络应用程序框架,它提供一种简单的方式来开发应用程序,一般运行于网络和标准浏览器上,基于网页技术开发实现特定功能的应用,因此它的用户体验性很低。因为标准化问题和终端设备功能的支持程度,很难在短时间内找到确切的解决方案,所以Web App短期内将遇到发展瓶颈。

3.基于Hybrid App的开发方式

Hybrid App是指介于上述两者之间的App,表面像Native App,内部嵌入了UI Web View控件,里面访问的是一个Web App,在体验上像客户端。Hybrid App同时包括Native App良好用户交互体验的优势和Web App跨平台开发的优势。[4]总体特性更接近Native App,但它同时使用了程序设计语言和网页设计语言编码,系统架构时,本地框架内嵌入了网页,所以开发成本和难度相对要低。因此Hybrid App兼具了Native App的部分优势,也兼具了Web App使用HTML5跨平台开发低成本的优势。[4]表是三种应用开发的比较。endprint

三、基于中间件开发移动应用的方式

Hybrid App的兴起是现阶段移动互联网产业的一种偶然。移动互联网的发展,大部分公司需要开发相应的移动应用,但是没有相关的专业人才,而且几乎很少公司有能力专门成立跨平台的移动应用开发团队。HTML5技术的出现更是促进了移动互联网领域发展。纯粹的Web App在用户入口习惯、分发渠道和应用体验这三个核心问题暂时无法解决。因此Hybrid App迅速吸引了大量开发者。较低的成本和中难度的开发使得Hybrid App成为开发移动应用的常见选择。而Hybrid App的开发方式一般是基于中间件的基础上进行开发。

1.跨移动平台的中间件技术分析

国内外一些知名的中间件有jQuery Touch,它在Web App应用开发方面有较好的体验;[5]Titanium、AppMobi、Sencha Touch这三种中间件只支持Android和IOS平台,不能够开发Windows平台的应用; Rexsee只支持Android平台的开发;Appcan支持常见的4种操作系统,但是它的内部体系有一定的封闭性,不能够很好地实现一些功能;Phonegap支持包括Android、IOS、Windows Phone等7种系统,可以开发多种平台的应用,因此我们选用Phonegap中间件技术来开发移动应用。[6]

2.Phonegap中间件技术介绍

Phonegap支持调用系统的一些核心功能包括加速计、摄像头、罗盘、通讯录、文档、地理定位、媒体、网络、通知(警告、声音和振动)、存储,和Phonegap的一些特色功能的插件。[7]它具有较好的兼容性和标准化,可以使用各个平台的SDK,如Android的Android SDK,iPhone的iPhone SDK创建各自平台的框架,使用HTML,CSS和JavaScript创建合适的内容页面,然后利用PhoneGap中间件技术快速开发相应的移动应用程序。[8]如图1是利用中间件开发移动应用的模式。

四、利用PhoneGap开发移动应用的主要思路

PhoneGap是一个用基于HTML,CSS和JavaScript的创建移动跨平台移动应用程序的快速开发平台。它利用各个平台核心的功能和插件,可以快速为各个平台和各个终端编译好完整的程序。不同的平台支持的媒体格式和类型是不同的,因此我们从下面几种媒体类型来分别介绍一下它们的实现方式。[9]

1.文本类资源的实现方式

在大部分移动学习应用中,以文字为资源的媒体是最基本的呈现方式,文字呈现的主要问题是不同的终端有不同的屏幕尺寸,所以必须要实现文字呈现的自适应,才能给用户带来一个很好的视觉体验。对于文字的处理方式,主要是设计一个宽度及高度都是100%的JS框架页面,这样在嵌入到不同平台的时候,它的呈现就可以实现自适应。如图2和图3分别为文本类媒体在不同屏幕上的显示结果。

手机上的文字大小,一般使用宋体和六号字大小。文本颜色一般情况下采用黑色。页面可以用滚动的方式来加载,滚动超过三屏以上的文字内容,要使用分页的方式,使文本类的资源呈现方式可以有一个好的视觉效果。

2.图片类资源的实现方式

和文本类资源有相同重要性的媒体类型还有图片格式,不同的图片有不同的分辨率,因此一张图片的最大显示效果不会和某一个终端的屏幕大小相匹配,但如果将图片的显示强制在一屏之内,有些图片可能会看不清楚。所以我们对图片的处理方式为使用缩略图的显示方式,在首显示位置,把图片以一种合适的尺寸显示出来,如果用户有需要,他可以双击图片,那么图片就可以以原先的分辨率来显示,通过手指滑动屏幕,可以清楚的看到图片的细节。这样既不会影响观看图片传递的信息,也不会破坏图片在整个屏幕的显示效果。

3.视频类资源的实现方式

随着网络技术的发展,现在通过移动终端在线观看视频也成为了一种新的学习方式。通过移动终端显示视频类资源也是要解决的一种方式,首先是视频资源在屏幕中呈现方式,开始可以使用视频的画面截图,用图片缩略图来显示视频链接,如果用户有需要,他可以点击该缩略图,那么可以调用系统自带的媒体播放器来播放该视频。但是这样会影响用户化验,所以我们可以采用HTML5技术,在页面内直接通过嵌入JS来实现视频类媒体的播放,可以实现播放、暂停、终止、全屏、旋转、音量控制等功能,它可以直接播放Mp4,flv等一些常见的视频格式,Android、IOS、Windows Phone 8三个平台也支持HTML5标准,因此可以使用这种显示方式。[10]图4是视频类资源的呈现方式。

4.音频类资源的实现方式

音频类资源也是一种常见的媒体格式,但在移动终端它似乎不是一种必须的学习资源,但是我们仍然把它作为一种要呈现的资源考虑进去。我们实现音频类资源的呈现方式和实现视频类资源的实现方式一样,都是通过HTML5技术来嵌入JS编写的媒体播放器,用户可以直接在它上面点击播放、暂停和终止功能。如图5是音频类资源的呈现方式。

5.动画类资源的实现方式

我们通过所说的动画类媒体一般是指Flash格式的资源,Flash类的媒体也可以直接嵌入到程序页面,但是唯一不足的是苹果公司的移动终端不支持Flash格式,所以我们在使用动画的的时候要设计两个不同的页面,专门为iPhone,iPad设计的页面要避免使用Flash媒体,否则会显示不出来。在最终编译的时候要把不包含Flash资源类型的页面嵌入到iPhone和iPad终端中。

6.网页类资源的实现方式

在移动终端中,用户可以直接有效使用的媒体因为版权问题可能会比较少,这时候我们可以直接链接其他公开的学习资源页面,通过百度转码的方式,把其他网络上的网页类媒体引入到我们的学习平台。它的主要实现方式就是在其他PC网页资源的链接前面加上http://gate.baidu.com/这一行代码,可以实现PC端转换到移动终端,但是效果并不是很好,所以我们尽量不使用PC端上的学习资源。

五、结论

随着技术的发展和更新,移动应用必将深入到各个领域,因此人们对移动程序开发的研究也会投入更多的精力,越来越多的研究使得移动程序的开发方式丰富化、简单化和智能化,为开发出更多符合人们需求的移动应用软件打下良好的基础。?筅

参考文献:

[1]梁敬坤.移动学习系统IPAD终端的设计与开发[D].广州:华南理工大学,2012,06,03.

[2]陈晔.平板电脑市场状况及未来发展趋势[J].经济视角,2012(1):94.

[3]李云飞,王加俊,谢伟凯,申瑞民等.移动学习系统及其相关学习模式[J].开放教育研究,2012.2,18(1):152.

[4]hybrid app百度百科[EB/OL].http://baike.baidu.com/view/8488720.htm.

[5]杨若男.基于用户体验的智能手机交互设计研究[D].长沙:湖南大学,2007,05,07.

[6]王琴,王军.基于智能手机的移动学习系统关键技术研究[J].计算机技术与发展,2013,07,24.

[7]phonegap环境搭建[EB/OL].http://phonegap.com/.

[8]陆钢,朱培军,李慧云,文锦军.智能终端跨平台应用开发技术研究[J].电信科学, 2012(5):14.

[9]方海光,王红云,黄荣怀.移动学习的系统环境路线图[J].现代教育技术,2011.1(21):14.

[10]任捷怡.基于移动终端设备的移动学习系统研究与实现[D].成都:西南交通大学,2012,05,28.

[11]黄荣怀,Jyri Salomaa.移动学习——理论?现状?趋势[M].北京:科学出版社, 2008:5.

(编辑:杨馥红)endprint

猜你喜欢

移动应用跨平台
跨层级网络、跨架构、跨平台的数据共享交换关键技术研究与系统建设
一款游戏怎么挣到全平台的钱?
跨平台APEX接口组件的设计与实现
T学校公共设施便捷报修平台的移动应用研究
基于QT的跨平台输电铁塔监控终端软件设计与实现
基于OPC跨平台通信的电机监测与诊断系统
基于B/S的跨平台用户界面可配置算法研究