正在加载...

偶尔在“南京程序员俱乐部”看到这篇好文,似乎没什么人气…特此宣传。先把结尾几段精品放过来,我们要时刻保持清醒,要站在社会责任者的角度审视自己的工作。不管是AJAX还是Flash,不管是Adobe的Apollo计划还是微软的Live计划,我们都要做到“不役于物”。

引用自

  不过即使Ajax倒下,不过不要紧,它本身就是一个过渡性技术。不过,Ajax所要做的,就是给我们洗脑:
Ajax告诉我们,重视脚本,因为他们灵活。
Ajax告诉我们,重视用户,因为他们掏钱。
Ajax告诉我们,重视交互,因为软件就是服务。
Ajax告诉我们,重视Web,因为方便比什么都重要。
Ajax告诉我们,摘下眼罩,换种方式思考问题吧。当你背过脸无视世界的变化时,是世界抛弃了你,而不是你以为的掩耳盗铃。

对Ajax的研究有了一段时间了,从最初的远观,到近看,再到实际动手实现,认识越来越深,想法也越来越多。特别是曾经有一阵子跑去研究web2.0,更是体会到Ajax背后的伟大,暗自为其庆幸,也越来越看好Web。

不过Ajax在我心中却有些怎么也摆脱不了的阴影。

忽如一夜春风来,Ajax就这么很突兀的就突然流行起来。同时流行的还有Web2.0,这些词汇现在都无比的有鼓动力,任何事物,只要沾上这两者的边,便变得神秘无比,无法遏制。

但也有人说Ajax是噱头,因为他是新瓶装旧酒。

其实Ajax之所以风行,就在于它新瓶装旧酒。Ajax所代表的3个概念,异步、Javascript、XML,应该说都不是新东西。

异步?在操作系统中我们早已经学过,那时的名字叫多线程。

Javascript?想当年的DHTML他就已经红遍大江南北。

XML?瞧瞧那些名词,SOAP、RSS、WAP等,这些名词哪个离开得了XML?

这些名词结合在一起之所以产生强大的力量,就在于他们的设计不同,而隐藏在设计背后的思想不同。

而这些名词之所以可以红火,就在于他们本身已经应用非常普遍,已经深入到世界中的每个角落。

即便是Ajax中稍微新鲜点的XMLHttpRequest,之前也不是没有替代品。IFrame时代我们就已经实现了同样的功能,只是XMLHttpRequest可以比我们做的更好,帮助我们做的更多而已。

Javascript是将Ajax所有技术糅合在一起的黏着剂。所谓的Ajax应用程序,其实就是一个运行在客户端浏览器环境中的应用程序。这个应用程序通过DOM操作HTML将信息展示给用户,通过事件机制相应用户操作,通过XMLHttpRequest与服务器沟通,使用的协议是HTTP,数据的载体是XML,而这个应用程序就是由Javascript构成的。

Javascript是一种非常强大的语言,换句术语,是通用语言(general language)。Javascript有很多方便的并且强大的特性,使得我们可以开发功能丰富的产品。不过Javascript是脚本,还是脚本,这是他永远逃不开的厄运。

脚本有很多的问题,比如本身不够严格,执行缓慢的特点等,这里只讨论一下代码重用问题。

当应用越来越复杂,代码越来越多时,代码重用就会变得很重要。最低级的代码重用就是源代码级的代码重用,灵活,但却代价很高。比较先进的平台,比如 java和.net都已经提供了更高级的代码重用,中间代码级的,甚至目标代码级的。甚至,在.net平台,按照微软的伟大设想,不同语言的代码都可以统一起来,一起运行。可想而知,这会为.net平台带来多大的战斗力。不同语言,不同的平台的代码都可以在这里施展拳脚。整合是现在的主旋律,.net 有着更美好的未来(按照设想)。

相比之下,作为脚本的Javascript这方面就要差距好多。在我们之前应用程序规模不大时,没有人会在意。但是,当我们实现大量的Ajax 应用时,当我们逐渐丰富我们的客户端时,我们就会发现Javascript的硬伤,也就是脚本的硬伤。当然,我们可以改造Javascript,让他适应我们的需求,但是那时,你会突然发现,Javascript(如果那个时候还叫这个名字的话)已经不再是脚本了。

换句话说,脚本的特点就是灵活,所以它是用来处理一些灵活,但是开发成本低的情况。而传统的程序语言比较严格,开发成本高,但是他的运行和维护成本会低。于是,当我们意识到 Ajax背后是一种客户段能力的提高,服务器端相应功能向客户端转移之时,我们便不得不重新审视一下Javascript在其中的尴尬位置。 Javascript之所以在Ajax应用中如此受宠,便在于它的灵活。灵活的Javascript获得大众的喜爱,逐渐成为标准。Ajax采用 Javascript才能迅速的得以应用,成为今天的宠儿。反过来说,正式因为Javascript的灵活,决定它注定无法大型化,也就决定了Ajax的明天不会乐观。(如果他还依靠Javascript,还叫Ajax,而不是AC(#)ax的话。)

看看Ajax背后的竞争者, micromedia的flash,java的web start,甚至.net都有可能成为他的强大敌人。微软在宣传它下一代操作系统的时候,着重讲到了他的表现层。想象一下,当所有的IE都支持微软最新的表现层技术时,谁还用Javascript?谁还用Ajax?

不过即使Ajax倒下,不过不要紧,它本身就是一个过渡性技术。不过,Ajax所要做的,就是给我们洗脑:

Ajax告诉我们,重视脚本,因为他们灵活。

Ajax告诉我们,重视用户,因为他们掏钱。

Ajax告诉我们,重视交互,因为软件就是服务。

Ajax告诉我们,重视Web,因为方便比什么都重要。

Ajax告诉我们,摘下眼罩,换种方式思考问题吧。当你背过脸无视世界的变化时,是世界抛弃了你,而不是你以为的掩耳盗铃。

还没找到您要的东西?Google试试看吧,
Google更注重原创、时效性好的文章:


本文相关评论: 才 11 条评论
  1. fisker 2006-07-24 08:41:19

    表以为你宣传了就有人气了。

  2. lzyy 2006-07-24 11:03:32

    确实是好文章,很理性。

  3. Clear 2006-07-25 03:10:52

    我从AJAX开始,然后进了.net的陷阱,微软在告诉我们,以后的程序就和用PS一样.
    那么我们要正视一个问题,以后的程序员还知道什么是OOP吗?
    这个是PPLIVE一个元老骨干级别的人对我说的.

  4. awflasher 2006-07-25 10:14:39
    引用自 Clear
    这个是PPLIVE一个元老骨干级别的人对我说的.

    老王?

  5. Clear 2006-07-25 01:31:14

    比他还要核心的人物!

  6. aw 2006-07-25 01:33:02

    寒,比他核心的coder只有可能是……

    等等,你说核心,还是说元老。我觉得公开讨论这个似乎不妥了,到你的论坛里面去讨论吧,嘻嘻

  7. windflower_68 2006-07-25 06:39:50

    不错,谢谢了

  8. 冥123 2007-01-30 10:14:04
  9. 测试 2009-06-25 09:25:47

    测试是否支持Ajax

  10. 测试 2009-06-25 09:26:27

    再次测试

  11. 动漫原创制造 2012-04-01 10:42:50

    很好,不错哟

[支持Ctrl+Enter]为了我们大家和家人的安全,留言请慎重!
声明:
1、本站仅与见过面的个人博客交换链接,见此文
2、留言时的头像是Gravatar提供的服务。如果您有兴趣并且有闲暇时间,可以看看这里的介绍