JavaScript之路:Flash, or CSS?

随着AJAX近两年的大热,JavaScript也热门起来。想想当年DHTML时候的惨况,不知道JavaScript如果自己有知觉会不会感慨一番。其实相对于AJAX,DHTML才是正宗的卖弄概念——将当时刚出现不久的CSS参合上JavaScript和HTML就敢说自己是“动态HTML”了。不过使得DHTML这个名词臭名昭彰的并非卖弄概念这条罪状,主要是当时正逢浏览器大战时代,每个浏览器都有自己的一套DOM,使得网页制作人员为了呈现某个并不复杂的效果要针对各个浏览器重复编写大量代码,如此当然不能保证JavaScript在各个浏览器上都能顺利运行,因为加载JavaScript出错导致浏览器崩溃的事情不胜枚举。加之当时JavaScript也多被用作弹出广告框,导致很多人认为JavaScript就是浏览器崩溃、弹出广告的代名词。

JavaScript一开始就很冤——连名字都是让人误会的根源。JavaScript和Java完全就是两回事,但是似乎是为了给人一点“系出名门”的感觉,便抱上了Java的粗腿,从一开始的LiveScript改名叫JavaScript。这便导致了一个很尴尬的局面:一般的程序员觉得JavaScript不过是一个脚本语言,且只能在浏览器中生存,太过简单,跟“Java”相去甚远,不屑去学;而很多网页设计人员又因为“Java”一词心生畏惧不敢去学——风凝刚开始学JavaScript的时候也被其中的函数什么的唬了个半死。JavaScript真就是活生生的风箱里的老鼠。

这不由让人想起了另一个几乎可以跟JavaScript同病相怜的家伙:Flash。现在听到Flash,基本就是广告和动画的同义词了——或许应该再加上一个“页面打开缓慢”?而ActionScript则是失败了——现在完全用Flash建站的已经很少,有也都是一些个性化站点,小众的。浏览这些站点很费时间,基本上在浏览器地址栏中输入域名按下回车然后去悠悠闲闲煮杯咖啡回来刚好可以赶上进站动画。酷归酷,除非必要我还是尽量不去这样的站点。Flash的滥用和JavaScript有的拼——很多站点在使用Flash和JavaScript的时候很少考虑是不是必须用,而是认为“既然别人都有了那么我们也必须有”。记得就在前几年个人首页风行一时的时候,到处都可以看到“页面出汗”啊、鼠标下面跟着条鱼啊、韩国风格的Flash导航之类的东西,根本就不怎么考虑这些东西是否实用,只是觉得好玩便将网络上现成的代码拷贝过来粘贴就over了。风凝无语。

反观CSS,就是完全不同的结果了。从CSS一诞生开始人们就是很小心的使用——不知道和大多数网页设计人员固执的使用table定位以及内联样式有没有关系。就算到了现在,也有一些网页设计师只用CSS控制一下页面中的文字字体、颜色,定位的任务依然交给table。CSS Zen Garden在CSS推广方面无疑起到了举足轻重的作用。现在哪个连CSS定位都搞不定的人还要自称是网页设计师是要被耻笑的。W3C力推的CSS目前版本是2.1,预计CSS3的推出应该也不会很远,从目前官方泄露出来的消息来看,届时CSS的功能将更加强大,对标准支持不力的浏览器在彼时估计是很难生存的。

AJAX这个名词的出现以及现在 web 2.0 概念的火爆,可以说是JavaScript历史上一个黄金时期。但是就目前AJAX被抡圆了用的状况,实在不能对其未来抱着特别乐观的态度。对待JavaScript,是应该像Flash,还是像CSS?或许这才是决定了JavaScript这个小家伙未来几年命运的关键。

W3C公布DOM标准已经有些年头,DOM Scripting组织也在相关方面做出了有目共睹的贡献。但是真正愿意100%遵从标准去写JavaScript的又有几人?能将页面分为内容层、表现层、行为层彼此独立互不交错的又有几人?将浏览器中的CSS disable然后关闭JavaScript还有多少页面可以被人看懂?估计惨不忍睹的叶子不在少数。

风凝很感谢自己是在目前这个形势下学习网页设计与制作的——浏览器大战已经尘埃落定,W3C的相关标准已经广为人知并且被越来越重视,可用性设计也被提升到一个很重要的位置,不管是学XHTML还是CSS还是JavaScript抑或可用性设计都已经有了十分成熟的经验可供我借鉴,当然,也有不少活生生的反面教材给我敲着警钟。当我越来越贪婪的学习着这些东西并且不断成长的同时,我几乎不需要像前人那样担心今天学东西会不会过阵子就成了明日黄花——W3C的标准就摆在那里,现在的浏览器再竞争也一定要首先标榜自己对于标准的出色支持,当年那种自己跟自己玩、困难都留给设计师和用户的事情一去不复返了。

Blog边侧栏Twitter显示的“DOM Scripting”已经有一周时间了。或许有人会觉得是风凝偷懒不去更新,实际情况是这几天我一直都在看这本书,不断的学习并且思考。似乎直到我学了JS才算是完整的学习了网页的各个部分,而直到此时我才能以一个全新的视角去思考这个叫做“网页设计与制作”的东东。

JavaScript虽然不是非常的难,不过对于我这种一点编程经验都没有的纯种小白来说估计还是需要一段时日才能完全掌握。等JS这部分基本搞定,我想我会在设计方面再多下点功夫——因为我还不想当IT民工,我更希望这是我能一直从事下去的事业,而不是纯为了拿薪水的工作。

30th April 2007 Comments Off Permalink

Comments are closed.