Buffalo 1.0alpha 发布!
Ajax正开始大行其道,Sun的Blueprints中已经开始包括ajax的支持。但是直接使用XMLHTTP在大多数情况下编程并不容易。Buffalo使得这一过程更加容易。Buffalo首先是burlap协议的JavaScript实现,但是他为Amowa(面向异步消息的Web应用)/Ajax提供了更多的支持。开发者可以使用Buffalo为web应用更加容易的添加Amowa/Ajax特性。请下载最新版本并运行范例应用获取更多信息。
关键特征清单:
* Burlap协议的JavaScript实现。事实上,burlap协议应该是目前最适合使用用作web remoting的通信协议,全面,简洁,适用。
* 每一个远程调用方法都是异步的,基于回调的编程模型。你可能这样使用buffalo:
var buffalo = new Buffalo("/buffalo/BUFFALO");
buffalo.remoteCall("userService.login",["username","password"], function(reply) {
var success = reply.getResult();
if (success) {
alert("You login successfully");
} else {
alert("user name or password incorrect!");
}
});
* 喜欢gmail一样的加载状态条吗?buffalo给你支持。当调用远程方法的时候,页面不再切换,一个友好小巧的Loading面板显示在浏览器右上角。
* 跨浏览器。支持Firefox 和 IE.
* Buffalo可以将服务器方法调用的返回结果整个对象模型直接传递到客户端,客户端可以像使用JSTL一般使用这些对象。这些对象将不仅仅使简单数据类型,甚至是复杂的、多层结构的模型。例:
Server:
public List listAll();
Client:
buffalo.remoteCall("userService.listAll", [], function(reply){
var userList = reply.getResult();
var firstUserFamilyName = userList[0].name.familyName; //Isn't it cool?
} )
* 容易使用。任意一个POJO可以被看作一个Buffalo Service, 完成这一操作只需要在buffalo-service.properties中加入一行。你不需要为了添加buffalo支持而编写额外的代码。
* 嗯,最重要的,它是开源的。Buffalo基于 Apache License 2.0, 你可以以任何方式来使用它,无论是商业还是非商业。
我相信,这是目前最易于使用的、体现Amowa/Ajax思想的组件。
URL: http://www.amowa.net/buffalo
下载: http://www.amowa.net/buffalo/download.html
Amowa: http://www.amowa.net