Php-ajax应用程序架构

来自站长百科
跳转至: 导航、​ 搜索

导航: 上一页 | ASP | PHP | JSP | HTML | CSS | XHTML | aJAX | Ruby | JAVA | XML | Python | ColdFusion

浏览器端框架被划分成两大类[ ]

·应用程序框架:提供浏览器的功能,但是常以包括窗口小部件抽象和另外的部件而出名,其功能主要围绕桌面GUI框架。
·基本结构框架:提供基本的管道和可移植的浏览器抽象,让开发者去创建内容。典型的功能:

  • 针对XMLHttpRequest的包装器以封装浏览器-服务器的交互。(所有的框架都提供这一功能)。
  • XML操作和查询。
  • 根据来自XMLHttpRequest的应答执行DOM操作。
  • 在一些情况中,与另外的浏览器端技术如Flash(和潜在的Java applets)集成在一起。

服务器端框架[ ]

·HTML/JS生成:服务器提供完整的HTML/Javascript代码生成和浏览器-服务器协调,结果是只有浏览器端编码可以被定制。
·远程调用:Javascript调用直接被路由到服务器端功能(例如Java方法)并返回到Javascript回叫处理器;或者Javascript调用服务器以提取信息,例如会话细节,数据库查询等。
·纯Javascript:应用程序框架



Bindows框架[ ]

·基于类的面向对象的API
·一套完整的窗口系统,提供宽范围的窗口小部件支持,包括菜单、表单、格子、滑动条、量程,甚至更多
·用于开发zero-footprint SOA客户端应用程序的领先的工具箱
·本机的XML,SOAP和XML-RPC支持
·单用户到企业级的支持
·内建的对AJAX的支持
Bindows开发环境:
·支持企业级规模的工程开发
·跨浏览器,跨平台支持
·服务器独立结构
·与新的和现有资源的互操作性
·一致性开发方法学



DOJO[ ]

