您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
 

移动端开发(mobile phone development)

手机开发也称为移动开发,或叫做移动化开发。是指以手机、PDA、UMPC等便携终端为基础,进行相应的开发工作,由于这些随身设备基本都采用无线上网的方式,因此,业内也将手机开发称作为无线开发。



1
背景资料
6
开发模式的比对
2
手机应用
7
MKey
3
开发难题
8
开发平台
4
解决方法
9
开发趋势
5
特点
10
开发趋势

 

 
1
背景资料

3G时代的到来,使得手机应用日渐热门,由于手机携带方便,并且是生活必带随身用品,而且信号覆盖广,操作便捷,使得人们对其给予了越来越高的期望。大家期待各种常见的或是重要的信息化系统、互联网应用可以被移植到手机上同步使用,使用户无论在何时何地,都可以连线精彩的网络世界,登录信息系统。为此,如何进行手机开发,如何在手机上催生各种多姿多彩的精彩应用,日渐成为整个ICT产业关注的焦点。

 

 
2
手机应用

由于整个市场还处于发轫阶段,目前大众对于手机应用了解并不很多,但其实在这个市场早已是暗流涌动,春潮泛滥,各种各样有趣的应用层出不穷,新奇创意不断,大量原来PC和互联网上的信息化应用、互联网应用均已出现在手机平台上,一些前所未见的新奇应用也开始出现,并日渐增多。下文将介绍一些目前市场上较为流行的精彩应用。

 

 
3
开发难题

1、 手机操作系统很多:Android,Mac OS,Symbian S60, UIQ, Windows Mobile, Linux, Brew、 Blackberry……,要想克服不同手机平台的差异,实现应用的统一覆盖异常困难;

2、手机开发很难:开发人员稀缺,成本太高,进度太慢,无线网络太复杂,门槛障碍太多……;

3、软件或互联网公司如果为了实现移动应用,而把精力投入到并非自己所长的领域,无疑将会得不偿失。

4、行业需要专业的角色,来解决开发应用过程中的各种难题,将复杂难题封装简单,把各种异构封装透明,降低大家进入这个市场的门槛。

 

 
4
解决方法

经过全行业长达多年的不断探索,业界主张将MKey无线中间件作为标准化的无线开发平台,进行手机开发和手机应用。利用MKey无线中间件进行手机开发,不仅能够解决上述的各方面开发难题,而且在成本控制、开发周期、开发难度等方面,均是目前最为出色的实现方法,整体开发技术水平相较国外无线开发而言,也显得十分突出。

MKey无线中间件屏蔽了各种硬件平台、操作系统、无线网络和数据源的差异,将所有技术难点进行了统一封装,可帮开发者快速、低成本实现移动化开发应用。

 

 
5
特点

MKey无线中间件的特点:

开发1次,全终端适用;

2周完成一个项目的开发;

开发费用节省70%;

开发周期缩短80%。

 

 
6
开发模式的比对

1、没有MKey的移动开发

手工作坊模式,所有技术从头到尾研究,“自己种棉自己织布”

实施一个普通的移动OA项目,需要耗费5-10人/月

会手机开发的人才稀少,人员成本高昂

多终端覆盖难以实现,综合成本十分巨大

一年实施十几个无线项目已是极限

技术不成熟、不可控因素多,项目风险高,一旦失败损失巨大

2、利用MKey进行移动开发

工业流水线模式,使用专业工具,快速批量“织布”

实施一个普通的移动OA项目,只需0.5-1人/月

只需了解Web开发,经过几天培训就能上手使用MKey,人才资源丰富、成本小

只需编写一次程序,就能生成适用不同平台的多个安装包,全终端覆盖

一年实施几百个项目轻而易举

成熟工具、成熟应用,项目实施高度可控,无任何后顾之忧

 

 
7
MKey

1、企业应用

CMMB移动电视增值平台

移动(无线)电子政务平台

移动电子商务平台

移动OA

移动IM

移动CRM

移动ERP

手机业务助理

移动维保

移动物流

移动保险

移动采编

移动进销存

移动直销管理

移动分销管理

移动电子商务

移动执法

移动税务

移动统计

移动警务

移动城管

移动工商

……

 

2、个人应用

手机搜索

手机浏览器

手机证券

手机自助服务系统

手机银行

手机社区

手机邮件

……

 

 
8
开发平台

有三大平台:Symbian、WindowsMobile(以下简称Windows)、Linux。Palm已经完全出局了,不需要再考虑。另外还有两大阵营:J2ME阵营(跨多种操作系统,包括Windows)和ASPCF阵营(只能运行在Windows上,以下简称ASP)。

这些平台上的开发语言包括:

1.Symbian:C++、Java、Python

2.Windows:C#、C++、VB、Java

3.Linux:C++、Java...

4.J2ME阵营:Java

5.ASP阵营:C#

 

 
9
开发趋势

J2ME相比.NET来说,优势主要在游戏开发方面,但是.NET有着更加广泛的用途。在MIDP2.0中,核心部分所加入的主要是对于3D图形、多媒体、GameAPI的支持,用来支持游戏的开发。因为在制定MIDP2.0规范时时间有限,所以将其他很多重要的功能都放入了可选包中,而不是作为MIDP2.0的核心内容。因此尽管很多手机都声称支持MIDP2.0,但是可能没有安装某个可选包,使得使用了这个可选包的软件在这款手机上无法运行。例如,假如没有安装PDA可选包,就无法访问手机的本地文件系统、无法读取通信录、无法读取信箱中保存的短信。而这些功能是开发个人信息备份/恢复软件所必需的。不过这种情况会随着时间的推移而逐渐好转,新推出的智能手机中都包括了越来越多的可选包,Nokia、Motorola、索爱等大厂商对于J2ME的支持力度是非常大的。除了可选包未安装这个限制之外,J2ME应用运行在严格的沙箱之中,要开发使用除系统内存、显示、声音控制之外的其他资源(例如,本地文件系统、通信录、信箱),所开发的应用必需经过签名,这个开发过程相当的繁琐。

正是因为大多数Symbian手机上J2ME版本太老,功能非常有限,所以除非开发游戏类应用,大多数Symbian开发者都选择使用C++做开发,因为C++可以访问系统所有的资源。然而,SymbianC++尽管有很多优点,但是对于开发者却是很不友好的,学习门槛相当高(一大堆的清规戒律,好像是鲁提辖上了五台山),从面向对象设计的角度来看问题也很多(与MFC类似,也许有人认为面向对象在手机开发中并不是很重要)。没有半年时间想成为SymbianC++的高手相当困难,这个巨大的sinklost需要经过慎重的权衡。

在Symbian上使用Python做开发的人还很少,优缺点还不大清楚。

顺便说一下,Nokia今年上半年推出了开发工具Carbide,针对SymbianC++和J2ME分成两个版本,这两个版本都是基于Eclipse的。

在Windows上也可以做J2ME开发,如果手机安装了MIDP2.0的支持就可以直接使用,如果没有安装,需要开发者另外安装。Windows上比较好用的是IBM的J9VM,但是J9VM仅包括MIDP2.0的核心部分,而不包括大量的可选包。如果你只是开发游戏,那应该是够用了。

不过Windows开发者首选的还是C#,C#开发效率大大高于C++,性能也很不错。相比Java来说,可以更加容易地访问所需要的资源,因此开发效率也更高。Windows上前几年使用的EmbedVC++、EmbedVB两个工具已经退居二线。

Linux上可以使用C++和Java做开发,笔者对于在Linux上如何做开发没有任何经验,在此略过。

综上所述,在手机开发中占据统治地位的是三大语言:C++、Java与C#。

J2ME与.NET两大平台相比,J2ME在游戏开发方面有优势,而.NET在游戏以外其他领域的开发(例如:移动企业应用)更有优势。但是由于J2ME得到了手机一线大厂的力捧,因此前途不可限量。销售Windows智能手机的厂商主要还是一些新兴的排名稍靠后的厂商(联想、多普达、夏新...)。

移动智能应用比较发达的国家是日本和美国。在日本是以游戏类应用为主,在美国是以移动企业应用为主。中国将来走的道路,大概会与日本相同。因此在3G上马后,J2ME应用在国内的爆发是可以预期的。

 

   
次浏览       
 
相关文章

手机软件测试用例设计实践
手机客户端UI测试分析
iPhone消息推送机制实现与探讨
Android手机开发(一)
 
相关文档

Android_UI官方设计教程
手机开发平台介绍
android拍照及上传功能
Android讲义智能手机开发
相关课程

Android高级移动应用程序
Android系统开发
Android应用开发
手机软件测试
最新课程计划
信息架构建模(基于UML+EA)3-21[北京]
软件架构设计师 3-21[北京]
图数据库与知识图谱 3-25[北京]
业务架构设计 4-11[北京]
SysML和EA系统设计与建模 4-22[北京]
DoDAF规范、模型与实例 5-23[北京]

android人机界面指南
Android手机开发(一)
Android手机开发(二)
Android手机开发(三)
Android手机开发(四)
iPhone消息推送机制实现探讨
手机软件测试用例设计实践
手机客户端UI测试分析
手机软件自动化测试研究报告
更多...   


Android高级移动应用程序
Android应用开发
Android系统开发
手机软件测试
嵌入式软件测试
Android软、硬、云整合


领先IT公司 android开发平台最佳实践
北京 Android开发技术进阶
某新能源领域企业 Android开发技术
某航天公司 Android、IOS应用软件开发
阿尔卡特 Linux内核驱动
艾默生 嵌入式软件架构设计
西门子 嵌入式架构设计
更多...