JavaScript先天不足 AJAX前途堪忧?
4. AJAX有没有未来
如果问一下,Web世界里谁是炙手可热的红人,不少人一定会选择AJAX了。不错,AJAX现在确实非常火爆,自从Google开创了AJAX应用的先河之后,在Web领域,应用不论大小,程度不分高低,只要和Web沾边的,人也好物也好,都要披上一件AJAX的时尚外衣,以示自己没有落到潮流的后面。AJAX就像一桌美味佳肴,虽然选材未必精良,但色香味俱全,在这样的诱惑下,程序员们要保持冷静的态度和清醒的头脑,殊非不易。其实,洗净AJAX表面的各味调料,将AJAX的真材实料展示在食客的眼前,我们就会感觉到,AJAX的未来并不明朗。
理由之一,虽然从企业应用体系结构发展的历史来看,AJAX的作为B/S结构的中间件出现,有其必然性,但别忘了,这是有假设条件的,这个假设条件就是,B/S结构可以作为二端结构来看待。这个假设不是所有人都同意的,因为也有一种观点,是将B/S结构看作三端结构。很简单,只要将Web服务器往前提一提,B/S结构就变成三端结构了:浏览器是客户端,数据库是服务器端,而Web服务器是中间件。这是非常典型的Web企业应用架构,可是在这个架构下,AJAX没有地位。AJAX的一部分在浏览器,另一部分在Web服务器,并没有独立出来,它必须依附浏览器和Web服务器而存在,因此,AJAX还不能单独成为一个端,当然,也就更谈不上成为中间件了。
理由之二,即便大家都同意B/S结构可以视为二端结构,AJAX想要攀升到中间件的地位,仍然面临许多悬而未决的问题。首先,AJAX赖以生存的编程语言是JavaScript,这是一个脚本语言,是解释性语言,虽然简单、灵活并且容易上手,但具有解释性语言的先天不足,比如,执行效率就是JavaScript的一个大问题,在浏览器上玩些花样尚可,如果要作为中间件的编程语言,那就有点勉为其难了;其次,脚本语言结构管理能力的低下,也是JavaScript成为中间件编程语言的障碍,用JavaScript很难写出像C++或Java那样规范、可靠、合理而优美的程序,而且,现今广为接受的面向对象的编程思想,在JavaScript下要运用起来,似乎也不是特别的自然。
如此看来,AJAX的未来确实非常迷茫,即使受到越来越多AJAX支持者的追捧,但如果想要走得更远,似乎也心有余而力不足。AJAX问题的症结,就在于JavaScript语言。对于这种语言,一直有两股势力在对抗。一种是看好JavaScript,认为其简单易学、灵活多变而且功能强大;另一种则对JavaScript不屑一顾,甚至根本不愿意承认它是一种编程语言。我见过一些非常资深的程序员,对JavaScript的态度,可以用“仇视”二字来描述。一种语言同时受到如此截然相反两种对待,我所知道的,也就只有JavaScript了。
JavaScript遭受到的如此冰火两重天的待遇,注定了建立在JavaScript之上的AJAX的尴尬地位。AJAX的未来,很大程度上取决于JavaScript的前途。胜者王侯败者寇,现在AJAX最关心的,莫过于JavaScript面前水火不相容的两股势力,谁会是最后的赢家。AJAX和JavaScript,一根线上的两只蚂蚱,它们的未来,已经牢牢地绑定在一起,谁又能把它们分开呢?
0
相关文章