·为创建定制的Javascript窗口小组件提供框架支持。
·预置的窗口小组件库。
·浏览器-服务器消息支持-XMLHttpRequest和另外的机制。
·支持浏览器中的URL操纵功能。
·开源许可(学术自由许可2.1(http://opensource.org/licenses/afl-2.1.php)),由JotSpot(http://www.jot.com/)的Alex Russell(http://alex.dojotoolkit.org/)所领导。


Open Rico[ ]

·一个XMLHttpRequest应答能被路由到一个或者更多回叫操作,DOM对象,或者Javascript对象。
·容易鼠标拖动支持。
·Ajax动画,例如缩放和变换。
·"行为"-实质上是窗口小组件库。
·使用指南(http://www.mirimar.net/mailbrowser/),由RussMirimar的Yonah所提供
·开源。源于Sabre航空公司解决方案,由Bill Scott(http://looksgoodworkswell.blogspot.com),Darren James及另外一些人所支持。


qooxdoo[ ]

·基础结构:

  • DOM和事件/焦点管理的可移植的抽象。
  • 调试支持。
  • 易于时间调度的Timer类。
  • Getter/Setter支持。

·UI:

  • 窗口小组件框架和预置的窗口小组件库。
  • 布局管理器。
  • 图像缓冲和可移植的PNG透明性。

·开源(LGPL)。来自多方面的贡献者。


Tibet[ ]

目的是提供高度可移植的和全面的Javascript API,结果是,可能自动生成大量的客户端代码。自称是"企业级Ajax"。
·远程脚本运行在XMLHttpRequest包装之上-通过协调调用结果支持工作流管理,例如应答可以发生在只有当两个分离的调用返回时。
·URI支持。
·所有的HTTP方法-不仅是"GET"和"POST"。
·低级的协议-File://和WebDav以及HTTP。
·Web服务调用-SOAP,XML-RPC,等等。
·预置的针对Google API,Amazon API等等服务的支持。
·由高级Javascript对象组成一个巨大的库。
·许多XML操作。
·IDE和开发工具。
·开源许可(显然经过OSI认证,但是细节不多)。



纯Javascript:基础结构框架[ ]


AjaxCaller[ ]

这是一基本的线程安全的XMLHttpRequest包装器,主要针对Ajax新手,仍处于原始的alpha开发阶段,目前仅与AjaxPatterns的在线搜索范例一起打包。
·实现对服务器的调用(GET/POST/PUT/DELETE),用路由到一个回叫操作的plain-text或者XML完成。
·使用过的XMLHttpRequest对象的析构。
·Response缓冲(计划的)。
·针对Ajax新手-并非强调性能优化,该库主要用于实现易读的基础代码并将提供调试支持。
·开源许可。由Michael Mahemoff(http://softwareas.com)(具有John Wehr和Richard Schwartz的一些思想)维护。



交互式网站框架[ ]

交互式网站框架是一个项目,目的是从浏览器端对Ajax基础结构的多方面予以支持。自描述为"使用javascript,css,xml,和html来创造高度交互网站的框架。包括一个定制的针对高度可读的javascript的xml分析器。实质上,是建立基于AJAX的网站的基础,还有另外一些通用脚本"。
·线程安全的XMLHttpRequest实现。
·针对XML文档的包装器,以便你能够创建更具可读性的代码:

var node = doc.groceries.frozen[0].pizza[0].size;

代替手工的导航:

var node = doc.documentElement.firstChild.firstChild.getAttribute("size");

·开源许可。由Weaver(http://circaware.com%7CBrock)维护。





服务器端:多种语言[ ]


跨平台异步的接口工具箱[ ]

CPAINT:是一真正的支持PHP和ASP/Vbscript的Ajax实现和JSRS(JavaScript远程脚本)实现。CPAINT提供给你需求的代码在后台实现AJAX和JSRS,而返回的数据以JavaScript形式在前台操作,格式化和显示。这允许你创建能提供接近实时的反馈给用户的web应用程序。
·支持PHP&ASP
·针对所有函数的一致的JavaScript文件
·支持远程脚本和XML
·支持本地和远程函数
·单个或者多个XMLHTTP对象
·以文本或者JavaScript XML/DOM文档对象方式返回后台数据
·能支持POST和GET请求
·后台代理函数来访问远程函数和数据
·在所有的主要浏览器上测试过
·在GNU GPL&LGPL保护下发行






Ajax.NET[ ]

是一个库,实现从Javascript到服务器端.NET的存取。
·象SAJAX,能把Javascript中的调用传递到.NET方法,并返回到Javascript回叫。
·能存取来自于JavaScript的会话数据。
·缓存结果
·自由使用,可用的源码,未指定使用许可。由Michael Schwarz(http://weblogs.asp.net/mschwarz/)所维护。
·不允许改变源代码,用属性标记方法
·完整的类支持以返回客户端JavaScript值
·使用HtmlControls来进行输入和返回值
·可以返回数据表,数据集,数据视图,数组和集合


服务器端:PHP[ ]


AjaxAC[ ]

用单个的PHP类封装了完整的应用程序。
·所有的应用程序代码是自包含在单个类中(附加另外一些JavaScript库)
·干净利索地调用PHP文件/HTML页面。只需创建应用程序类,然后参照应用程序JavaScript和依附任何需要的HTML元素到该应用程序。
·容易地处理JavaScript事件的内嵌功能
·创建子需要并处理它们的内嵌功能
·允许定制的配置值,因此某些单元能在运行时间设置
·无凌乱的JavaScript代码夹杂在调用HTML的代码中-所有的事件是被动态依附的
·由于以上两个原因容易和模板引擎集成到一起
·容易钩到(hook in to)已有的PHP类或者MySQL数据库以返回来自于子需求的数据
·能够容易地进一步生成JavaScript对象的可扩展的窗口小组件结构(但是还需要做一些工作)
背景:
·开源许可(Apache2.0)。由Zervaas Enterprises(http://ajax.zervaas.com.au/)支持


XAJAX[ ]

直接把Javascript调用传递到PHP函数。
·使用Javascript代理来调用PHP脚本。
·开源。由J.Max Wilson所创。


服务器端:Ruby[ ]

Ruby On Rails是一个通常的强力支持Ajax的web框架:
·当Ajax出现的时候Rails还处于其发展的早期,因此Ajax可能逐渐成为Rails框架的核心。
·生成浏览器中大多数/全部的窗口小组件和动画的Javascript脚本。
·支持服务器端调用。
·调度支持。 
·开源许可。