说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

【开源专访】DWZ团队:致力打造最简单的Web前端开发方式

HTML文档下载 WORD文档下载 PDF文档下载
jUI是DWZ团队开发的基于jQuery的Ajax RIA开源框架,支持用HTML扩展的方式来代替JavaScript代码,使不懂JavaScript的程序员也能使用各种页面组件和Ajax技术。CSDN记者采访了DWZ团队,请他们来详细介绍。

jUI(原DWZ)富客户端框架是DWZ团队开发的基于jQuery实现的Ajax RIA开源框架,支持用HTML扩展的方式来代替JavaScript代码,不懂JavaScript的程序员也能通过jUI来使用各种页面组件和Ajax技术。jUI基于jQuery,你可以非常方便地定制特定需求的UI组件,并以jQuery插件的形式发布。

jUI项目在“2013年度中国优秀开源项目评选”中获得较高票数,并被专家评审团评为“2013年度中国优秀开源项目”。

  • DWZ团队官方微博:http://weibo.com/dwzui
  • jUI(DWZ)项目在线演示地址:http://j-ui.com
  • 项目托管地址:https://code.csdn.net/dwzteam/dwz_jui

CSDN记者采访了DWZ团队,请他们来详细介绍一下jUI框架的由来及他们的开发、开源心得。


从左到右:杜权、张慧华、吴平、郑应海

CSDN:先介绍一下你们的团队吧!

杜权:从事UI/UE前端设计工作,有13年产品设计工作经验。jUI项目发起人,负责用户界面设计、用户体验设计,负责jUI组件HTML结构定义、CSS定义,并负责jUI组件开发完成后的验收工作。

吴平:一直从事Java开发工作,对前端开发也是有一定的兴趣,所以才会参与到这个项目中来。jUI创始人之一,在项目中主要负责jUI组件的JS开发工作。

张慧华:一直从事Java开发工作,对前端开发比较感兴趣,2013年开始从Java转到HTML5手机App开发。在项目中主要负责jUI组件JS开发,以及jUI和Java、PHP整合版本的开发。

DWZ团队目前除了3个创始人,还有几个核心开发人员:郑应海、张涛、冀刚。此外,还有一些没见过面的网友也参与到项目中。

CSDN:jUI项目最初的名字为DWZ,这个名字是怎么来的?后来为什么又改为jUI?

杜权:DWZ取名为“杜权、吴平、张慧华”姓氏拼音首字母,起初由我和吴平用了两个月的业余时间开发了第一版,之后主要是张慧华维护和小步更新。我们想把这套界面框架做成完全自由、开放、安全、不嵌入任何内码的一套界面框架,让它成为行业标准,所以我们重新选择了名字jUI作为框架名称。j的中文寓意很丰富,比如可以代表界面、简单、简洁、教导、焦点、角度等,从技术上可以理解为JavaScript、jQuery、JSON等。而我们三个人又是在Java项目的开发工作中结识,并成为朋友,合作伙伴。

吴平:DWZ这个名字更多的是代表我们这个团队。

张慧华:现在DWZ作为一个团队代号,jUI就是DWZ团队下的一个产品。在DWZ这个团队下还有Java企业级开发框架、ThinkPHP+jUI整合应用、ZendFramewark+jUI整合应用,以后还会有HTML5手机开发框架。

CSDN:jUI项目的开发初衷是什么?

杜权:在我职业生涯中有过多次跳槽经历,做过的大大小小的网站和软件有千余个,从中感觉到无论是大公司还是小公司做开发都存在着同样的问题——做设计的不懂代码,写代码的不懂设计。在整个界面实施的过程中频频遇到设计的界面无法实施到产品中,而我在学设计时对编程也有浓厚兴趣,对编程思想和代码结构都比较清楚,掌握的技术知识面比较广泛,所以对于一个功能呈现到界面上该如何表现,代码结构该怎么写,在这方面理解更深刻。在工作中不断总结方法,发现大多数界面在切割成独立的个体时,代码都可以重用,为了制作界面的工作更简单、更高效,我们尝试在一套HTML上采用不同的CSS来实现多种风格,基于这样的思路把界面代码片段化,分成一个个功能组件,而页面就可以由一个或几个这样的组件组合出来。我们想让JS编码能力稍弱的设计师或程序员学习和使用这种方法,从而提高工作效率,提升代码水平,缩短时间成本。

