2008年2月10日星期日

需要针对平台编译的 Web App

很久之前,我提到过了CSS需要常量的问题。最简单的,定义若干调色板常量,整个CSS就用这些常量去标记颜色,以后要更换调色板也就容易了,只需要更改常量,无需更改逐个CSS属性更新。现在看来,可编程的CSS已经不足够了,在HTML + CSS + JavaScript中,我们都大量地存在信息冗余,而这些冗余的信息不符合DRY原则,手动维护的成本高,所以我们需要一种更高级的语言来自动生成这些冗余信息。

我现在使用Ruby on Rails,不过不是很熟悉。我有同事比较熟悉Ruby on Rails,非Rails的Web布局,他也有自己一套HTML + CSS模板,定制一下然后执行一段Ruby脚本,就build好一个output了。我觉得这是很好的一种做法,因为如果定制的工作是修改HTML与CSS的话,这就涉及大量的手工改动了,那就有可能改漏了或者改错了。

既然已经做到这一步了,不妨想象一下将来自动化操作是否能够更进一步,就是自动生成针对平台的HTML代码。我们用一种真正浏览器无关的语言编写行为与样式,然后服务器端自动根据user-agent来生成对应的JavaScript与CSS。这些JavaScript与CSS都是针对特定的user-agent生成的,所以不会有用于兼容浏览器的冗余信息。同时,因为它们是自动生成的,也就不需要人手维护这些冗余信息,生成它们的源代码也就能够保持DRY原则了。

2 条评论:

  1. 我有
    陈冠希的色情照压缩哦。呵呵


    QQ:50919691

    回复删除
  2. 远程回复到这里……汗……


    不好意思,我不用QQ的。

    回复删除