移动应用繁华背后的隐忧
智能手机越来越普及使得移动应用开发成为一个越来越大的产业,然而,应用开发者不得不面临一个相当艰难的选择:到底是该为苹果的iPhone、Google的Android开发应用还是为Palm Pre、Symbian、黑莓等开发应用?
当然,如果你有时间也有足够的资源而且技术很全面,你可以分别为每种应用开发出不同的版本,如iPhone版、Android版等,或者利用Web技术开发一个通用的版本,但这样开发出来的应用一般不能充分发挥手机的性能。
开发平台选择之难
由于色彩绚丽、多媒体应用越来越丰富,使得智能手机迅速流行开来,这给开发人员打开了一个新的领域—移动应用。不过,摆在开发人员面前的挑战并不少,比如要掌握新的SDK(软件开发工具包),而更为困难的是手机操作系统种类繁多,而且缺乏统一的标准,这使得开发人员的选择异常困难,因为在某种手机操作系统上开发的应用很难简单地移植到其他操作系统平台上。
“现在的问题是移动设备的操作系统和运行平台种类各不相同。” Eclipse的移动工具项目负责人、摩托罗拉开发工具架构师Christian Kurzke说,“不同的设备有不同的开发框架和应用框架。”
即使运行同一种操作系统的手机,不同公司的手机上应用的开发方法也可能不同。“我在Android手机上做过试验,我发现在不同公司的Android手机上开发应用区别相当大。” iPhoneWebDev社区的创始人Christopher Allen说。
这种不统一还体现在同一厂商的手机上。例如,Verizon计划发布一个用来开发Windows Mobile和BlackBerry应用的SDK,这个SDK针对Verizon网络进行了专门优化,能改善使用Verizon网络的手机用户的个人体验。然而,对开发人员而言,意味着将来就要为不同的通信网络开发应用的不同版本。摩托罗拉也计划发布Android手机的SDK,其中有摩托罗拉特殊的运行库,虽然摩托罗拉声称也能用这个SDK开发非摩托罗拉手机上的应用。
另外,一些第三方发布的通用开发平台也让事情变得更加复杂。比如,虽然苹果发布了iPhone的SDK,但是开发人员也可以使用第三方的iPhone应用开发工具。同样,RIM有黑莓的SDK,但是除此之外,开发人员也可以使用第三方的开发工具。
HTML 5能改变什么
幸运的是,像HTML 5这样的Web技术也许能缓解上述问题。“HTML 5的确会给移动应用的开发带来福音,”维基百科基金的软件开发技术人员Hampton Catlin说,这个规范提供了很多新的功能,如用于图像显示的画布功能(Canvas)。
“不再需要用Objective C(iPhone用),也不需要用Java(Android用),从本质上说,你就是在手机上通过HTML 5下载一个非常复杂Web页面。”
Catlin说,WebKit浏览器引擎专门针对HTML 5提供了很多的支持,应用程序如果使用这个浏览器就能同时运行在iPhone、Palm Pre和Android上,而且开发人员仍然可以使用他们非常熟悉的技术,如CSS、JavaScript等。尽管仍然免不了需要针对每一种设备进行修改,但是,修改的代码会非常少,每个设备需要修改的代码不超过20行。
Break.com的.Net开发人员Charles Taylor说,Palm Pre就特别适合采用运行基于HTML 5的Web应用。“那将是一个完全不同的世界,iPhone上的应用开发将变得和传统的Mac OS上的应用开发一样简单。”
Google和Palm都宣称它们的手机支持HTML 5。对开发人员而言这是好事,会让应用的开发更为简单,Google和Palm的SDK让开发人员可以把HTML 5、CSS、JavaScript等功能与手机专有的功能结合起来。
不过,到底是选择基于HTML 5的方法还是专用SDK,人们需要进行权衡。
“虽然开发iPhone应用要复杂得多,但是在iPhone平台上的应用也比Palm Pre上的功能更强,比如,iPhone就比Palm Pre更容易开发出丰富有趣的游戏来。” Taylor说。
集成多种技术
当然,还有一种折中的办法就是采用面向HTML的SDK。Rhomobile Rhodes platform就是这样的一组工具,用它开发出来的应用可以在多种不同的平台上运行,包括iPhone、Symbian、Android、Windows Mobile和BlackBerry等。开发人员所做的就是在MVC(model-view-controller)容器和一组HTML模板中写入代码,这些代码用HTML和Ruby语言编写,最后被编译成在各种平台上运行的代码。
Appcelerator Titanium是与Rhodes近似的另一个工具,它支持HTML、CSS、JavaScript,利用它提供的API可以为Android和iPhone手机开发本地应用。
“越来越多的Web技术被应用到移动应用的开发上,这就让开发人员原来掌握的Web技能在开发移动应用时也可以发挥作用,而且应用程度在不同平台之间迁移也更简单了。”诺基亚开发社区论坛的副总裁Purnima Kochikar说。
不过,Web应用也存在着不足,就是不能充分发挥手机的功能。因此,大多数开发平台需要开发人员选择到底是开发哪种应用。比如,你需要选择是开发在iPhone手机上的Web应用,还是用苹果自己的工具开发iPhone手机的本地应用。同样,RIM有一个Java开发环境,你可以用它来开发基于浏览器的应用,也可以用它来开发黑莓应用。开发Web应用时,开发人员可以利用黑莓SDK中的一些小工具(Widget),这些工具实际上就是Web应用,但是它能访问设备上的本地应用,因此可以在设备与普通的Web应用之间起到桥梁作用。苹果的iPhone SDK也有类似的功能能让开发人员把Web应用与本地库结合到一起。
Eclipse的计划
Eclipse基金已经启动了Pulsar计划,准备推出一个统一的移动应用开发平台,但仍然需要不同的SDK,开发人员在为不同品牌的手机开发应用时会调用相应的SDK。这个平台主要面向基于Java的“功能手机”(feature phone,目前市场销售的大部分是这类手机,如LG和三星的很多手机,与智能手机相比,它们的多媒体功能和应用稍微少一些),这就意味着开发人员在开发功能手机应用时可以一次面向多种不同品牌的手机,重复劳动会减少很多。
目前,其支持的手机类型包括Android(使用摩托罗拉的SDK)、诺基亚S60系列(使用诺基亚的C++SDK)和黑莓(使用RIM的Java框架),Eclipse计划明年能支持基于Symbian的手机。
但是,也有人对Eclipse这一计划的前景不太乐观,认为由于不同品牌的手机在屏幕分辨率、性能和操作系统等方面都有太多的差异,要为不同的平台提供一个统一的开发平台是非常困难的。
- 1如何在数据中心服务器上搭载虚拟机
- 2金融行业OA软件行业的核心是人才
- 3“云安全”助企业拉升安全防护品质
- 4利用缓存服务器实现负载均衡
- 5更高效使用存储技巧之:数据归档
- 6“数据≠信息”:BI价值如何发掘?
- 7打造新一代数据中心解决方案完整生态链
- 8虚拟化技术还要翻越“七座大山”
- 9中国HPC进入活跃发展期
- 10财务管理预则立,不预则废
- 11“软件+服务”(S+S)思路:架构先行
- 12详细解析FCoE协议
- 13超高密度机柜和刀片服务器冷却5招
- 14OA将人员数据按照指定的对应方式插入到的中间表中
- 15银行3手段捍卫手机银行安全性
- 16OA成为整体信息化的入口,为OA软件行业未来的发展扩宽道路
- 17灾难恢复仍是虚拟化尚未攻克的难题
- 18网络战争:军事专家们正在思考的十件事
- 19浅谈数据容灾备份的等级和技术
- 20性能隔离降为选择虚拟化的次要因素
- 21SOA与企业级系统构建
- 22关注:企业加快云计算应用的十大理由
- 23如何规划分层存储
- 243G给信息化带来了什么
- 25智能摄像机性能、特点、原理浅谈
- 26智能视频分析中的猫腻
- 27节能是动态数据中心管理的关键
- 28分享销售队伍自动化(SFA)实施技巧心得
- 29化繁为简现精彩 看物联网中的移动交流
- 30警惕SOA架构发展的12大致命失误