吴平:最开始我们在公司的项目中也用过市面上的一些组件框架,但始终觉得用起来都挺麻烦的,后来干脆就自己编写组件,后面凭着我们对前端开发的兴趣,决定更系统地开发出全套的组件。至于为什么会开源,应该说源于张慧华的一次尝试。

张慧华:jUI项目开源算起来快4年了,在这之前我们也没有做过开源项目。刚开始我把jUI打了个zip包上传到了CSDN,发现关注的人还挺多,后来就放到Google Code上。当时国内还没有Code平台,第八届开源大会后把代码迁移到CSDN Code平台后下载速度明显快多了。

我们几个属于技术狂热者,平时没事就会一起讨论一下技术问题。都是纯做技术的,没有任何营销经验。通过做开源项目可以认识各方面的人才,建立人脉关系,为以后的发展做准备。就这样慢慢走向了开源之路。

CSDN:jUI的设计思路和具体实现是什么?如何使得开发人员不写JavaScript的情况下,也能用Ajax做项目和使用各种UI组件?

杜权:做界面首先要清楚地理解界面,相信大多数人对界面的理解只是好看不好看,而我对界面感官上的理解首先是把界面和内容分开,无论是产品经理还是界面设计师对界面的理解都是非常重要的,理解不清晰将无法做出一个高性能的产品,将直接影响到整个产品的质量。

那么什么是内容?什么又是界面呢?内容是一个页面要传达给我们的信息,包括文本、图片、媒体等;而界面就是布局和色彩,无论是布局和色彩都是修饰内容用的,包括宽高、位置、边框、投影、大小、颜色、字体等。从技术角度理解界面就是:

  • 用HTML定义内容的类型和结构,正确的内容使用正确的标签定义;
  • 用CSS定义标签的布局、颜色、大小、背景等。

基于界面的用途来定义并规范HTML代码片段,再用CSS选择定义这一块代码片段中标签的具体颜色、边框、字体等来规范一个组件显示什么样的效果,从而使一个页面内的组件可重用多次,而代码却是同一段。

另外,我们针对不会写JS的用户,开发了很多基于传统HTML用法的扩展属性,只要有HTML的基础就能实现很炫的效果。例如:点击一个链接,想让浏览器弹出一个Ajax动态加载的漂浮在当前页面的窗口,而不是打开一个新的浏览器窗口,通过jUI,你只需要一行简单的代码就能搞定,<a href="url"target="dialog">弹出窗口</a>。和传统的链接相比<a href="url" target="_blank">弹出窗口</a>,只是target的属性不同而已,你几乎不需要学习就能使用。

张慧华: 设计思路是:简单实用、扩展方便、快速开发、RIA思路、轻量级。Web 2.0时代的到来,前端开发人员非常稀缺。jUI目的就是让不懂前端,不懂JS的开发人员,也能够做出非常炫的页面效果。jUI就是本着这个原则,添加一些HTML扩展属性,通过class实现自动绑定JS效果。jUI中每个可视化组件都提供有HTML扩展属性调用方式。

jUI基于jQuery,对一些有JS开发经验的开发人员,可以非常方便地扩展其功能。

CSDN:相比其他前端框架,jUI的优势或特点是什么?

  • 完全开源,源码没有做任何混淆处理,方便扩展
  • CSS和JS代码彻底分离,修改样式方便
  • 简单实用,扩展方便,轻量级框架,快速开发
  • 仍然保留了HTML的页面布局方式
  • 支持HTML扩展方式调用UI组件,开发人员不需写JS
  • 只要懂HTML语法不需精通JS,就可以使用Ajax开发后台
  • 基于jQuery,UI组件以jQuery插件的形式发布,扩展方便

CSDN:你们也开发了一些整合项目,比如SSH+jUI、ThinkPHP+jUI、ZF+jUI、YII+jUI,这些项目的目的是什么?未来还会整合哪些项目(框架)?

吴平:这些整合的项目基本都是张慧华一个人的杰作,我跟杜权参与得很少,我们更多是在jUI项目本身上。

张慧华:目前的整合项目有:

  • dwz4j企业级Java Web快速开发框架(Hibernate+Spring+Struts2)+ jUI整合应用
  • dwz4j企业级Java Web快速开发框架(Mybatis + SpringMVC)+ jUI整合应用
  • ThinkPHP + jUI整合应用
  • Zend Framework + jUI整合应用
  • YII + jUI整合应用

