在Web应用程序的开发过程中,当后台的架构比较成熟后,我们会发现UI成了开发最大的瓶颈。
对于大公司而言,他们都有自己的UI框架,因为他们有足够的资源去维护和发展自己的UI框架。
通常小公司没有这样的技术力量和资源去维护自己的一套UI框架,选择一个开源UI框架是比较实际的一条路子。
我为Web UI框架做过一次选型,对比了ExtJs/Jquery UI/dhtmlx/DWZ等几个UI框架后,最终选定了DWZ。
这里就不列举选型过程中的对比分析了,只就我的认知对DWZ做个介绍。
DWZ是个很不错的UI框架,国产的,三个人的团队在开发,一个美工,两个js开发。
我已在实际生产环境中使用,从1.1.x开始使用到1.3.x,目前还未升级到1.4.x。
DWZ项目地址在:http://code.google.com/p/dwz/。
我不是托,以下就想到啥写啥了,最讨厌javaeye新闻板块那些发一个什么国产开发框架发布了,然后弄几个马甲做托自己吹嘘的玩意了。
1. 基于jquery。jquery在js这块基本上是个事实标准库,不用担心发展问题。
2. ajax单页面框架,其它的页面都是通过ajax加载到主页面来的。这是它最重要的特性,了解这点对于理解它很重要。
3. 有比较丰富的内置UI组件,树/分页列表/Outlook折叠菜单/Panel/日期控件等等,能满足大多数应用需求。
4. 消息提示采用json格式封装,在页面以弹出层的方式显示,非常不错。
5. 组件采用原生html标签元素+自定义属性实现,大大降低了开发人员的学习成本。
6. 整个框架采用navTab机制实现在页签中展示页面,这是固化的不可改变的结构,所以对于门户站之类的互联网应用不太适用,比较适用于纯应用程序。
7. 源码分隔的很合理,易于查阅和理解。dwz.core.js/dwz.ajax.js/dwz.ui.js需要自己去熟悉和理解,其它是组件js,可以只在需要的时候查阅。
8. 由于是单页面框架,页面元素的id之类的标识以及自定义的js函数命名应当注意规范,因为容易冲突导致出现不易发现的bug。或者扩展写一些辅助函数帮助你在指定的navTab中查找页面元素吧。
9. 第三方jquery插件直接集成使用时可能会出现问题,因为...这是个单页面框架,最好是按dwz本身的插件集成机制进行扩展,而不是直接继承第三方的jquery插件。
10. 集成了jquery.validate并作了封装,表单的JS校验省力了。
11. 表单及查看页面的布局比较死板,样式简洁得只剩白板,要好看一些得自己下点功夫修饰一下。
12. 文档更新得不是很及时,有些代码有的功能文档上却没写...所以请相信源码多于它的文档吧。