Archive for August, 2006

Consistent Page Style

Web UI一直是令Web开发人员的关注并头痛的方面. 撇开特殊的Flash等, Web UI的构成与HTML息息相关. 通常一个WebSite都是由一些展示或者交互的静态或动态页面构成. 许多年以前类似DreamWeaver的工具就提供了静态WebSite的管理功能, 通过Page的Template来使整个网站有统一的Style. 而在那个遥远的时代, 我们在ASP, PHP中也使用include的方式或者global template variable来使页面具有统一的风格, 并且使Page无需都具有重复内容的Bad Smell.
开发人员总是在寻找最大粒度(WebSite/WebApp)及最小粒度(HTML)及数据(Model)之间的中间载体来使重用, 解藕和开发效率达到最高.

1. ASP.Net
MasterPage + Server Control (Costom Load Templates, 即Control与ascx并不耦合, 这时ascx就相当于template)
这几乎成了ASP.Net开发的标准方式. 在.Net 1.1的时候.Text就采用这样的结构来达到既有统一Style又有不同Theme的UI. 而应用Spring.Net那样从IoC框架也可以使MasterPage的更换更为方便.

2. Java
Java的Web UI开发是百花齐放, Web Framework数不胜数. 但一般的如用jsp, freemark为模板的时候通常还是用include文件比较多, 但include毕竟是相对陈旧的解决方案, 我个人经常会结合IoC来创建MasterPage接口和具体实现类, 这样在要改变风格的时候通过IoC可以较快改变, 但这样做的粒度较大, 无法像ASP.Net中的MasterPage那样更加灵活. 但Java的世界太多的解决方案了, 一个叫SiteMesh的东西非常的优秀及实用, 通过Decoration模式来对页面进行Decorate.

3. PHP
PHP随着开发技术的发展而发展着. 几年前的那种html和代码混写的开发模式在现在的PHP中已经是不被采取的了. 而PHP中之前所流行的所谓的模板技术也不再让人满足, 视图回归PHP本身的做法日益增多, 如Zend Framework中默认的视图处理, 然而对于视图的耦合依旧没有被PHP开发者所重视, 这点也可以在Zend Framework中看到, 而在Java中, 将View绑定到Model的做法几乎已经是看不见了 (在diggmore中, 这样的耦合已经被改变). 而在PHP中, 在开发人员追求统一Style的时候基本上还是采用include和global variable方式. 在灵活性及耦合上实在没有办法与masterpage和sitemesh比. 这点可以从某种程度上IoC在PHP并没有被广泛应用有关.

加息了

上周加息了

已买房, 并有贷款者: 咋又加息了, 还让不让人活啊.
未买房: 加就加吧, 该买还得买.
注: 以上是普通人民群体, 非此群体者按!@~#$处理.

04年1次, 05年2次, 06年已2次, 我希望最多就3次吧, 希望还能是个线性的. 万一来个N^2就真的要死人了……

Web Accessibility

以前一直对于Accessibility有所误解, 以为满足XHTML就是附和Accessibility要求了. 现在才知道Accessibility可远远不是这样. 下面是2个非常有用的链接.
http://www.w3.org/WAI/
http://www.microsoft.com/enable/

很多国家都有关于Website Accessibility的法律, 不符合的网站甚至会被关闭. 不像中国, 估计那些人大委员可能从来没想到过要制定这样的法律, 而是制定了一定要登记备案的规定, 注意还不是法律. 不备案就关!

Accessibility不仅让残疾人士及有困难的人们可以访问internet及使用Application, 而且也是一种优秀的SEO手段. 不过似乎也真从没见过中国的那些SEO研究人士来研究这个.

得Review一下我Blog的Style了, 使之符合WCAG的说.