这些整合项目主要是为了让开发人员能够更快上手。在实际项目中使用jUI,如果只是看jUI文档,很多地方不好理解,特别是一些和服务器交互性比较强的地方,比如表单提交、列表查询、分页、排序等操作,因为这些不仅仅是前端问题。结合Java和PHP整合版本,开发人员可以更方便地理解和使用jUI。

还有一个原因是我们还想推广dwz4j企业级Java Web快速开发框架,现在该项目还没有相关文档,后续会把文档补上。

CSDN:jUI在浏览器兼容方面表现如何?

吴平:对于浏览器兼容方面我们通过两种途径来解决:一方面,杜权在CSS兼容方面做了大量的工作;另一方面,利用JS来处理一些CSS不太容易处理的兼容性问题。可以说当时在浏览器兼容性方面下了不少工夫,出来的效果至少对于我们自己来说,还算是满意的。

CSDN:在jUI开发过程中,你们是如何分工的?又是如何协作的?你们平时使用的开发工具是什么?

由杜权设计好界面,并以HTML结构形式提交到内部的SVN服务器,然后再根据时间安排分别提交给吴平或张慧华开发具体的JS代码。

杜平在提交HTML时,分别把功能需求写在每个组件的独立页面中,并以注释的方式分别在代码行中描述当前要用的属性和要实现的效果应该怎么控制。JS编码完成后通过内部服务器直接测试,如果没有问题就可以上线。

我们使用的工具如下:

  • Java开发工具:Eclipse
  • PHP开发工具:Zend Studio
  • 前端开发工具:AptanaStudio、JetBrainsWebStorm
  • HTML5移动开发工具:JetBrains WebStorm
  • 设计工具:Photoshop、Illustrator

CSDN:用户如何在自己的项目中整合jUI?

吴平:在自己的项目中整合jUI,我自己认为是比较简单的,因为一般只要按照文档中对组件的描述,正确写组件的HTML代码,并加上对应的扩展属性,基于就可以了。

但对于初次使用的用户来说,jUI的文档可能还不够详细,这里也希望在使用jUI方面有一定经验的朋友,可以分享一下使用心得,感谢不尽。

CSDN:据你们所知,目前大约有多少项目采用jUI?

杜权:我们没有刻意统计过用户量,从朋友和以前的同事提供的信息中得知,至少有几个大公司正在使用我们的框架,比如新浪微博商业后台管理、IBM电子商务解决方案、联通内务管理系统等等。

张慧华:现在jUI有8个1000人的QQ群,我大概从群里了解过,很多人在项目中使用了jUI。

CSDN:jUI在移动平台上表现如何?或者是否有专门针对移动优化的版本?

吴平:之前的版本在移动平台上的表现可能不及在PC上的表现那么好,我们也确实考虑过针对移动设备专门优化一个版本出来。

张慧华:计划以后开发一套HTML5移动App开发框架,可以参照Sencha Toucha的App设计思路,在提供App性能的同时,结合jQuery的简洁语法。

CSDN:jUI未来的发展计划?

张慧华:jUI 2.0 开发了一半,估计暂时放一放了,可以先考虑HTML5手机开发框架。

CSDN:你们如何看待国内的开源环境?对于国内开源领域,你们希望CSDN做些什么?

我觉得国内开源一般都是从非盈利的兴趣爱好项目开始的,很难通过捐赠获利。想要实现盈利可能需要一个全新的盈利模式,比如做技术支持、培训、定制化开发、政府资助、风险投资等。

CSDN可以通过社区的力量共同推进开源软件发展,希望CSDN开源社区能够适应国内开源环境,提供一些特殊功能,能够让开发者、参与者、使用者和社区都能有所收获。比如,社区最好有一个完善的积分系统,来激励大家回答问题,解决问题。针对每个开源项目提供社区版块,方便集中管理开源项目中遇到的各种问题。

【开源专访】系列文章致力于对国内外优秀开源项目作者、团队的专访,挖掘项目背后的故事和更多技术细节,以及对项目的宣传、推广。同时,我们也希望广大开源开发者和爱好者自荐或推荐更多优秀的开源项目。欢迎留言或@CSDN研发频道。

