`
shukuiyan
  • 浏览: 413826 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多

转自http://webservices.ctocio.com.cn/tips/429/6645429.shtml

 

 一、关注点:

  这篇文章阐述了一些我从前表达的观点,同时也在文中增加了一些新的观点。本文主要关注在Ajax在移动开发中的影响力(我们并不在这里大肆讨论Ajax)。

  讨论议题:

  •   1.什么限制了移动设备上的浏览器模式的发展,如何战胜它?
  •   2.Ajax在移动开发中的影响力。
  •   3.Ajax/浏览器模式的潜力将使应用定位在更加广泛的消费群体。

  二、对草地保龄球和长尾(long tails)的思考:

  请想象一下如下情景:

  正如大多数体育爱好者一样,你正热切地关注在墨尔本召开的联邦运动会。但是,和别人不同的是你喜欢的运动是“草地保龄球”。

  “草地保龄球是什么?”人们经常会这样问你。因为很少有人(除了那些关注联邦运动会的)听说过这项运动(呵呵,这项运动将作为北京2008奥运会的表演项目)。于是你很兴奋于至少墨尔本正在进行这项比赛。但从宽泛的观点来看,像游泳、拳击这样“有魅力”的比赛才能获得所有的声誉。“草地保龄球”的确太冷门了。

  而正当你将这个状况和Geek(技术迷)朋友聊起时,他会把一个称为“长尾”(long tails)的概念作为给你的解释。很明显,你就是“长尾”中的一员。

  多数情况下,80%的收入来自于20%的产品或者服务(下图中的红色部分)。剩余80%的产品具有低需求和低销量的特征。它们组成了“长尾”(就象草地保龄球一样)。“长尾”原理所说明的是:那些低数量、低销售量的产品构成了市场的主力,它们与少数畅销产品相持平甚至超出后者,前者提供了广泛的分配渠道和价格低廉的产品。

   “长尾”示意图

  现在假使我们为联邦运动会设计一个移动应用,并已经进行了几个月的准备。但是设计者可能不重视“草地保龄球”这一部分。

  但作为草地保龄球的铁杆球迷,你期待着全部的应用:blog、投票、图片、个人档案等等。

  移动Web2.0,Ajax和部件设计对这个场景有所帮助吗?下文便见分晓。文章主要按以下范围讨论:

  •   1.所有的移动应用都能采用浏览器技术实现吗?
  •   2.采用移动Ajax的可能性。
  •   3.移动Ajax技术的进化和Opera声明的意义。
  •   4.“围墙花园”与“开放花园”。
  •   5.来自JAVA ME的回应。
  •   6.谈谈移动游戏。
  •   7.为什么Ajax将代替J2me和HTML成为移动应用开发中的首选平台?

 

三、所有的移动应用都能采用浏览器技术实现吗?

  在我们开始讨论移动应用和Ajax前,让我们思考一个这样的问题:所有移动应用都能采用浏览器技术实现吗?在PC/Internet的世界中,浏览器飞速成为了一个通用的客户端。但在PC世界和浏览器世界之间存在着天壤之别。

  在PC世界,我们需要一种程序来执行一个特殊类型的应用(就像word用来读写word文档、excel用来读写表格一样)。而相对的,我们使用浏览器查看任何一种应用。这使应用开发被大幅度地优化,它受到运行在客户端的软件的影响更小。

  让我们看一下浏览器和移动领域应用。假设移动设备具有更高的性能、更快速的带宽。那么在这个假设的前提下,所有的移动应用能以浏览器技术去实现 吗?毕竟,工作在PC上的浏览器作为一个通用的客户端——为什么不能在移动设备上成行那?对这个问题的推断可能是:在移动设备上的浏览与在pc上使用的 web浏览具有许多根本上的不同。

  为了更好的了解这些不同,我们来考虑如下的因素:

  1.间断的网络连接:

  不像在pc上使用的web那样,无线网络相对不稳定,常收到信号覆盖的影响(如果进入隧道的话,你将失去连接)。

  2.带宽限制:

  即使3G覆盖提前实现,实际的带宽也不足以满足需要。

  3.在客户端的数据存储:

  如果设备没有本地存储,所有的数据将不得不被重复下载。而连接的间断性和昂贵的带宽又把这种存储方式逼入了绝地。

  4.最后,也是最重要的——本地应用程序提供了丰富的用户体验,特别是对像游戏之类的应用而言。

  这里还有诸如用户输入能力、屏幕尺寸之类的限制。上面因素中的一些会随着设备和技术的进步而得以改善。但是整体的用户体验仍然是重要的因素之一。

  因此,我们这个假设问题的答案是——不能,我们不能仅使用浏览器开发所有的移动应用。但浏览式应用的框架正在改变,在浏览式和下载式应用之间的界限已经不如从前那样明显了。

  在另一方面,本机和本地(native)应用提供了一项优势——更好的用户接口。但它们遭受了一些显著的缺陷——在应用中不得不覆盖多种不同的设备、操作系统、屏幕尺寸、用户接口、多个软件发布版本等问题。这也导致了移动领域的“割据”局面。

四、采用移动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的可能性

抛离上面的说法,我相信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身上印证了同样的现象。

分享到:
评论

相关推荐

    解析移动 Web 2.0

    在移动Web2.0中,数据的收集和分享成为关键。例如,移动设备可以收集地理位置、用户行为和偏好等独特数据。这些数据可以通过各种技术如RSS、AJAX等进行分享和增强用户体验。AJAX(异步JavaScript和XML)的广泛应用...

    蓝色web2.0 蓝色web2.0

    1. **响应式设计**:随着移动设备的普及,网页设计需要适应不同屏幕尺寸,蓝色Web2.0可能会采用响应式布局,确保在手机、平板和电脑上都能提供良好的浏览体验。 2. **社交网络集成**:Web2.0强调用户间的连接,可能...

    Web 2.0 编程思想:16条法则

    在开发任何Web 2.0应用之前,需要明确其核心价值与目标。这包括确定应用程序的主要功能(如标签、评论、编辑页面等),并确保这些功能能够满足用户的需求。例如,在设计一个社交网站时,开发者需要思考如何让用户更...

    web2.0技术标准

    随着移动设备的普及,Web2.0技术标准也包含对手机上网的支持。WAP(Wireless Application Protocol)是一种为移动设备提供互联网接入的技术,使得用户可以在手机上浏览网页、接收邮件等。 6. 页面静态化: 页面...

    java web 2.0架构开发与项目实战 源代码01

    7. **JavaScript框架**:在Web 2.0中,富客户端应用的开发离不开JavaScript框架,如jQuery、Dojo、Prototype和AngularJS等。这些框架简化了DOM操作,提供了动画效果,并支持异步数据交换。 8. **CSS和响应式设计**...

    精通Web 2.0

    ### 精通Web 2.0:深入理解与应用 #### 一、Web 2.0概述 Web 2.0是指互联网发展的第二阶段,它强调用户参与、互动和内容共享。相比于早期的Web 1.0,Web 2.0更注重用户的交互体验,支持动态网页内容和用户生成内容...

    web 2.0 动态网站开发 php技术 光盘

    7. **AJAX异步通信**:Web 2.0强调实时性,AJAX(Asynchronous JavaScript and XML)允许页面在不刷新的情况下与服务器交换数据并局部更新。PHP可以配合JavaScript的XMLHttpRequest对象实现异步留言功能,提升用户...

    中山大学软件学院Web 2.0 Programming讲义

    六、移动Web 2.0 1. 移动优先:设计适应不同屏幕尺寸的响应式布局。 2. 混合应用开发:如Apache Cordova,使用Web技术开发原生应用。 3. PWA(渐进式Web应用):通过Service Worker实现离线访问和推送通知。 七、...

    Web2.0控件开发文档

    《Web2.0控件开发》是一本深入探讨Web2.0时代网页控件开发的专业书籍,旨在帮助开发者掌握在互联网环境下创建交互性更强、用户体验更佳的网页应用技术。Web2.0的核心理念是用户参与和互动,这在控件开发中体现得尤为...

    论文研究-基于“移动全球眼”平台的Web2.0业务探讨 .pdf

    本文提出的Web2.0应用方案,将运营商的“全球眼”系统与Web2.0技术相结合,深入探讨了运营商在移动互联网Web2.0业务方面可以采取的应用模式,并就业务发展可能面临的问题提出了建议。在探讨移动互联网Web2.0业务的...

    --------《WEB2.0设计》---------

    7. 移动优化:随着移动设备的普及,WEB2.0设计必须考虑跨平台的适应性,确保在不同设备上都能提供优秀的用户体验。 综上所述,《WEB2.0设计》这本书提供了全面的视角来探讨这个主题,无论你是初学者还是经验丰富的...

    基于web2.0的社交网站

    在开发基于Web2.0的社交网站时,开发者通常会考虑以下关键知识点: 1. **前端技术**:HTML5、CSS3和JavaScript是基础,jQuery和其他JavaScript库如Vue.js或React.js可以提供更丰富的交互体验。Ajax实现页面无刷新...

    基于WEB2.0交互性网站系统开发简介.zip

    在WEB2.0的时代,网站开发不再仅仅是静态信息展示,而是转变为动态、互动和社区化的体验。这份文档可能会涵盖以下几个核心知识点: 1. **WEB2.0概念**:WEB2.0代表了互联网的第二个重要阶段,它强调用户的参与、...

    web2.0网页制作开发学习资料

    在网页制作和开发领域,Web2.0带来了许多创新和变革,使得网页不再仅仅是信息展示的平台,而是成为了用户参与、分享、协作的空间。 首先,Web2.0的核心理念是“参与式互联网”,它强调用户的互动与参与。这体现在...

    精通Web 2.0PPT

    10. 移动互联网:随着智能手机和平板电脑的普及,Web 2.0也扩展到移动领域,出现了适应移动设备的网站和应用。 “精通Web 2.0PPT”可能涵盖了以上这些概念,并通过幻灯片的形式,以图文并茂的方式解释了Web 2.0的...

    Web2.0编程思想:16条法则

    Web 2.0编程思想是互联网发展的一个重要里程碑,它...这些法则构成了Web 2.0的核心,它们不仅改变了互联网的面貌,也影响了现代软件开发的方方面面。理解和掌握这些原则,对于构建适应时代发展的互联网产品至关重要。

    WEB2.0动态网站开发 源码

    3. **前端技术**:在Web2.0动态网站开发中,前端技术扮演着重要角色。HTML5、CSS3和JavaScript是基础,用于构建网页结构、样式和交互。更高级的技术框架如React、Vue.js、AngularJS允许开发出更复杂的用户界面和单页...

    Web2.0、移动电子商务模式案例分析.pptx

    Web2.0涉及的技术包括XML、Ajax等,社会学、经济学、新闻学等多个领域都有不同的解读。例如,社会学家视之为六度分割理论的实践,经济学家则认为它是长尾理论的体现。 六度分隔理论表明人们之间的联系非常紧密,...

Global site tag (gtag.js) - Google Analytics