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

2016-02-19 15:04 46 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的ajax框架web ui 库 -- qooxdoo使用感想,希望大家看完后能赶快学习起来。

【 tulaoshi.com - Web开发 】

    本来是计划让团队内的同事一起总结使用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来进行辅助。

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

    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方法也不是按照字母顺序进行排序的。这个福星高照兄也提到了。

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

来源:http://www.tulaoshi.com/n/20160219/1608778.html

延伸阅读
标签: Web开发
一 ASP.NET AJAX Framework 1、ValidatorCallout 是ASP.NET AJAX Control Toolkit中的一员,老瓶装新酒,通过扩展的方式为ASP.NET的验证控件提供漂亮的弹出提示效果。缺点是:目前的版本还不能提供服务端Custom Validator的扩展。 同时,ValidatorCallout还支持自定义CSS样式,具体可参考官方页面上的“ValidatorCallout Theming” 一节...
这是一篇很有趣的文档,所以摘要一下,其实类似阅读笔记,似乎是3/25发布的: 不知怎么翻译Sweet Spots,难道翻译为甜处、甜头、蜜点、蜜穴? 本文基于对以下人的采访(最后两位的看法独到还是自己看吧!): JSF Jacob Hookom RIFE Geert Bevin Seam Gavin King Spring MVC Rob Harrop Spring W...
  ZK 开发小组宣布发布ZK 2.2 版本。ZK 是一个基于XUL嵌入AJAX事件驱动的Java 框架,用于丰富用户网络应用程序界面。  ZK 开发小组宣布发布ZK 2.2 版本。 ZK 是一个基于XUL嵌入AJAX事件驱动的Java 框架,用于丰富用户网络应用程序界面。 ZK包括一个基于AJAX可...
标签: Web开发
在过去,由于为了获得新数据而不得不重新加载web页面(或者加载其他页面)导致web应用程序发展被限制。虽然有其他方法可用(不加载其他页面),但是这些技术都没有被很好地支持而且有bug成灾的趋向。在过去的几个月里,一个过去并不被广泛支持的技术已经被越来越多的web冲浪者(web surfers??是指浏览器还是浏览者?)所接受,它给了开发...
标签: Web开发
目前,在提供商业应用方面,IT行业对Web系统的依赖程度越来越高。Web浏览器虽然一直是向远程用户提供软件的一种理想的廉价方式,但它们并不能像桌面应用那样提供丰富的客户端功能。而通过AJAX(异步JavaScript及XML)则可以实现丰富的客户端交互能力和实时数据微量更新(micro-update),并且不需要使用任何一种私有的专用插件。 AJAX是一种使...

经验教程

42

收藏

30
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部