最近在书店转悠时,不经意间向Java柜台看了一下,一个熟悉的词映入眼帘:Ajax。这些天以来,Ajax,这个web2.0时代的佼佼者,已经开始吸引越来越多的眼光。这不是一种偶然,而是web发展的必然。
最先听到Ajax这个词,已近快半年了。当时,我开始有看《程序员》的习惯。当时,我对C++充满了极大的信心,也抱有极大的热情。当我翻开《程序员》时,发现里面出现频率最高的词,是Web。当时,我不是很了解,也不是很明白。在我看来,Web开发是一项没有太大技术含量的事,应为仅仅需要一点点美术功底,就可以成为一名合格的Web开发人员。Web开发,不就是搞一些Photoshop美工,做一做Flash吗?但是,为什么它却可以成为人们谈论的技术焦点呢?耐着性子,我看完了关于Web的介绍,发现自己对于上面提到的 还是非常陌生。Ruby On Rails, JavaScript, Ajax, PHP...一连串陌生的词汇涌入大脑,我发现自己在这些词面前变得如此陌生。
我开始想回避这些词,让自己的大脑冷静下来,心中唯有C++…
直到有一天,dodo向我推荐Firefox,向我推荐GMail时,我抱着试一试的态度,开始了自己的Web之旅。我惊奇地发现,原来在浏览器中还可以做这么多…Google再一次证明了它地优秀:在如此一个简单地页面内,GMail被做到了极致!一切,皆因为Web而改变。再后来,我尝试了Google提供地其他服务,一次次被Google征服。Google Reader, Google Notebook,每一个优秀地产品都给了我前所未有的Web新体验。而这一切,都是Ajax创造的。
渐渐地,我开始接受一个不争的事实,Web开发已经成为当代开发的主流。这是一个Web主导的时代,Web无时无刻不在影响着人们的生活。我对web的概念业逐渐清晰。诚然,桌面软件开发曾经引领了一个时代,那些耳熟能详的优秀软件都是那个时代的产物。同时,那个时代的交流是有限的,用户在计算机前的大部分时间都是在和桌面软件打交道。那个时代的Internet资源也是匮乏的。但是,这一切,都因为网络的飞速发展而改变。现在,计算机前的用户不在只是摆弄一些桌面软家而已,他们更需要的是通过网络和外界交流,向外界表达自己。网络,已经将大家紧紧连接在一起。
也许,和C++这样的编译语言比较起来,JavaScript, ASP .NET在执行效率上处于劣势,但是,作为Web客户端软件而言,它并不需要高效的执行性能,至少目前我们并不希望在浏览器中实现高性能计算。这些动态语言至少解决了一个问题:客户可以在浏览器中实现一些复杂的交互操作,而不需要去下载各式各样的客户端软件。借用.NET的术语,这些需要安装的程序算作是胖客户端。借助这些动态语言,用户就可以在只打开网页的情况下进行各种各样以前只有在桌面软件才可以做的操作。这样,每一个页面都是一个功能强大的Web应用程序。这就是Web。
当然,我这样极力捧吹Web开发,并不是对C++等桌面软件开发语言的否定。C++之所以存在,自然有它的理由。C++要做的,就是在自己的领域内发挥自己的优势,引领高性能程序的开发。未来的时代,同样需要高效的客户端。这是C++程序员未来的希望。