`
cleverpig
  • 浏览: 152219 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

拥抱移动web2.0时代:移动AJAX将替代J2ME和XHTML成为移动应用的首选&#241

阅读更多
拥抱移动web2.0时代{AJAX for 移动设备}
——移动AJAX将替代J2ME和XHTML成为移动应用的首选平台吗?


作者:cleverpig

image




      今年,Opera发布了在移动设备上支持AJAX的浏览器。考虑到Opera在浏览器市场的声望,这个发布声明确实具有意义重大。不过,我相信这存在一定的豪赌成分。

      但我相信AJAX将替代J2ME和XHTML成为开发移动应用的首选平台的机会确实存在。在下文,我将全力阐释原因。

      在这之前,提一个告诫——我相信移动web2.0比“移动AJAX”更加遥远。尤其是移动web2.0实现所有web2.0七点原则这一过程。所以,我在此只讨论了AJAX,只是web2.0的一个侧面而已。
image
图-1:look一下Opera上的AJAX应用画面


Overview:
      1.AJAX是什么?
      2.当前的移动应用开发模式。移动产业所面对的问题,换言之,就是当前移动应用模式的缺点。
      3.为什么AJAX将替代J2ME和XHTML而成为开发平台的首选?

一、AJAX是什么?
image

      AJAX是web2.0的可选部分。进一步讲,它融合了一些目前现存技术,使之成为一体工作。
      1.XHTML和CSS作为表现层标准
      2.DOM(Document Object Model)被用在动态显示和交互
      3.XML和XSLT用在数据交换和维护
      4.XMLHttpRequest技术用于接收异步数据
      5.Javascript将上面的部分捆绑在一起

      知道AJAX到来之前,复制富有、反应迅速的本地应用交互设计并非易事。AJAX与从前的其它尝试在这个问题上定位所不同之处:基于现有、非私有化的标准,并且这些标准都为开发者所熟知。

       传统的web应用模式中,大多数情况下,用户行为触发一个HTTP Request。服务器完成处理后返回结果到用户。当服务器处理时,用户处于等待状态!这种“start-stop-start”的web应用行为从技术 出发是很好的,但从用户交换出发则很糟糕(因为用户交换的结果都来自于服务器,当服务器作处理工作时,用户只能做的事就是喝咖啡之类的无聊等待)。

      AJAX 凭借AJAX引擎解决了上述问题。在Session开始时,AJAX应用装载AJAX引擎。AJAX引擎是采用javascript编写而成的 javascript库,它被放置在一个隐藏的frame中。用户与AJAX引擎交互,而非前面讲的web服务器。如果用户交互不需要从服务器上获得什么 的话,AJAX引擎会自己处理这个交互。当用户交互需要从服务器上获取一些数据时,AJAX引擎会完成一个异步调用,而不是打断用户流。
在这个场景中,由于AJAX引擎和服务器异步通讯,所以AJAX被称为是“异步的”。这样会让用户获得“无缝隙”的用户体验(呵呵,不必再等待了)。

      这里是AJAX出现后的一个动力源:开发者已经熟知AJAX所倚赖的技术。所有组成AJAX的技术都是成熟、稳定的。AJAX成为了一些新web应用的基石:Google suggestGoogle MapsFlickrAmazon’s A9.com

二、目前移动开发模式
image
      从前面文章的讨论中,我们明确了——AJAX解决了两个问题:就是一个出众的UI和数据接收的标准形式。
        
      尽管AJAX能够很好的干掉这两个问题,但我认为这还远远足以说明AJAX的“神勇”,尤其是AJAX拙于成效地解决了下面的问题:
      1.市场割据问题;
      2.移植问题(尤其指基于J2ME的下载类应用);
      3.实现开发式的应用发行。

      让我们认识一下现存的移动开发吧。首先是移动应用的两个分类原则:浏览型应用和下载型应用。当然又存在别的应用:如短信息应用、SIM应用等。但是就目前而言,前面这两类应用是主流的两大应用。

      浏览型应用:浏览应用与浏览web的概念相似,但它受到了移动设备独特性的限制(例如:设备的屏幕尺寸)。与web浏览相同,它通过一个微型浏览器通过url访问在无线服务器上的应用服务。而客户端承担很少处理,甚至不进行处理。

       下载型应用:对比浏览型应用,下载型应用需要首先下载到客户端设备上。应用运行在本地设备。与浏览型应用不同,被下载的应用在运行时不需要连接网络。因为 客户端能进行一些处理或是一些持久化存储,所以下载型应用被称为“智能客户端”。而当前的大多数基于JAVA的游戏都是下载型应用。

      J2ME是开发下载型应用的最常见模式,而XHTML是开发浏览型应用的最常见模式。下面详细阐述一下前面所讲的问题,并讨论AJAX如何解决这些问题。

问题一:市场割据

      移动应用主要以消费性应用为主。移动数据产业是一个方兴未艾的产业,就如别的产业在这个时期所经历的进化过程一样,它是割据的:
        
      为了获得经济上的最大利益,消费性应用需要一个庞大的客户群。而不同的标准随之而生,如来自Qualcomm的BREW标准就是一种私有标准,而不被某个实体所掌握的开放标准只被很少的厂商采用。

      为了展示市场割据是如何影响一个新型服务的经济收益的,我们通过下面的方式来体会:在尝试发现我们应用的最大客户群的过程中,思考下面的“同心圆”结构。同心圆半径随序号顺序而减小,即1为最外围的圆,9为最内部的圆。
      1.你的应用所在国家的人口是多少?
      2.持有移动设备的人口比例是多少?
      3.在应用中你所定位的运营商是哪个?
      4.在应用中你所定位的移动设备有哪些?
      5.发布技术有哪些?例如Java,SMS,WAP等
      6.应用是否需要诸如定位服务等特殊的技术?多少人持有支持此技术的移送设备?
      7.按分类做分割分析的标准是什么?(如:男性/女性等)
      8.我们应用所定位的市场道路有哪些?
      9.我们期待这个子类中命中并转化为基于我们市场预算的消费者比率是多少?(一般转化比率为2%)

      通过上面的方法,我们能计算出目标客户群。这样,目标客户群乘以潜在的月下载量就是月收入。它包括了我们用在开发、移植上支出费用。这个方法展示了市场割据问题,它意味着少数移动服务商是有利可图的。也正因此而诞生了增值业务:如铃声、图片下载等。

问题二:移植困难
      这个问题针对下载型应用。“Write once run anywhere”这句话在移用领域是个笑谈,呵呵,尽管这并非Sun的失误。基于J2ME的游戏开发就是个经典的例子:

      首先,看看好消息。
      1.诸如Sprint和Vodafone这样的移动运营商报告了移动游戏和其它数据服务的收入占据他们年收入的10%以上;
      2.产业咨询公司Ovum指出目前全球4亿5千万个支持Java的手机,3千8百万支持BREW的手机,1千5百万基于Symbian的手机。
      3.移动游戏发行商仅在2004年的全球销售总额达到12亿美元。

       但是这是存在瑕疵的。游戏移植一般需要开发者适配不同的屏幕分辨率、处理器速度、内存限制、音效等,这些因素在不同设备之间可能是变数颇多的。对于发行商 来讲,这不仅是指数级地增加游戏开发周期和资产建立时间,而且导致了在这场超级竞争中错失关键的time-to-market(指将从产品设计到产品行销 到市场)的时机。例如,假设你经营着一家具有30款游戏的中型游戏发行公司,为了你的游戏走向世界,你打算支持5种语言和50款设备,则你需要建立 7500个不同的游戏版本,每个版本需要2500美元,那么你将需要将近1千9百万的预算花在手机移植上。

      这严重地限制了商业模式的发展,导致了少量的移动游戏能收获利润。

问题三:开放的应用发行
      前面讲了使用J2ME技术遇到的困难,仅仅依靠建立一个社区(如Sun已经做到community process)是远远不够的。构建在社区上的技术和应用必须保持一致和交互性,才能发挥网络效益并获得庞大的用户群。

三、为什么AJAX将代替J2ME和XHTML而成为首选的开发平台?

image
      AJAX能解决前面的问题吗?从笔者的观点来讲,这是很可能的。

      AJAX通过浏览器访问,而用户通过两种方式获得浏览器——手机预装或是单独安装应用。任何人都能为智能手机下载浏览器:Opera link shows for series 60 phones。这意味着,所有的消费者能潜在地安装浏览器,如果足够多的人安装——我们将有巨大的客户群和很少的“瓶颈”——比如移动运营商的特殊限制。换言之就是绕过了他们的“花园篱笆”。

      更进一步讲,AJAX提供了出众的用户体验并有庞大的支持AJAX的开发者社区作为后盾。获得更多客户群(更少的瓶颈)意味着更多的应用转化为金钱的机会——这将导致前面所讲的“同心圆”更加有效能。

      J2ME目前存在着严重的缺陷(不是技术上的,而是商业模式上的)。由于AJAX提供丰富、出众的用户体验,XHTML将继续run下去。

      总之,我相信AJAX将代替J2ME和XHTML而成为首选的移动开发平台。

四、阅读提示:

      1.我在这里说的是“首选”而不是“替代物”,我并不期待AJAX替代任何技术。

      2.AJAX不能解决所有问题。你仍然要按照客户需求出发建立服务。

      3.AJAX不是唯一建立更佳用户接口的尝试:这里存在一些有限的成功,但是他们没有跨越产业或是私有性的。例如移动SVG, 3D游戏的superscape’s swerve技术,还有macromedia mobile。

      4.一些人并非实际浏览移动网络。尽管WAP发展迅猛,其中WAP作为一种传输机制来使用——典型的应用就是内容下载。换句话说,就是每次你下载铃声,你潜在地建立了一个WAP页面访问。所以我认为消费者真正浏览移动网络的人数还是很低的,但是也很有潜力的。

      5.很少的移动厂商致力于开发者社区。
分享到:
评论

相关推荐

    kernel-devel-4.18.0-553.45.1.el8-10.x86-64.rpm

    Rocky Linux 8.10内核包

    Simulink中三阶单环多位量化Σ-Δ调制器的设计与实现-音频带ADC的应用(复现论文或解答问题,含详细可运行代码及解释)

    内容概要:本文档详细介绍了如何在Simulink中设计一个满足特定规格的音频带ADC(模数转换器)。首先选择了三阶单环多位量化Σ-Δ调制器作为设计方案,因为这种结构能在音频带宽内提供高噪声整形效果,并且多位量化可以降低量化噪声。接着,文档展示了具体的Simulink建模步骤,包括创建模型、添加各个组件如积分器、量化器、DAC反馈以及连接它们。此外,还进行了参数设计与计算,特别是过采样率和信噪比的估算,并引入了动态元件匹配技术来减少DAC的非线性误差。性能验证部分则通过理想和非理想的仿真实验评估了系统的稳定性和各项指标,最终证明所设计的ADC能够达到预期的技术标准。 适用人群:电子工程专业学生、从事数据转换器研究或开发的技术人员。 使用场景及目标:适用于希望深入了解Σ-Δ调制器的工作原理及其在音频带ADC应用中的具体实现方法的人群。目标是掌握如何利用MATLAB/Simulink工具进行复杂电路的设计与仿真。 其他说明:文中提供了详细的Matlab代码片段用于指导读者完成整个设计流程,同时附带了一些辅助函数帮助分析仿真结果。

    计算机课后习题.docx### 【计算机科学】研究生入学考试计算机组成原理专项题库设计:考研复习资源集成与优化

    内容概要:该题库专为研究生入学考试计算机组成原理科目设计,涵盖名校考研真题、经典教材课后习题、章节题库和模拟试题四大核心模块。名校考研真题精选多所知名高校的计算机组成原理科目及计算机联考真题,并提供详尽解析,帮助考生把握考研命题趋势与难度。经典教材课后习题包括白中英《计算机组成原理》(第5版)和唐朔飞《计算机组成原理》(第2版)的全部课后习题解答,这两部教材被众多名校列为考研指定参考书目。章节题库精选代表性考题,注重基础知识与重难点内容,帮助考生全面掌握考试大纲要求的知识点。模拟试题依据历年考研真题命题规律和热门考点,精心编制两套全真模拟试题,并附标准答案,帮助考生检验学习成果,评估应试能力。 适用人群:计划参加研究生入学考试并报考计算机组成原理科目的考生,尤其是需要系统复习和强化训练的学生。 使用场景及目标:①通过研读名校考研真题,考生可以准确把握考研命题趋势与难度,有效评估复习成效;②通过经典教材课后习题的练习,考生可以巩固基础知识,掌握解题技巧;③通过章节题库的系统练习,考生可以全面掌握考试大纲要求的各个知识点,为备考打下坚实基础;④通过模拟试题的测试,考生可以检验学习成果,评估应试能力,为正式考试做好充分准备。 其他说明:该题库不仅提供详细的题目解析,还涵盖了计算机组成原理的各个方面,包括计算机系统概述、数据表示与运算、存储器分层、指令系统、中央处理器、总线系统和输入输出系统等。考生在使用过程中应结合理论学习与实践操作,注重理解与应用,以提高应试能力和专业知识水平。

    __UNI__DB9970A__20250328141034.apk.1

    __UNI__DB9970A__20250328141034.apk.1

    minio-rsc-Rust资源

    rust for minio

    4-4-台区智能融合终端功能模块型式规范(试行).pdf

    国网台区终端最新规范

    《基于YOLOv8的化工管道焊缝缺陷检测系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    python源码-1个机器学习相关资源

    一个简单的机器学习代码示例,使用的是经典的鸢尾花(Iris)数据集,通过 Scikit-learn 库实现了一个简单的分类模型。这个代码可以帮助你入门机器学习中的分类任务。

    pyqt离线包,pyqt-tools离线包

    pyqt离线包,pyqt-tools离线包

    《基于YOLOv8的船舶机舱灭火系统状态监测系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    SQL常用日期和时间函数整理及使用示例

    SQL常用日期和时间函数整理及在sqlserver测试示例 主要包括 1.查询当前日期GETDATE 2.日期时间加减函数DATEADD 3 返回两个日期中指定的日期部分之间的差值DATEDIFF 4.日期格式转换CONVERT(VARCHAR(10),GETDATE(),120) 5.返回指定日期的年份数值 6.返回指定日期的月份数值 7.返回指定日期的天数数值

    GSDML-V2.3-Turck-BL20-E-GW-EN-20160524-010300.xml

    GSDML-V2.3-Turck-BL20_E_GW_EN-20160524-010300.xml

    T_CPCIF 0225-2022 多聚甲醛.docx

    T_CPCIF 0225-2022 多聚甲醛.docx

    《基于YOLOv8的智能仓储货物堆码倾斜预警系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    《基于YOLOv8的智能仓储货物堆码倾斜预警系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计

    蚕豆脱壳机设计.zip

    蚕豆脱壳机设计.zip

    附件2-2:台区智能融合终端入网专业检测单位授权委托书.docx

    台区终端电科院送检文档

    Y6一39一No23.6D离心通风机 CAD().zip

    Y6一39一No23.6D离心通风机 CAD().zip

    django自建博客app

    django自建博客app

    附件3-4:台区智能融合终端全性能试验增值税发票开具确认单.docx

    台区终端电科院送检文档

    非开挖水平定向钻机动力头装置设计.zip

    非开挖水平定向钻机动力头装置设计.zip

Global site tag (gtag.js) - Google Analytics