北京中电飞华通信有限公司 冀永欢
本文主要介绍了移动应用开发现状,阐述了四个移动应用平台和开发模式,分析了移动应用开发技术的有效应用,探讨了移动应用开发的前景,以加强对移动应用开发的研究,充分发挥现代科学技术的作用,利用现代工具来为移动应用开发人员,提供更多的技术选项。移动应用开发产业的发展,需予以高度重视,不容忽视,需从各方面来加以研究和探讨,从而优化移动应用开发产品,推动移动应用开发行业的可持续发展。
21世纪是一个信息化时代,计算机信息技术被广泛应用于各个领域中,移动应用开发行业应运而生,取得了不错的发展状况,具有一定的发展前景。移动应用开发,指的是通过手机、PDA、UMPC等便携终端来实施科学的开发工作,基于这类随身设备进行无线上网。早期的移动应用开发涵盖了Java设备、塞班设备,当下则主要以安卓设备、苹果设备等移动应用开发为主。移动应用的形成,能够拓展移动设备的功能,使之除却自带功能之外,还能够安装应用程序,启动游戏程序,有利于为人们解决个人智能终端,推动移动应用开发行业的大力发展。
在当前的移动应用开发过程中,选择开发平台的时候主要参考市场占有率。开发人员十分重视自己所开发应用的市场盈利能力。目前大部分的开发人员都不会只局限于一个平台中。安卓系统成为最受全球移动应用开发人员喜欢的平台,根据调查发现至少由百分之六十的开发人员开发过安卓系统中的应用,其次最喜欢的则是IOS系统,紧接着是Symbian、Java ME。现如今,平台的终端数量和应用数量并未形成正相关[1]。
无论是Phone操作系统,还是Palm操作系统,其都可以运用于手持设备的开发中。目前,四个移动应用平台主要是以下几种:
(1)Java ME平台。这一平台的此子集,提供了Java API集合,并且该集合经过了认证。其主要运用于开发手机、机顶盒等资源方面有一定限制的设备软件。Java ME主要运行于内核虚拟机上,相较于J2SE和J2EE、Java ME的运行环境更具多样性。Java ME的架构分为Configuration、Profile和Optional Packages,其能够尽量满足于不同情况、方面下的需求,具有一定的兼容性。其中Configuration是从纵向上来对设备进行分类,根据其储存能力、处理能力,来定义虚拟机的基本类库,已经标准化的Configuration有Connected Limited Device Configuration(CLDC)和Connected Device Configuration(CDC);基于Configuration、Profile构成了完整的运行环境,其主要是从横向上来对设备进行分类,基于特定领域来细化目标市场,内容主要包括了两方面,一方面是特定用途的类库,另一方面是API。CLDC上已经标准化的Profile有Mobile Information Device Profile (MIDP)和Information Module Profile(IMP),而CDC上标准化的Profile有Foundation Profile(FP)、Personal Basis Profile(PBP)和Personal Profile(PP)[2];Optional Packages则独立于前两者,其能够提供附加的多样化功能,实现模块化。主要包括了蓝牙访问、数据库访问和多媒体应用等内容。
(2)NET CF平台。其是一种独立的硬件环境,在资源受限制的计算设备上运行程序。常用NET CF开发的移动设备主要有三种,一种是个人数据助理,一种是移动电话,另一种是安装有Microsoft Windows CE.NET操作系统的自定义设计的嵌入设备,比如说机顶盒、手持机等。在设备内存中,NET CF预加载了公共语言运行时引擎,有利于部署移动应用程序,而且也提供雷影的互操作性,能够直接于移动应用程序中集成本机组件。
(3)Adobe Flash Lite平台。Adobe Flash Lite主要是应用于多媒体、游戏变成平台的专有技术,能够为供应商提供丰富的内容,于移动设备中科学部署交互式界面。Adobe Flash Lite的应用程序包含了SWF图形、GUI描述、动画格式储存。其能够让移动设备完美支持Flash播放器,支持流行的FLV格式。
(4)安卓系统。安卓系统由谷歌于2007年推出,其是一种基于Linux内核的自由、开放源代码的操作系统,但其不包含GNU组件。
四种应用平台的比较分析如表1所示 。
表1 四种移动应用开发平台的比较Tab.1 Comparison of four mobile application development platforms
(1)移动应用开发模式是Native App。这一应用主要以本地操作系统运行为基础,是一种原生开发模式,分为两个部分,一部分是客户端,另一部分是服务器。可以直接将UI元素、数据、逻辑框架下载至本地。Native App的开发成本、维修成本相对来说较大,而且不同版本之间的体验效果有着一定的差异性。其优势在于能够通过审核,保证应用程序的质量和运行安全。在本地有缓存,可以减少流量的使用量,响应速度相对来说比较快。可充分利用设备硬件资源,如蓝牙、摄像头等。部分情况下支持离线,支持消息推送。其不足则在于下载安装之后,会占用本地的空间,在一定程度上影响了设备运行速度。而且和操作系统绑定,开发维修成本有所增加。多层审核可能会导致不同版本上线时间的不统一。新版本用户要下载升级,如若不更新则会影响程序的应用。这种移动应用开发模式,主要适用于一些大型游戏,或是各种工具类应用中[3]。
(2)移动应用开发模式是Web App。这是一种Web技术编程,以HTML、CSS和JS为基础,是在浏览器中运行的移动应用,属于网页开发模式,服务器提供数据,能够实现数据的实时交互,但其在响应能力方面不如Native APP。Web App的优势在于其不需要下载安装便可以应用,用户使用的永远都是最新版本,而且能够跨平台应用,在开发成本方面比较低,开发周期也较短。无需上线审核,不同Web App之间可通过链接进行挑战。HTML5可减少浏览器插件的使用;其不足之处则在于只可通过HTML5、JS提供的API来实现部分功能的应用,对网络环境的要求比较高,需要较大的流量,过于依赖浏览器,无需审核,虽然带来了便捷,但也威胁到了安全性。这种移动应用开发模式,主要运用于一些需要进行实时更新的应用中。
(3)移动应用开发模式是Hybrid App。其结合了前两者开发模式的优点,主要有两种开发形式,一种是基于原声技术的混合架构,可解决运行效率低的问题,另一种是基于Web技术的混合架构。可利用PhoneGap来快速打包Web网站,能够继承Web App的响应速度。这种开发模式的优势在于可跨平台,进行实时更新,所需要的开发时间并不长,而且成本相对来说比较低。有着不错的用户体验,响应速度比较快,能够调用硬件设备API;其不足则在于用户体验不如原声,开发成本多余Web App这种开发模式。Hybrid App适用于大部分的移动应用,电商、餐饮等领域中是首选。
(4)移动应用开发模式是小程序。其无需下载安装,也不占用桌面内存,主要分为两个部分,一部分是客户端,这部分的作用在于提供框架、组件、API;另一部分是服务端数据,这部分主要是提供API。
在探讨移动应用开发技术的有效应用时,可从几点方面着手:(1)主流移动应用开发技术。从市场角度来看,目前市场上占主导地位的是安卓平台和IOS平台。IOS平台的特点在于其有着良好的程序开发环境,模拟器几乎可以模拟大部分的功能,只有部分需要在真机上进行调试。而且IOS系统具有一致性,只运行于苹果设备中,而且在这些设备中操作系统版本基本保持一致。该系统有着不错的用户交互体验;从技术角度来看。需要对不同平台的开发需求、用户体验进行全面分析。比如说,IOS系统使用的是Object-C,实际运行中其所处环境是Xcode,只能于MAC上进行开发,内部语言为英语,这要求开发人员有着扎实的英语基础,还需要足够的响应工具包;而安卓系统的开发则更贴近于大众,其市场占有率最大,开发这一平台的移动应用时,可同时于MAC、PC等操作系统中进行开发,而且开发语言、开发环境的要求相对来说更为简单[4];(2)Web开发技术。这一技术的应用,可在不同分辨率下取得较好的现实效果,能够通过框架来模拟开发形式,有着不错的跨平台性,但Web的应用率不算高;(3)混合开发技术。主要分为View混合型技术、Web主体型、单View混合型。
就目前而言,在实践过程中,设备会随着许多轴的变化而发生变化,这就使得所编写的移动应用程序,绝不会只能够运行于单一版本的设备上。碎片化的增加,加大了软件生命周期中的生产工作量,在一定程度上加大了生产成本,而且也延长了移动应用程序的上市时间,目标市场范围相对来说较小一些。这有利于规范可选API,实现标准化,能够通过API验证计划、技术兼容性套件来实施标准化执行。平台供应商、设备制造商、运营商,作为移动应用程度行业的主要参与方,其应当在现阶段的碎片化环境下,奋起抵抗,发挥自身作用。
如今,移动服务体系结构,逐步成为一种行业标准,旨在降低碎片化程度,给移动应用开发人员提供Java ME平台。不仅要使用指定的兼容设备,含有JSR组件,还需要表明整个行为要求,以此来促进JSR可预测性的提升,使之具备良好的相互操作能力。MSA定义了16个JSR的完整堆栈和8个JSR子集。从JSR 248到249,开发人员发现了符合移动服务体系结构要求的应用程序,有关于OME的内容还需要进一步研究和观察[5]。
Windows系统的笔记本电脑只要存在,就会给移动应用开发人员奠定扎实的基础。NET CF是一个具有丰富功能的平台,所编程、访问的应用,能够和Windows兼容,也可应用智能手机的本机组件。但要注意的是这一系统虽然能够移植于电话操作系统中,但是整体上较为麻烦,效果过于复杂,难以增加其市场份额,还需要做好平台适配工作,于操作系统和CLR之间创建接口。
总而言之,随着现代科学技术的日新月异,为了满足人们的移动应用需求,应当重视对移动应用开发的研究,需基于当前的实际情况,来不断地优化开发模式,选择适宜的开发平台,有效应用先进的科学技术,丰富应用程序设计,从而促进移动应用开发行业的可持续发展。