最近“退步”了,在用PHP,看过“Ajax和PHP开发Web”之后,又接触了些Ajax库,尤其是YUI-Ext给我的印象很深。照此发展下去,本人预感Ajax将是C/S vs B/S这场战争的最终胜者。
Ajax虽然暂时用起来比较繁,但开放性好,对客户端要求低。当Ajax残酷的类库大战硝烟散尽之后,必有一王者成为客户端的统治者。即使从目前来看,Ajax中比较成熟的部分,也已经成为各网站的首选。而Ajax在企业内部的应用,也只待东风了(易用性和IDE)。
原先嫌Ajax繁,一直不理会。投了半年左右的精力在RCP上,作了一些Eclipse RCP、NetBeans Platform及WinForm SmartClient的实践。始终都不太满意,以致于怀念起VB、Delphi + COM。这才深刻体会到Ajax的两个最重要的优势,于是开始学习Ajax。
客户端技术发展到今天,功能大同小异,各有千秋。突破这种各自为政的混乱局面,是这些年技术大爆炸的根本原因之一。要想一统江湖,最终靠的是标准。
想当年Windows平台下应用程序开发无比繁荣,靠的正是Win32API。Win32API之所以成功,源于在Windows平台下的强制标准化,本身的高性能以及一定程度上的易用性。
而后的网络泡沫时代,亦高度繁荣,也正是源于HTML的标准化、高性能和易用性。
之后进入了Java和.NET的虚拟机时代,这一时代在服务层取得了重大突破,但表示层却始终尴尬。原因正是在于标准不统一、性能低下和易用性不高。由于不成熟的表示层技术不断引入,导致混乱局面不断升级。
而如今,Ajax日益流行和成熟,我们也许有机会结束这个混乱时代了。
之所以看好Ajax,正是因为它满足了两大要求:标准化和高性能。Ajax中涉及的JavaScript、XMLHttpRequest等技术,不论如何已经成为Web应用中不可或缺的角色,而各类型的浏览器都提供了支持,虽然有一些小的差异,但大方向上容易形成标准。Ajax对客户端的要求最低,既可以在高性能机器上提供大而全的支持,也可以在老掉牙机器上提供小而精的支持。以前Applet在JRE无预装之后即告退化,足可以说明其重要性。
与Flex和WPF不同的是,Ajax是完全开放的。也就是说大家都可以按照他的要求形成自己的体系和利益群。过去的Java和.NET已经足够大而全了,可惜人们还是要二选一,时至今日都难以抉择,令人惋惜。
至于易用性这一点,目前的Flex和WPF虽然暂时领先,但Ajax只要类库竞争尘埃落定之后,决非难事。过去的Struts即可为证。
顺便谈一下服务器端吧。WebService目前虽难用,但标准化是满足了,足以形成服务层的标准。现在的问题是:是采用官方版的标准SOAP,还是采用民间版的简化REST。这可能要依系统的规模和复杂度而定。不过这下我们身在服务端编程各个阵营的同道们大可放心了。不论是Java、.NET、PHP还是Ruby,只要采用WebService就可以实现互通互连,思路上总算是功德圆满了。实践中却还要解决性能和易用性的问题,虽然WebService达不到专用协议(如RMI)的效率,但为了异构系统集成和长远的扩展性,这点牺牲还是值得。我们要做的就是如何在自己的平台上把WebService用好,尽最大努力解决性能和易用性问题。
这几个月总见dlee等人宣扬REST+Ajax,先也不以为然。待笔者重走长征路后,才大体上得到了类似的结论。虽然晚了些,却是笔者的真实经验与感悟,在此与诸位共勉。
本人今日之愚见且认为:Ajax+WebService(或者说REST)最有可能成为表示层与服务层的最终标准。
分享到:
- 2007-07-10 18:32
- 浏览 2589
- 评论(2)
- 论坛回复 / 浏览 (2 / 4381)
- 查看更多
相关推荐
ajax+WebService应用实例
ajax+webservice
ajax跨域调用webservice实现文件上传,项目使用vs2019创建,请示用vs2019以上版本工具进行打开。
js+webservice 样例js+webservice 样例js+webservice 样例js+webservice 样例js+webservice 样例js+webservice 样例js+webservice 样例js+webservice 样例js+webservice 样例js+webservice 样例js+webservice 样例
1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末大作业和毕设...C++课设:基于QT+webservice的天气查询系统.
Struts+Spring+Hibernate+WebService集成架构
maven-spring-mybatis-web+webservice
xfire+spring+webservice xfire+spring+webservice xfire+spring+webservice xfire+spring+webservice
xfire+spring+webservice+client xfire+spring+webservice+client xfire+spring+webservice+client
从自己写的例子里提取,包含了XFire+WebService的所有jar包,整理不谢
pb11+webservice开发分布式三层应用的教程
pb11+webservice开发分布式三层应用
J2EE教程: Struts+Spring+JSF+Hibermate+EJB+XML+WebService+Ajax 工35M分为3个部分.
使用ajax+webservice进行前后台交互的示例,能够传递参数,并且参数和返回值都以json的形式
pb11+webservice开发分布式三层应用培训,有简单的开发教程,包括代码
axis+webservice详尽教程(含初高级用法).pdfaxis+webservice详尽教程(含初高级用法).pdfaxis+webservice详尽教程(含初高级用法).pdf
J2EE教程: Struts+Spring+JSF+Hibermate+EJB+XML+WebService+Ajax 工35M分为4个部分.
springboot+webservice搭建webservice服务端及使用java客户端两种方式进行调用
Flex+WebServiceFlex附件上传的小教程就是个我以前看过保存的网页,觉得好就拿来当资源,就1分下完别说我骗你~