又一个json-rpc库-----jabsorb

之前被js运行的那个速度吓到了(界面就算能做得再漂亮,这样的速度能给用户什么良好的体验),感觉未来的RIA无非是flex和siverlight的天下,前几天google发布了chrome浏览器终于让我重拾对js构建RIA应用的信心,dojo, yui, ext, jquery这些js库再加上css一样可以支撑起未来的RIA,看来js还是挺有生命力的,呵呵。


之前做过一个小网站,用的是ext,整个网站大多数内容是静态的,只有一小部份是要和后台交互的,当时想着要是可以直接在js中调服务器端对象的方法就好了,于是找到了dwr,dwr用起来确实很爽,不过我这个人很妙喜欢小一点轻量一点的东西,dwr还是觉得大了一点,而且很令人讨厌的是开发的时候得维护一个dwr.xml(改一改就得重启应用),我就做一个小网站的一小部分动态页面,总有点拿大炮轰蚊子的感觉。


寻寻觅觅终于找到了jabsorb,这东西确实小巧,一个jar包才130K,一个简单压缩的js才12k(这个还没用gzip压缩,用
gzip压缩后才4k),用起来才相当简单

 

		JSONRPCBridge json_bridge = (JSONRPCBridge) session
				.getAttribute("JSONRPCBridge");
		if (json_bridge == null) {
			json_bridge = new JSONRPCBridge();
			json_bridge.registerObject("bizBean", new BizBean());
			session.setAttribute("JSONRPCBridge", json_bridge);
		}
 

就是新建一个JSONRPCBridget,然后注册一个事务对象,再把JSONRPCBridget往session里一扔,服务器端这就算完事了。

 

客户端先导入那个挺小的js

 

<script type="text/javascript" src="jsonrpc/jsonrpc.js" />

 

然后在接下来的js中就可以用了

 

Ext.onReady(function(){
		jsonrpc = new JSONRpcClient("/learning1/JSON-RPC");
		var result = jsonrpc.bizBean.sayHello();
		...
});

 

真是简单又方便,更详细的资料可以考虑 http://jabsorb.org/

 

 

 

你可能感兴趣的:(json,Flex,chrome,DWR,ext)