1.什么是JPSpan? (http://jpspan.sourceforge.net/)
首先,JPSpan实际上就是一个用PHP和JS完整封装XmlHttp的开源框架。(JPSpan目前的版本是0.4.3Beta。)
它使PHP和Javascript有机的结合在一起,他的优点在于提交页面时,用户不会感觉到有网页提交或刷新的过程,不用重新装载整个页面,并且你可以远程调用服务器端PHP类方法。它的思路是将PHP和JS分别置于服务器端和客户端,客户端通过调用服务器端生成的JS脚本来使用PHP语句中定义的类资源。它很适合做富客户端(RIA),还能将一部分代码隐藏到PHP里,只预留有限的接口。
JPSpan应用Ajax技术,严格来说,Ajax不是一项技术,它是 Asynchronous JavaScript + XML 的缩写,是几种技术的强有力组合。
2.Ajax 包括:(http://www.adaptivepath.com/publications/essays/archives/000385.php)
* XHTML 和 CSS 的标准表示;
* 使用 DOM(Document Object Model)进行动态显示及交互;
* 使用 XML 和 XSLT 进行数据交换及相关操作;
* 使用 XMLHttpRequest 进行异步数据查询、检索;
* 使用 JavaScript 将所有的东西绑定在一起。
传统的 WEB 应用程序模型是这样工作的:用户的界面操作触发 HTTP 请求,服务器在接收到请求之后进行一些业务逻辑处理,如保存数据等,然后向客户端返回一个 HTML 页面。但这种方式并没有给予用户很好的应用体验,当服务器在处理数据的时候,用户则处于等待的状态,每一步操作都需要等待,太多的等待会使用户越来越没有 耐心。而 Ajax 则大不相同,它通过 Ajax 引擎,使得应用过程很自然,操作很流畅,因为其只和服务器交换有用的数据,而页面显示等不必要的数据则不再重新加载。
在处理产生的http请求时,由叫做Ajax 引擎来代替(Ajax 引擎其实就是 JavaScript、XML、XMLHttpRequest 等各项技术的综合应用)
3.Ajax 应用前景
Ajax 的最大挑战并不是技术,组成 Ajax 的各项技术已经相当成熟、稳定及易懂,主要挑战是如何使用 Ajax 设计应用程序,必须抛弃以往对于 WEB 局限性的看法,开始开阔视野、开放思想、不断创新,实现更加丰富的应用体验。
4.JPSpan 的缺点
优点就不多说了,上边已经写的很清楚了,缺点就我认知的有以下几点:
1.冗余代码更多了,js文件在页面被打开时,全被下载到客户端
2.xml加载时的资源耗费
3.但要使用AJAX,要求客户端的浏览器支持Javascript和 XMLHttpRequest object,不过XMLHttpRequest object现在好像只有IE,Firefox和Safari支持,如Opera就不支持。
4.没有back和history的浏览器,不存在后退和前进。
AJAX经典文章
Ajax内部交流文档 |
http://info96.k12studio.com/~nio/comments.php?id=242_0_1_0_C |
简单地对 Ajax 进行描述介绍 |
http://www.adaptivepath.com/publications/essays/archives/000385.php |
Ajax: A New Approach to Web Applications |
Using the XML HTTP Request object |
http://developer.apple.com/internet/webcontent/xmlhttpreq.html |
Dynamic HTML and XML: The XMLHttpRequest Object |
del.icio.us / popular / ajax |
http://www.fiftyfoureleven.com/resources/programming/xmlhttprequest/examples |
XMLHttpRequest & Ajax Working Examples |
Very Dynamic Web Interfaces |
http://www.standards-schmandards.com/index.php?2005/03/01/16-ajax-and-accessibility |
AJAX and Accessibility |