论坛首页 AJAX版 UI

我对使用Taglib及美工与程序员配合的不同看法

浏览 14682 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2004-04-14
这几天看大家讨论Taglib,攻击的焦点不外乎
1 Taglib学习成本高
2 Taglib破坏了界面美工开发

对于学习成本,我是不以为然,一个tag就那么一点点东西,稍微看2个小时
就能够搞清楚,对于已经了解Tag的人来说,学习一个新Tag时间不会很长。

而关于美工与程序员的配合,我另外有些不同看法

1 美工mm和程序员之间应该增加1个层
大多数公司是直接由美工作好界面然后由程序员在界面基础上写代码。
这就要求美工或者程序员的某一方,必须精通HTML/CSS/Script等前端技术
这如果没有1~2年的作静态界面经验是无法胜任的。

我认为这之间应该有个人专门负责前端的切图,调整CSS,写HTML代码,
制作Script,调整字符等等这些事情。 这时很有必要的。
让美工mm直接看代码肯定会头大
但如果让这个人学习Taglib,或许会有不错的效果。

这样,程序员只管后台的开发,美工只管画图,这个前端程序员来负责美术设计
和程序设计之间的配合。

2 尝试将美术设计和程序设计再次分离。
在我现在的项目中,有一个换肤的功能需求。虽然还没有开发,但是已经有部分想法。
我的想法是:界面中,不出现任何关于颜色,字体,图片,宽度等等的信息。只用CSS来控制。
如<Table class="data"><tr><td ></td></tr></table>

当然,这要求对CSS有比较深入的了解。这对我来说是不成问题的。

这样,我们可以按照程序需要显示的结构,先做出一个静态的干净HTML
即仅使用CSS控制显示方式的HTML
然后,程序员在这html基础上作JSP,美工在这html基础上作图。
最后,美工mm只需要提交一个css和若干图片即可,而不需要对jsp页面有任何修改。

CSS的有效和重复使用,使这种方式的核心。举个例子。下面这个table
<Table class="dataTable">
<tr>
<td class="dateMenu"></td>
<td class="dataOperate'></td>
</tr>
</table>
如何更欢皮肤?
我只需要import不同的CSS即可。CSS中定义
.dataTable {}
.dataTable .dataMenu {}
.dataTable .dataOperate {}

注意上面的空格,这是表示继承关系。即只有.dataTable下面的.dataMenu会有效果
这很类似面向对象的设计。因此,我可以通过这样的一个dataTable,控制表格的所有样式。

嘿嘿,这方面等过些天我再研究一下会写篇文章。

我们公司开发的是一套纯面向IE的系统,不用考虑其他的浏览器。
因此,哪怕是使用CSS进行绝对定为也是可行的。
比如现在的MovableType这样的blog,就是完全用CSS定位而不是Table

因此,我认为,如果工作安排得好,使用Taglib是可以带来效率的提高的
--------------------
http://icecloud.51.net/blog/index.html
   
时间:2004-04-14
恩,好啊,我的比较喜欢的是。 XSLT(+CSS) +XML ,
   
0 请登录后投票
时间:2004-04-14
这里面有一个很重要的问题,比较合理的流程是美工先做好页面,然后写jsp的时候参考,而不是先写好jsp然后叫美工去修改。
我也同意css的使用很有讲究,其实有不少人对html的一些使用都不清楚,随便问一个<col >用来做什么的???
   
0 请登录后投票
时间:2004-04-14
我们一直都是这样做的,不过没有中间层,程序员必须会html(会改就行了),如果页面需要更新,就让mm新作页面重新发过来,交给程序员做.
我们的项目不是网站式的,所以界面风格一旦固定,就不会变化.
我知道的还有这样做的,有一个对于js巨牛的,专门负责中间层角色,不过这样的人物不多啊.
   
0 请登录后投票
时间:2004-04-16
我赞同楼主的观点和做法。
taglib的内容很少,一堂培训课就可以让开发人员初步掌握。
并不像很多人说的那样学习成本很高。

我觉得界面的美工和后台程序开发的完全分离可能还需要走很长的路,其实这么多年业界一直在为这个目标努力,不过产生的每种解决方案效果都无法做到这点,只不过各有所长罢了。

楼主建议的“美工mm和程序员之间应该增加1个层”,我觉得可能是目前最好的一种方式了,我也曾经担当过这个中间层的角色。

此外就期待楼主的文章了,呵呵,很想看看效果啊。


孤魂一笑 写道
这里面有一个很重要的问题,比较合理的流程是美工先做好页面,然后写jsp的时候参考,而不是先写好jsp然后叫美工去修改。


楼主的意思是先建造一个干净的静态HTML架构出来,然后美工和程序员拿着这个HTML架构各自去干自己的事情,不存在先做好美工还是先做好程序。
不过这种方案对中间层的技术人员要求可不简单了。
   
0 请登录后投票
时间:2004-04-16
css功能确实很多.
   
0 请登录后投票
时间:2004-04-16
jeffrey_he 写道


孤魂一笑 写道
这里面有一个很重要的问题,比较合理的流程是美工先做好页面,然后写jsp的时候参考,而不是先写好jsp然后叫美工去修改。




是美工做好成型的页面然后程序员去修改,但客户很有可能要修改。所以,建议使用Template,程序员做的工作尽量在Template的可修改范围内。并且元素的样式尽可能使用css而不是直接在HTML里面写。这样可以比较好的做到公用。
   
0 请登录后投票
时间:2004-04-17
最近看到一篇文章:
http://tristones.viaspeip.com/archives/000336.html

主要观点是,先做Table然后再作CSS。

我同意Table比CSS的表现更容易一些。问题是从TABLE转向CSS也不是那么容易。

因此,我还是认为,如果有一套合理的CSS架构方式,直接做出pure CSS的界面也没什么不好的。毕竟纯CSS的页面更清楚,更适合分离开发与美工。

不知大家看过displaytag没有,他就可以用CSS的class处理整个显示。
   
0 请登录后投票
时间:2004-04-17
呵呵,完全使用CSS控制有点走极端啊,毕竟这样相比Table来说难度更大,调整也更加费时费事。最好的方法当然还是结合着用,我的习惯是页面以表格为主,但是各个元素使用CSS控制,当然这也主要是将那些通用的元素提取出去,如是只对当前元素起左右的东东也提取出去,其实反倒不利于将来的修改了。
所以我的结论是:千万不要走极端,否则就着相了:)

另外,CSS还有一个小技巧:
.style1 {
}
.style2 {
}

<td class="style1 style2"></td>
注意:中间是空格

可以将两个效果都赋上,我称之为:联合:)
   
0 请登录后投票
时间:2004-04-17
哦,刚才的回复有点没有照顾上下文了,补充一下
不知上面的各位讨论时主要都面向什么样的系统,如是blog,CMP等网上系统的话,我赞成纯CSS的前台,这样对于页面结构的调整、风格的更换都更加方便,只需要面对CSS文件即可,当然定义CSS是个比较费劲的事可以先不考虑了。
但是如果你做的是一套应用系统呢?例如OA、工作流等,这些系统对于页面元素的定义往往不会出现太大的变化,客户可能会变动一些字体的颜色大小或是图片啥的,但相信不会去该动各个元素的位置吧。如果也采用pure CSS的话,我说是自讨苦吃我想各位不会太反对吧
   
0 请登录后投票
论坛首页 AJAX版 UI

跳转论坛:
JavaEye推荐