移动应用发展现状_移动应用开发平台:现状和趋势

移动应用发展现状

本文首次出现在IEEE Software杂志上,由InfoQ和IEEE Computer Society提供。

移动设备已稳步获得多媒体平台的认可。 当前的工具为应用程序开发人员提供了使用各种技术(例如Java,Open C,Python,Flash Lite,XHTML / CSS,JavaScript和Mobile Ajax)的选项,以实现功能强大的移动应用程序。 内容开发人员可以使用音频,视频,多媒体消息传递和Flash来创建丰富而引人注目的移动内容。 尽管开发平台的选择主要取决于市场,但它也取决于可用平台的特性和特定应用程序的要求。 为了阐明当前开发平台的状态和趋势,我们针对各种定量和定性标准重新审视并比较了四种流行的移动应用程序运行时环境。 我们根据早期研究[1]的数据 ,技术规格,白皮书以及对32位移动应用程序开发人员进行了非正式调查的结果,进行了比较,这些经验涉及我们使用平台审查过的平台。 最重要的是,我们开发了一个简单的游戏应用程序,并在所有四个平台上实现了该应用程序,以突出四个平台的主要特征以及相对优缺点的案例研究。 我们描述了这种比较的一般结果以及游戏应用程序开发的细节。 我们将所有来源的结果汇总在表格中,并以评估不同平台对于关键应用程序-开发需求的适当程度作为结论。

四个移动应用平台

可用于手持设备的开发平台很多,包括诸如Symbian,OpenC,iPhone和Palm操作系统之类的本地环境。 Web运行时,例如小部件; 以及运行时环境(例如Python,Lazarus,Brew)以及我们在此处介绍的四个环境(Java Mobile Edition(ME)、. NET Compact Framework(CF),Flash Lite和Android),它们目前拥有最大的开发人员和部署基础。 图1总结了这四个平台的软件堆栈。

图1.用于已审查的移动应用程序开发平台的软件堆栈。 操作系统,运行时,应用程序框架和开发语言的比较。

Java ME

Java平台的此子集提供了经过认证的Java API集合,用于为资源受限的设备(例如手机,PDA和机顶盒)开发软件。

特征

Java ME在基于内核的虚拟机(KVM)之上运行,该虚拟机允许合理但不是完整的访问底层设备的功能。 Java ME通过配置和配置文件支持跨平台开发:

  • 配置定义了水平设备系列(即具有类似处理和内存限制,用户界面要求和连接功能的设备)的最低Java VM功能和库集。
  • 配置文件包括专门针对特定设备类的独特特征的库。

当前,所有支持Java ME的移动设备都支持以下配置和配置文件规范:

  • Connected Limited Device Configuration (CLDC),一种针对资源受限设备的Java ME应用程序框架。 CLDC包含移动应用程序开发所需的Java类库的严格子集。
  • 移动信息设备配置文件 (MIDP),一种在嵌入式设备(例如手机和PDA)上使用Java的规范。 MIDP是Java ME平台的一部分,位于CLDC之上。

通过CLDC / MIDP开发的Java应用程序称为MIDlet,通常打包在Java归档(JAR)文件中。

Java ME被设计为跨平台的,因此规范和实现是两个独立的过程。 Java社区过程(JCP)是指一种规范的规范过程,它使感兴趣的各方可以参与定义Java平台版本。 JCP使用Java规范请求(JSR)来记录对Java平台提出的新增建议。 移动解决方案提供商委员会将新的Java ME标准API指定为最终的JSR,其中包括该技术的参考实现的源代码。 然后,供应商可以自由开发自己的实现。

评论

就其安装和开发人员而言,Java ME是主要的移动软件平台。 但是,Java语言的“编写一次,随处运行”公理不适用于Java ME [2] 。 开发人员必须提供略有不同的应用程序版本,以解决跨各种设备功能以及配置文件,配置和API的选择的JSR集和实现中的变化。 对于给定的标题,此要求通常会导致数十个可执行文件-这种现象称为设备碎片 ,这在产品的整个生命周期中会大大增加运营成本。 碎片限制了Java ME应用程序可以访问的设备,并表明它更适合于以具有类似功能和Java API支持的设备为目标的垂直应用程序。

但是,通过针对各个操作系统,使用Java ME的开发人员可以访问大量定义良好且成熟的JSR。 例如,面向Symbian平台的Java应用程序可以覆盖全球约70%的智能手机。 80多个JSR为MIDlet开发人员提供了一系列丰富的附加技术,尽管MIDlet编程并不简单,并且需要认真的Java开发技能。

在Symbian平台上扩展MIDP 2.0的常用JSR包括蓝牙API(JSR 82),无线消息API(JSR 205)和移动3D图形API(JSR 184)。

.NET CF

.NET CF是为Windows Mobile上的应用程序设计的,是Microsoft完整.NET平台的子集[3] 。.NET CF在设备的内存中预加载了公共语言运行时(CLR)引擎,以方便移动应用程序的部署。 CLR提供了与基础设备操作系统的互操作性,从而允许将本机组件集成到移动应用程序中。

特征

原则上,.NET CF运行时类似于Java虚拟机(JVM)。 .NET开发人员无需编写用于底层操作系统的本机代码,而是编写针对托管执行环境的托管代码。 Microsoft最初设计和开发了支持多种语言和操作系统的.NET平台,旨在扩大开发人员基础并重用现有库。 但是,.NET CF开发工具Visual Studio(VS.NET)当前仅支持两种主要的.NET语言:C#和Visual Basic(VB.NET)。 此外,它将操作系统支持限制为Windows平台,而Windows平台仅代表当今移动设备产品的一小部分。

核心组件是整个.NET框架的子集-大约占其类和功能的30%。 .NET和.NET CF中都存在一些类,但是.NET CF版本不一定支持所有完整版本的类成员(属性,方法或事件)。 许多类根本没有实现,而其他类仅部分实现。 独特的.NET CF类解决特定于设备的扩展和第三方扩展。

.NET CF用户界面设计基于.NET Windows窗体的丰富子集。

评论

.NET CF在提供托管运行时环境,丰富的库和可重用的组件(高级用户界面组件,网络连接,数据管理,XML Web服务等)以及完整的熟悉的API

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值