ajax框架,web ui 库 -- qooxdoo使用感想

    本来是计划让团队内的同事一起总结使用qooxdoo的使用经验和困难,然后写些关于使用qooxdoo的总结供大家参考,但因为项目的原因到现在也没有时间办这件事情,所以打算还是零零碎碎的写一点是一点,乱就乱了,今后再整理。另外最近发现其实国内还是有不少人关注和使用qooxdoo的,所以立马写下这个帖子抛砖引玉。

1、qooxdoo基本信息
    qooxdoo带有XHR的封装,但其主要的还是WEB UI,提供了类似桌面程序的窗口小部件。
   http://www.blogjava.net/ynstudio/archive/2006/07/23/59648.html
  从上面的链接可以看到我们开发的一个项目中的几个截图,也可以到其官方网看其demo。
  官方网站 http://qooxdoo.org/ ,在官方网站上可以看到其下载地址,有两个文件,一个是src一个是build,所谓build就是把所有的src里的js文件都合并到一个js文件里,排成一行,去除注释,从而缩小体积,但也有700多K。
   http://www.nabble.com/Javascript-f15545.html 是一个关于几个javascript应用的论坛,其中就有qooxdoo的,你可以从这里了解其动态,参与相关的讨论。
2、RPC
    如果使用qooxdoo,而不使用XHR,那么页面就需要刷新,这个是麻烦的。我们本来是使用的DWR,现在使用的是经自己改造的JSON-RPC-JAVA。现在java里似乎主要就是这两个。其他语言的话,如.net,perl,php都有json-rpc的实现。使用了类似JSON-RPC-JAVA和dwr这样的技术,开发模式就类似一般的C/S开发了,当然困难还是有的。
3、我们使用qooxdoo遇到的一些困难
      A、首先是界面的开发,虽然类似C/S的开发方式了,不再存在页面刷新带来的烦恼,思考问题更加直接,不需考虑参数传来传去,不需学习一堆的标签,特别是对于刚接触WEB开发的程序员,接受起来更加容易。但是界面都是使用代码来构建的,而javascript也没有很好的编辑工具。所以刚开始开发时还是满痛苦的。后来有了些改观,1、规范代码结构,界面代码,事件响应代码,公用函数,归类摆放;2、选择更好的编辑工具,如JSEclipse,aptana等;3、使用调试工具,我认为firefox的firebug是最好的;4、尽量把逻辑放在java里,降低界面javascript的复杂度。另外今后我们将推广QxBuilder的使用。
    B、layout的使用。对于我们这些开发人员,习惯使用table来进行布局,在qooxdoo里只有QxGridLayout最象,但不好使用。我们开发了一些辅助方法来降低其使用难度。
    C、没有类似HTML里的Form。使用qooxdoo加RPC其实不存在,HTML中的Form+submit的方式,但直接对fieldtext等进行操作,感觉不如form方便,所以我们开发了一个FormManager来进行辅助。
    D、中文资料少,或者说基本上没有,有的只是些转来转去的没用的文字。
    E、效率问题,起初为了方便开发,主页面和其他页面之间都是用QxNativeWindow的方式,即window.open,但由于IE的问题,以及qooxdoo 700k 的代码,导致每打开然后关闭一个新窗口,内存以6~10M的速度递增。这个问题的解决有两个方案,一个是不允许同时打开两个窗口,所有的页面都在一个iframe里切换,另外就是在主页面里使用QxWindow,但一个使用不方便,一个开发不方便。
4、排序的问题
    这个是福星高照兄发现的,原文如下
qooxdoo默认用的是sort方法,这个方法的排序是按照字符集的顺序来的
关于中文排序问题,可以修改QxCompare.js,把QxCompare.byString的方法改了,倒是很简单,改成return a.localeCompare(b);
localeCompare()使用本地特定的顺序来比较两个字符串,语法如下:
string.localeCompare(target)
参数target是要与string进行比较的字符串。
如果string小于target,则localeCompare()返回小于0的数;
如果string大于target,返回大于0的数;
如果不愿意改QxCompare.byString,那么添加一个compare对象也成。

