| http://www.jrj.com 2008年10月13日 13:05
《信息周刊》 【字体:大 中 小】【页面调色版 |
在Google Gears等Web 2.0技术的帮助下,开发基于移动平台的企业应用程序变得更加简单了。
文 Peter Rysavy 译 蔡晶
如今,企业员工和客户大都拥有掌上移动设备,其计算能力和存储容量足以让10年前的台式电脑相形见绌。如果除了基本的电子邮件和日历同步程序以外,你还没有为这些智能手机开发其他的应用程序,那这样的做法无疑是在暴殄天物。
几年前,掌上设备一般能卖到500美元左右,如今你只需花上100美元就能买到动态研究公司(Research In Motion,下称RIM)的黑莓珍珠手机(BlackBerry Pearl)或者三星公司(Samsung)的BlackJack II手机(配备Windows Mobile操作系统)。与此同时,将复杂的商业应用程序植入移动设备的技术也在稳步发展,不过其中某些有关分化的问题仍然有待解决。
移动平台的分类并不像桌面操作系统那样一目了然,主流的智能手机平台包括黑莓、塞班(Symbian)、Windows Mobile、Mac OS X以及Mobile Linux等,这些移动平台的竞争已经日趋白热化。此外,还有Java以及高通公司(Qualcomm)的无线二进制运行环境(Binary Runtime Environment for Wireless,Brew)等更高层次的应用程序框架。要决定选择哪种平台、设备以及应用程序架构的确很难,但每个移动应用程序开发商都必须做出一番抉择。
移动设备的不断分化导致开发工作越来越复杂:屏幕尺寸五花八门、用户输入方式多种多样、无线网络连接变化无常、电池的电量有限、软件的部署和更新需要管理系统;此外,还得满足安全方面的需求。
幸运的是,现在厂商们已开始致力于改进架构以解决复杂性问题。新的架构可以使应用程序的开发更加容易,让这些程序更轻松地访问企业的后端系统,并且能在各种设备上运行。新架构包括的技术有:Web 2.0技术、富互联网应用程序(Rich Internet Application,RIA)环境、新Java平台、新的同步技术以及改进过的移动中间件平台。这些技术虽然各自都还存在缺陷,但它们组合起来就成为了功能强大的移动应用程序开发工具集。
《信息周刊》最近进行了一次相关的调研,有近400名IT专业人士参加。结果显示,IT人士正在密切关注移动平台的应用程序开发。33%的企业正在实施相关项目,37%的企业在某些业务单元部署了移动应用程序,而30%的企业则在全公司范围内部署了移动应用程序。由此可见,移动应用程序已经得到了比较广泛的应用。在移动设备方面,RIM占据了主导地位,有57%的IT组织在为黑莓系统开发程序,而为Windows Mobile开发程序的厂商比例也占到了44%。除此之外,为Palm OS、iPhone以及塞班开发程序的厂商所占比例分别为25%、5%和4%。企业内部自行开发移动应用程序的能力也很强,有30%的企业选择了自行开发。
利用本地化语言开发
使用C、C++和Objective C等编程语言在本地化环境中开发应用程序并不新鲜。事实上,到目前为止这仍是开发性能最强、响应速度最快的移动应用程序的好办法。微软公司(Microsoft,下称微软)、苹果公司(Apple)和塞班公司等厂商都推出了功能丰富、配备有调试器和仿真环境的开发环境。
为黑莓系统开发程序需要使用Java的特别版,该版本结合了标准化Java语言以及与RIM产品相关的编程接口。此外,RIM还提供了全套工具集。对微软平台则可以使用C/C++语言进行本地开发,或者是利用功能强大的.NET Framework 精简版(.Net Compact Framework),它提供了一个简易化、易管理的开发环境。
采用C/C++外加特定平台的应用编程接口(API)来进行开发时,需要投入相当多的研究精力,而且开发出的应用程序只能在特定平台运行。对于普通的IT组织而言,这种开发方式往往可望而不可及,因此新的应用程序架构就显得更有吸引力了。不过,尽管如此,调查结果显示仍有43%的受访者使用微软的工具进行移动平台企业应用程序的开发。另外,27%的受访者采用的是Java,还有26%的受访者采用移动中间件。
Web 2.0和RIA中的很多特性可在移动平台上大显身手。我们可以将Web 2.0看作是引人入胜的互动式应用程序,它通常会让用户参与内容的生成。占据市场领先地位的第三方手机浏览器软件供应商Opera公司声称,Opera Mini浏览器每月显示25亿篇网页,这表明移动网络正逐渐成为主流。49%的受访者赞成移动应用程序采用基于网络的模式。
基于网络的应用程序或服务与本地应用程序有着本质上的区别。对移动设备而言,最复杂的一个因素是用户并不总是连在网上,有时他们不在服务区内或者处于断网状态(如乘飞机时)。过去移动网络应用程序速度缓慢,主要原因是无线网络速度慢,延迟时间太长。但如今3G网络速度很快,能提供1 Mbps左右的吞吐量,延迟也降到了100毫秒或更低。3G网络性能的增强以及WiMax等新型网络的出现将进一步提高网络应用程序的性能。
与本地应用程序相比,网络应用程序的开发更加简单,并且后者能在各种不同设备上显示目标内容,无需在移动设备上安装和维护应用程序,此外还能利用SSL VPN等支持HTTP连接的安全技术来提高程序的安全性。这些都是企业考虑采用网络应用程序的理由。
最近一些新技术的发展也为网络解决方案提供了动力,如Ajax、Web widgets、Adobe Flash、Silverlight以及Google Gears等等。这些技术原本是为桌面环境开发的,但它们正被移植到移动平台上,用于网络应用程序的开发。
以Ajax为例,它能够选择性地更新部分网页内容而无需刷新整个屏幕,这一点对于带宽吃紧的移动设备来说非常合适,此外它还能让程序与下载数据进行有限的交互。Ajax能加快网络应用程序的响应速度,并使带宽得到更有效的利用,因此大多数智能手机浏览器都支持Ajax。Adobe Flash、Silverlight以及可缩放矢量图形(Scalable Vector Graphics,SVG)等技术都能在基于Java的系统中使用,它们都支持动画内容。虽说这些技术一般是在消费者应用程序中大显身手,但它们提供的丰富内容同样可以用于增强版的企业应用程序。
Google Gears等技术还能让基于浏览器的应用程序与本地数据源自动同步,从而在脱机情况下也能正常工作,这就解决了移动网络存在的一个大问题。
网站需要为移动浏览器度身定制网页内容吗?iPhone手机上的Safari浏览器以及Opera Micro和Mini浏览器都已经证明,几乎任何网页都能在移动设备上获得良好的显示效果。不过,要是你想得到最佳的显示效果,那网页内容最好是为小屏幕量身定做的,网页中对象的数目也要尽量减少,从而将浏览器的读取工作量降到最低。
虽然这些网络技术还不太成熟,但它们展示了移动应用程序的美好未来。网络应用程序的性能永远不能超越本地程序,但它可以更快地将数据提供给移动办公者,从而降低管理开销。此外,相对于本地应用程序而言,网络应用程序的开发门槛较低,大多数IT组织可以选择自行开发。
|
||||||||||||||
|
||||||||||||||
|
||||||||