科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件移动Web2.0:Ajax在移动开发领域的影响(2)

移动Web2.0:Ajax在移动开发领域的影响(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文主要关注Ajax在移动开发中的影响力,具体内容包括所有的移动应用都能采用浏览器技术实现吗?采用移动Ajax的可能性、移动Ajax技术的进化和Opera声明的意义、来自JAVA ME的回应、移动游戏、为什么移动Ajax将代替J2ME和XHTML成为移动应用开发的首选平台。

作者:MATRIX 来源:MATRIX 2007年9月1日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

四、采用移动Ajax的可能性

抛离上面的说法,我相信Ajax将导致浏览式应用的复苏,它将克服我们现在所面对的一些问题,理由如下:

1.到浏览器的抽象转移:

基于浏览器的应用相对易于升级、并能用在跨运营商的领域。这将吸引一个较大的目标用户群。开发者能访问消费者中核心群体来促进应用开发更有价值。正因为浏览器提供了一种通用客户端,所以它也减少了应用的分离(fragmentation)。

2.Ajax提供了更佳的浏览器体验核数据管理能力。

3.来自Internet上的开发者对Ajax的支持。

重量级的产业力量正在转移他们的支持到Ajax上来(IBM对Open Ajax的支持就是个好例子)。

4.部件设计的概念并非新鲜事物。

本文中,部件指的是一种可下载的交互软件对象,它提供了单一的服务(如地图、新闻feed等)。Ajax提供了在浏览器上实现部件的机制。

5.Ajax为部件写作市场(widget authoring market)提供了温床,就象Apple widgets 和 Opera widgets那样。

我相信Ajax通过提供丰富的体验、更大的用户群体、数据管理能力、部件写作工具而使浏览式应用的复苏更进一步。

另外,开发者的支持(包括在web领域和移动领域的)将引领Ajax形成一个我们难以想象的强大系统。

五、移动Ajax技术的进化和Opera声明的意义

Opera平台由以下主要特性组成:

1.全屏模式的Opera web浏览器;

2.一个运行多个部件/应用的Ajax框架;

3.通过抽象层访问设备本地功能(native functionality)。

仅在2005年,Opera就已经在17000万移动浏览器上支持Ajax。这意味着凭借现有的Opera浏览器你可以使用桌面Ajax服务:例如Gmail、Google Maps等。

但是,其意义远远不止支持Ajax这一点:

1.Opera平台是首创的移动Ajax框架。

它也是一个名副其实的浏览器框架。但,和其它框架比如Zimbra (zimlets) 和 Backbase不同,它完全是为移动设备而设计的。它在浏览器和移动设备的设计上采用了相同的代码库。通过微小的改变,桌面浏览器部件也能运行在移动设备上。从开发者的角度看,这是一个再好不过的使部件(桌面、移动设备、浏览器)最大化获利的方法。Opera声明对移动应用开发意义深远的一点是它把一个庞大的代码库与获利紧密结合在一起。

2.部件调用其它部件。

复杂的应用可以由简单的、基于浏览器的组件开发而成。

3.Opera平台允许访问底层设备API。

为了说明这个概念,我们首先考虑一下浏览器模式在建筑学上的不足。

浏览器模式是基于标记(mark-up)语言、以文档为核心的。而相对的,那些被下载的或是本地的应用则以应用为中心,因为它们是基于某种编程语言的。

为了达到实用需要,任何移动应用开发模式必须具有访问那些和设备紧密耦合的数据成员。它们包括电话API、电话簿、短消息、消息API、呼叫记录、SIM卡、日历、蓝牙堆栈、媒体播放器、文件系统等。

运行在手机上的应用能够通过API访问这些服务。而在大多数情况中,运行在浏览器的应用却不能访问这些功能(除了一些厂商私有的解决方案)。

Opera平台是一个基于浏览器的编程环境,它通过一套javascript API将本地设备API进行了抽象,这样来提供给开发者从浏览器访问设备底层功能。它使建立的更加丰富的浏览器应用成为了可能。

让我们回到“草地保龄球”的话题,对Ajax、部件进行一些说明:Ajax的能力在于建立桌面极的部件。通过Opera平台的方式,同一个部件能被重用在移动设备上。这些部件便具有了从“长尾”获得收入的能力。在联邦运动会这个场景中,它应有可能为草地保龄球迷们提供低成本的部件。这些部件无论运行在桌面浏览器或是在移动浏览器上都运行良好。这就是Ajax方式的重大意义。

有人会站出来争辩:这个方式不是纯正基于浏览器的方式(因为客户端需要以某些软件的形式在本地执行)。另外,请注意平台方式和使用插件是不同的,因为插件是可以被下载。而平台却作为设备的一部分被生产厂商安装在设备中。

我同意称这种方式不够“纯正”的说法。但是以这种方式,开发者将处理很少的平台,而不是他们不得不去与之斗争的数以百计的变化体。

这种方式不是开发的。在一个平台开发的应用只能运行在此平台。并且此方式并没有获得开放移动联盟(这里简称为OMA)的认可。整个问题对于移动运营商来讲还太早,因为它还需要经过由浏览器厂商到设备生产商再到运营商的过程。但W3C mobile web initiative也可以作为与OMA协作的一个标准体。

最后,这种方式对于一些应用类型(例如游戏)来讲还不够“丰富”。

但无论如何,这也是在前进路上迈出的一大步,因为我们具有一个更统一、跨运营商的“运动场”。

从历史上看,流行技术常常依赖于产业支持。比如粗糙陈旧的SQL,软件厂商们(例如Sybase、Informix等)都各自发布一个SQL的程序版本(例如Oracle的PLSQL)。SQL和PLSQL在某些方面是矛盾的,因为SQL是基于集合的,而PLSQL是程序式的。

但是“程序式”的SQL由于产业需要而存在了下来。我们在Ajax身上印证了同样的现象。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章