静、动、无穷动

这两天有一些站点的报价要做。突然想到,所谓静态、动态语言的定义和实际表现和N年前又已经有了不少的变化。

WWW刚开始出现的时候,静、动之分是很显而易见的:

<p>This is a line.</p>就是一个静态的内容。这段HTML代码无论在页面中显示多少次,都将一如既往的输出同样的内容。

然后,网民说,我们要让网页有动态的内容。

于是就有了各种各样的脚本语言。但是这时的动态的内容,还是很严格的局限在内容可以根据后台逻辑进行实时更新。一个最简单的显示当前时间的页面,可以在你 每次访问该页面时显示当前时间;或者一个复杂的页面可以列出一个帖子的所有跟帖,作者,内容以及别人对这个帖子(及回复)的评价。

在这种动态页面中,前台数据的呈现都是由后台的逻辑控制的。一旦后台逻辑确定,那么前台数据的呈现方式也就固定了,虽然其内容可以有变化。

例如,在一个页面中,我们要显示一篇文章的详细内容。而文章的内容存储在数据库中,尽管各个文章的内容不相同,但是显示文章的机制完全相同。所以大部分情况下,我们会设计一个显示这些文章的页面,然后根据文章ID作为一个GET或者POST参数,从后台数据库中取出文章的内容(在我的实现中是以HTML代码存放的),然后在页面合适的位置中显示这个变量即可。

而随着HTML DOM结构、CSS和JavaScript(以及AJAX)的完善,对动态页面的理解就进入了一个新的层次。

在这样一个新的层次中,任何DOM属性都可以修改,而且可以直接在前台实现(当然必要时需要接入后台逻辑)。

例如,我可以修改文本的字体、大小、颜色、装饰,一个文本块的显示和隐藏,实现N级互动的下拉框,自动提示(增量搜索)等等。这些都给客户带来了新的体验。

我戏称之为“无穷动”:只要你能掌握DOM/CSS/JS,变动的可能是无穷的。

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *