移动设备、云计算和应用程序的发展变革

核心提示:新一代的信息服务将浏览器和设备视为同样的客户端。目前所面临的挑战是如何建立其这样的服务。

是否能利用本机代码开发移动应用程序或者利用诸如HTML和JavaScript等Web技术来进行部署?开发商们就此问题一直存在着分歧。

史蒂夫乔布斯最初建议iPhone的开发人员们能够按照需要通过设备内置的浏览器部署任何应用程序。但那是在苹果公司推出了业界领先的iTunes应用程序商店之前。

从那时起,甚至网站的建立都往往选择利用本机应用程序向移动设备发布并提供他们的内容,而不是简简单单的试图将其硬塞进手机浏览器上。尽管在HTML5上有所改进,许多开发商仍然觉得针对智能手机和上网本的网络技术独特需求不足。

如果这是真的,那么,现在已经是时候让我们好好反思一下在线信息服务是如何进行开发和部署的了。在过去,发展商往往是首先兴建网站,然后再为移动应用程序改编相同的内容。但在如今的市场上,移动设备越来越多的成为用户上网的主要手段,之前的做法无疑可以说是相当落后的了。

我们需要的是移动设备的发展变革,类似于我们早期在Web应用程序发现的那样。第一批企业级Web应用程序只是将代码由传统大型机输出到了浏览器,使其看上去漂亮一些。但是,随着基于浏览器的计算变得日渐规范,应用程序逻辑移出主机和HTML输出成为主要目标。移动设备应用程序正在经历同样的转变。下一代的信息服务会将桌面浏览器和移动应用设备视为同样的客户端,同一逻辑应用程序将为这二者提供内容。

同样重要的是,在同一时间,这种转变在另一个重要的领域IT行业也发生着巨变,其正在向云计算方向大步迈进。随着平台即服务(PaaS)产品的日趋成熟,越来越少的信息服务提供商还在他们的私人基础设施上提供主机应用程序。

连接设备到云

对于应用程序开发人员来说,同时管理如此众多的应用程序的迁移绝对可以说是一项相当艰巨的任务。庆幸的是,平台供应商已经提供了相关的工具,使尽可能轻松的过渡到混合网络/移动应用程序。

近期,在旧金山举行的谷歌I/O开发人员大会上,这家搜索引擎巨头推出了其新的测试版本的谷歌插件Eclipse平台(GPE)。该工具能够允许开发人员创建、测试,并上传应用程序到谷歌的应用程序引擎云平台(GoogleAppEngine),所有的都是利用Java语言EclipseIDE集成开发环境。

GPE的早期版本可以让开发人员利用集成支持为谷歌网页工具包(GWT)建立应用程序引擎,这是一个框架,用于创建复杂的基于Web的UI.新的2.4测试版GPE新增加了对Android应用程序的支持。实际上,开发人员可以为引擎应用构建应用程序逻辑,然后同时为Web和移动客户端生成I/O代码。

同样,微软也将其WindowsAzure定位为一款移动应用程序的后端云平台。与人们所期望的相反的是,其不是仅仅限于为WindowsPhone7的操作系统而服务。新的WindowsAzure工具包将适用于苹果IOS设备和Android设备。

很容易看出微软的雄心壮志。虽然IOS是目前最顶级的移动平台之一,远远超过WindowsPhone7,但苹果公司到目前为止,尚未推出一款可以和微软的WindowsAzure、谷歌的GoogleAppEngine、以及亚马逊的弹性计算云服务ElasticComputeCloud相抗衡的云计算平台。该传闻说苹果可能正在研发相关产品,但除非iPhone的制造商们加快动作,否则,微软很有机会作为移动后端应用服务提供商赢得IOS.

未来的挑战

是否能利用本机代码开发移动应用程序或者利用诸如HTML和JavaScript等Web技术来进行部署使用?似乎看来是两者皆可。你可以投身到混合云平台。虽然这是一个好主意,但是,开发商必须意识到目前的移动应用程序云架构是一个重要的陷阱。

首先,目前在云基础设施上托管的任何应用程序都存在着一定的风险。至少存在中断的风险,这可能会削弱云备份应用程序。到目前为止,还没有云计算平台被证明是百分之百可靠的,亚马逊、谷歌和微软的用户都出现过中断。

同样重要的是,越来越多的开发人员抱怨移动平台供应商的“围墙花园”,云计算平台的用户还可能被供应商锁定。大型数据存储服务之间的移动可以说是非常具有挑战性,而且在许多情况下应用程序逻辑在提供商之间迁移的时候往往需要进行调整。相当多的企业正在积极努力购买部署互操作性云计算服务,包括Apache软件基金会和美国电气和电子工程师协会(IEEE),但这些努力是不成熟的,几乎没有诱因促使云供应商们本身开展互助合作。

但最大的挑战可能是简单地寻找可以成功地开发云和移动开发程序的供应商。上述两种方法都相对较新。特别是移动开发人员的需求会持续不断的提升,许多公司都是通过采用外包或昂贵的再培训,以获得用于创建移动应用程序所需的技能。而想要找到建立了方便企业熟练应用的云平台的移动开发商似乎就显得要求要高得多了。

当然,对目前的项目经理们来说,想要招聘到新的人才貌似前景不容乐观,而聪明的开发商应该敞开大门。应用程序的开发也正在发生改变。再次重申,时间将证明一切。