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

sky对太阳说日

sky对太阳说日

2016-02-19 15:04

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的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的,你可以从这里了解其动态,参与相关的讨论。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

    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)

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

    参数target是要与string进行比较的字符串。

    如果string小于target,则localeCompare()返回小于0的数;如果string大于target,返回大于0的数;如果不愿意改QxCompare.byString,那么添加一个compare对象也成。

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

展开更多 50%)
分享

猜你喜欢

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

Web开发
ajax框架web ui 库 -- qooxdoo使用感想

国内外最全面和主流的JS框架与WEB UI库

Web开发
国内外最全面和主流的JS框架与WEB UI库

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

ajax框架之xajax的使用

Web开发
ajax框架之xajax的使用

jquery 框架使用教程 AJAX篇

Web开发
jquery 框架使用教程 AJAX篇

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

ajax框架之jqpie的使用

Web开发
ajax框架之jqpie的使用

AJAX框架汇总

PHP
AJAX框架汇总

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

再谈CMOS密码

再谈CMOS密码

一步一步教你用Word2007制作公章

一步一步教你用Word2007制作公章
下拉加载更多内容 ↓