本来我以为是我用的是utf-8导致排序按照utf-8里的汉字排序,但我测试发现,即便是纯的GBK页面,Array的sort方法也不是按照字母顺序进行排序的。这个福星高照兄也提到了。

posted on 2006-08-05 15:12 一农 阅读(5454) 评论(9)  编辑  收藏

评论

# re: ajax框架,web ui 库 -- qooxdoo使用感想 2006-08-05 19:41 mixlee

为啥非的弄成C/S模式?AJAX只是补充而已。C/S是倒退  回复  更多评论   

# re: ajax框架,web ui 库 -- qooxdoo使用感想 2006-08-05 20:24 一农

@mixlee

在UI上B/S是倒退,使用类似C/S的web ui是为了改善可操作性。
胖客户端是倒退,但富客户端现在是趋势。
比如gmail,为什么搞那么麻烦的代码,就是为了方便客户操作。
有些地方ajax只是辅助性的,有些地方则是基于ajax来进行开发,场合不同而已。  回复  更多评论   

# re: ajax框架,web ui 库 -- qooxdoo使用感想 2006-08-24 05:36 jolestar

请问你怎么整合qooxdoo?在qooxdoo类中能直接用js通过dwr调用java对象么?
能否给段参考代码或者参考资料?
我的邮箱 jolestar@gmail.com  回复  更多评论   

# re: ajax框架,web ui 库 -- qooxdoo使用感想 2006-09-04 15:45 一农

@jolestar

你应该了解dwr,这个和qooxdoo没有什么关系。  回复  更多评论   

# re: ajax框架,web ui 库 -- qooxdoo使用感想 2006-09-04 17:43 sun123

to 一农
help!
最近在做这样的一个东西
在主窗口中有一个 iframe 和 一个 tabview
打算在iframe点击一条记录,tabview就打开一个新的tab页,
在iframe 的click 事件触发 parent的一个函数function tab_1_openTab()
但是,只有当点击以后,鼠标移出iframe的区域才会执行function,......好奇怪。
后来慢慢的查,发现只要函数中其他语句会执行,有类似tab_1.getBar().addBefore(tab_1_tb[index],tab_1_hs);...
就是有add语句好像就有问题。
你有没有这方面的经验阿?好烦人呐!
是不是qx的add中有些什么特殊的东西。
还有 qx 的例子中都用 window.application.main = function() .......
这和直接写在script 中有何区别?  回复  更多评论   

# re: ajax框架,web ui 库 -- qooxdoo使用感想 2006-09-04 18:16 一农

@sun123

1、这个我也没遇到过,使用iframe问题满多的,现在我模仿桌面程序的多文档方式来做的,你也可以尝试一下,另外感觉你现在使用qooxdoo的方式,倒不如找一些比较小的ui库来做。

2、现在这种用法是会在document.onload之后调用window.application.main,如果直接写的话,只能写在</body>之前,否则有些内容还没准备好,不过如果你的界面都是使用qooxdoo来生成的倒也无所谓,但qooxdoo的执行就是找这个东西,在他的官方网站上有篇文章是介绍qooxdoo的执行顺序的,你可以去找来看看。  回复  更多评论   

# re: ajax框架,web ui 库 -- qooxdoo使用感想 2007-01-13 16:21 qooxdoo爱好者

我是初学习,
请问博主可不可以讲一直这个框架的应用在项目中的图片路径要怎么设置,我要是用自已的图片,或以放到框架本身的resource中吗?  回复  更多评论   

# re: ajax框架,web ui 库 -- qooxdoo使用感想 2007-01-13 16:23 qooxdoo爱好者

请问博主,有空的问可以多讲点关于qooxdoo的应用文章吗?
我想学习,但网上没有什么好的资料,学习难度太大了!  回复  更多评论   

# spring+qooxdoo[未登录] 2007-01-20 12:12 Lee

你好,我目前的项目server采用spring,hibernate等技术,在webUI层准备采用AJax技术,如果我采用了spring(或许其它MVC框架),如何整合qooxdoo,不知道你有何指导意见。  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

公告

南京 java辅导班 约等于免费 详见yuqiaotech.com

导航

<2006年9月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

统计

常用链接

留言簿(10)

随笔档案

文章分类

文章档案

相册

搜索

最新评论

阅读排行榜

评论排行榜