SQL的基本操作(3.表的相关操作) -VB资料 SQL的基本操作(4.数据的检索)-VB资料 SQL在VB中的使用及访问远程数据库 Text 转换为 Access MDB -VB资料 VB5.0数据库基础 非编程方式访问数据库-VB资料 VB用编程方式访问数据库 VB 5.0数据库设计技术讲座(4) VB5.0数据库编程经验小集 VB5在处理数据库时的几个“BUG” VB6.0中的几个新增数据库工具 VB处理数据库时求数据表记录总数的最佳方法 VB访问数据库的方案比较 VB数据库编程经验两则 VB数据库编空字段的处理 VB数据库多字段记录的录入 VB数据库记录查询四法 vb应用程序访问sql server方法探讨 VB中超长OLE数据库字段的操纵方法 VB中将数据转换为数据库文件 VB中远程数据库的访问 Visual Basic 的数据库编程 Visual Basic数据库数据的选项录入及选项增减与编辑 把资料输往Excel来列印-VB资料 报表中的滚动问题-VB资料 编写Connect Strings-VB资料 表或查询是否存在-VB资料 不创建DSN直接在程序中使用ODBC数据源-VB资料 不用 DATA 控件操作数据库文件 -VB资料 不用 EOF 以加快记录循环-VB资料 处理Select语句中的单引号 -VB资料 zf925(天下哪来那么多高手),你的回答我以看见了,但你的帖子贴的不全,你的原代码的例子没有, 设备管理器里面断口显示的是端口COM1和COM2,但是我的调只解调器里面的断口却是COM3和COM4,到底怎么回事呢?? :哪位大侠有多媒体方面编程的经验?请帮忙查看一下,谢谢。 DELPHI有史以来最大的难题! 二级联动菜单怎么搞啊??各位大虾救急啊!!! 请赐教 如何建立mts與com,dcom,com+通信,其中每種方式有何不同之處? 有个有关j2ee应用服务器的问题,很困惑!(急,一定给分!) 学习c和c++学要学习汇编吗????? 我先试一 下 关于得到文件的名字? 用5行代码就让系统重起的帖子怎么找不着了?谁告诉我?加分了!! 素女经 如何修改SQL数据库表中的数据 在对话框里输出文字?不要控件!!不要static 控件 一个关于打印的怪问题! 如何将数据库通过JDBC接收并将字段关键字连成一棵树(每一分支最多64节点) 救急!!!!!!!小妹我遇到一点问题! 今年就业形势“大好”! ******* 马上就给分,所以给的少了点,大家别介意 ******** 大家给点意见 请关注一个初学者的问题?我学sql但是不知未来的发展趋势!? 图形数据窗口(line 星)点太大,如何缩小 救急!!!!小妹我遇到一点问题! 用bcb制作动态网页 数据窗口 Graph 类型 line 样式 如何学c语言? Delphi中如何获的其它应用程序中的内容? 显示颜色变成只有16色和2色? DWORD 参数传递的问题。 那里有播放AVI文件的程序?谢谢! 参数传递问题!!大侠帮帮我 请帮我修改一下源代码(delphi)请帮忙改一下,让它打印了不往里(数据库)存。 BIOS设置,用电脑是不是可以当闹钟呢? 五笔输入法忽然不能用了 救就我,为什么Frame的客户区变小了?关于切分窗口 怎样查找某一个目录下一个表是否存在? 请问有用过李阳疯狂英语的朋友吗?请说说到底怎么样? 我想向各位大侠请教一个问题? 如何屏蔽TEXTBOX的回车响应? 关于《各位学习编程的目的是什么》的总结 m_pusrrcdset->m_pDatabase->ExecuteSQL("")为什么不行?老是ASSERT错误 请问我刚入bcb的大门,有什么好的参考书可以看看吗? 有没有人知道计算机等级考试四级怎么查分啊? 如何将几个数组的信息写成一个.txt文本文件 笔试题请教? 请教一个小问题! 好难呀好难呀!!!!! 今天狠了狠心买了一本<>,花了我十分之一的工资!心疼啊!散点分! 请问有谁知道如何在C#中使用DirectX? 海子的代表诗篇?一首最著名的? 填上合适的词语:( )态度 ( )作用 鼓舞( )填上合适的词语:( )态度 ( )作用 鼓舞( )请选择恰当模拟声音的词语填空:毕毕剥剥 扑踏扑踏 嗡嗡 呼呼 笃笃 叮咚叮咚 咯吱咯吱 根据字义组词全( ) 向远处看( )举:向上托( ) 望:意料( )推选( ) 探看( )看( ) 好办( )见:看法( ) 易:交换( )会面( ) 和气( ) 空气中的灰尘有哪些危害? 已知集合A={α|2kπ≤α≤(2k+1)π,k∈Z},B={α|-4≤α≤4},则A∩B=非常疑惑的是 这里的α是表示弧度角度还是单纯的一个常数呢 好纠结 希望在解决题目的同时能帮我讲讲怎么判断一个数什么时候 根据字义组词语陷:1、掉进(),2、凹进(),3、陷害() 麦子已经成熟了,真是丰收在望.这句话哪儿错了 阅读“冬日雏菊自芬芳”第三自然段,请问小雏菊生长在一个怎样的环境中?作者为什么要特意写出这样的环境? 显露:( )(根据字义组词)根据字义组词,并用透组词, 用几句花描写麦子成熟后田野的景色,要用上打比方的方法 "我是班长"最后一个自然段起到了什么作用? 根据字义组词:算算:弄清是非算:计划,筹划.要明确一点!用算组词! 有树有麦子有鸟怎么写句子 搭石最后一自然段起什么作用 根据字义组词.稍稍喘息( )透穿过,通过( )到处都是( )漫随随便便( )断( )绝独一无二,没有可比的( ) 描写棉花成熟时的样子的语句 写叶子的古诗词五首以上 雏菊什么篱笆 灰尘的好处快些,我有急用 写叶子的诗句描写叶子的不论今、古、中、外诗歌散文均可最好附有赏析要附有赏析 雏菊 篱笆.黄昏雏菊 篱笆.黄昏 村庄.阳光 大海.把下面句子填写完整使他们读起来充满诗情画意. 灰尘有什么作用? 求带“叶”字的诗句和写叶子的诗句有急用,今天必须回答上! (拟人句)雏菊____________________篱笆.黄昏( )村庄 灰尘有哪些作用 在括号里填上合适的词语 ()的树叶风格 雏菊紧靠篱笆生长.(改写拟人句) 灰尘有那些好处 以知集合A={α|2kπ 雏菊.篱笆 黄昏.村庄 阳光.大海填写完整 灰尘对我们有什么好处说全点,不要抄小学语文课本上的那个 如何准确辨别雏菊、矢车菊和大波斯菊?各自的花语又是什么? 按字义组词张:1、铺排、陈列(组褒义词成语) 2、看望好:1、喜欢(组褒义词成语) 2、友爱各:1、逐个(组褒义词成语) 2、各个不同熟:1、成熟 2、习惯、常见、清楚要快,又快又好 麦子怎么组词. 第九题,为什么当A等于空集时,k+1大于2k? 我会根据字义组词章:歌曲诗文的段落() 条理() 章程()挽:拉() 哀悼死者()会几个,填几个 关于麦子的好词好句 一.在下面的空白处填上适当的词语,使句子变成拟人句.1猫要是 ,能比谁都 .2秋天到了,高 空气对环境有什么作用 雏菊什么意思 雏菊的英文咋写 裸子植物是我国各地城镇常见的树种,对于___环境,___空气和减轻___污染等具有重要作用快 雏菊的含义..请问?具体一点 . “稻谷成熟了”拟人句怎么写? 化学在未来的生活中会起到什么作用?比如在空气环境方面?食物方面? 我知道有两个意思,一个是 纯洁 ,另一个可就不那么纯洁了哦,是雏菊的意思.那么我想问雏菊是什么意思 雏菊的英文名称 根据字义组词:冷1,温度低()2,寂静,不热闹()3,暗中的,突然的() 雏菊 含义他发短信的暗号 韩国电影的英文介绍我们上课要用,越详细越好.(不仅仅是剧情)最好是有中文对照的, 在平面直角坐标系内,已知点(1-2a,a-2)在第三象限,且a为整数,求a的值. 雏菊的两层含义!雏菊第一层含义是:离别.第二层含义是什么? 雏菊的英语怎么拼? 净化环境和调节空气一样吗 求海子经典诗句最好多点 仔细品味一下词语所表达的意思 (1)挺拔俊秀的椰子树,不时在海风中摇曳着碧玉般的树冠.(摇曳着)(2)海滩上玉屑银末般的细沙,金灿灿亮闪闪的,软软地暖暖地搔着人们的脚板,谁都想 雏菊英语怎么说 海子的最经典的诗句 填上合适的词语( )的大厦,( )的香气,( )的椰树,( )的国槐,( )的油松( )的气质,( )的树冠 已知集合A={a|2kπ
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn