第二个优点其实是第一个优点所派生的。上世纪90年代末,在Web标准组织和W3C的不懈努力下,结束了浏览器大战,各种浏览器都承诺支持真正的Web标 准。今天这种支持到了开花结果的时候,结出的果实就是诞生了一种称作Ajax的新技术。正是因为今天所有主流的浏览器都已经能够很好地支持Web标准(通常即XHTML+CSS+JavaScript),而几乎所有桌面电脑上都安装了某种主流的浏览器(IE、Firefox/Mozilla、Opera、 Safari、etc.),因此Ajax应用可以无痛地部署到几乎所有的桌面电脑上。尽管今天不同的浏览器对于Web标准某些部分的理解还略有歧义,实现上略有差异。但是只要基于成熟的组件库来做开发,这些差异可以被最小化,已经不会成为开发的障碍。
如果我在这两三年内想建立一个电子商务网站,却只能部署到几百万个安装了XAML render引擎的用户机器上(而不是像Ajax那样几乎所有的桌面电脑)。除非我的脑子坏掉了,我不会做出这样的选择。对于面向互联网的应用而言,基于 真正Web标准来做开发,并且随着Web标准及其浏览器实现的发展而演进,是实现最大商业利益的必然选择。
Ajax应用可以被部署到几乎所有桌面电脑上这个事实是其他所有技术多年来梦寐以求而不可达的理想国度。另外一种现实的选择是Flash UI,Flash的部署范围也已经达到了足以大规模应用的程度。出于现实的商业考虑,我在几年之内都不会选择基于XAML建造我们的应用,除非它的部署范围达到了某个临界值,并且有朝一日成为真正的Web标准。
第三个优点是因为,开发Ajax应用所需要的工具几乎全部都是开源软件(详细的ajax开源软件列表),可以免费获得,因此不必花钱去购买昂贵的开发工具。其实开发简单的Ajax应用,一个主流的浏览器,再加上一个文本编辑器就已经足够了。只要你所开发的代码质量足够高,Ajax应用的部署可以达到完全的零成本。
第三个问题是:基于浏览器和Web标准的开发技术是否一定会没落?
我和孟岩老师的一个主要的分歧在于,我并不认为基于浏览器和Web标准的开发技术一定会没落。
其实早在3年之前,当我尝试基于 XMLHttpRequest来设计我们的架构和开发我们的应用时,当时已经有很多人预言基于HTML(或者XHTML)+JavaScript的开发方式必然会很快没落,并且对于我对JavaScript如此热衷很不理解。
图-2 微软是后web2.0时代的缔造者?但是几年过去了,这种开发技术非但没有没落,反而焕发出了勃勃的生机。这是在其没落或灭亡之前的回光返照吗?至少在我看来并不是这样,而是有其内在的规律。正是因为上面我所说到的这种开发技术的优点,今天几乎所有的Web用户都在使用这种技术。有庞大用户量、广泛使用的技术必然会不断发展,而不可能很快没落。其实XAML最终是否会取代Ajax,这并不是一个处于纯技术的考虑,而是涉及到整个 Web应用生态系统的迁移。今天90%以上(我的保守估计)的Web应用都建立在基于Web标准的界面开发技术之上,轻言这种技术在两年之内必然会没落是不严肃的。单靠微软等几个大公司想要扭转这种长期以来自然形成的状况,谈何容易?我认为不大可能。
所以在我看来,这种开发技术仍然会不断地发展和进步,自然地演化到一些新的Web标准(例如XHTML 2.0、CSS 3.0、JavaScript 2.0)。它的生命力会历久弥新,我敢与任何人打这个赌,至少到2010年,这种技术仍然将会是Web开发技术的主流。当然,到了那个时候,XAML也可能会发展为Web开发技术的主流,因此会出现一种百花齐放的状况。这并不是一场零和的游戏,只会出现一个赢家,其他人都会输,赢家通吃的情况我认为并不会出现。
文章来源于领测软件测试网 https://www.ltesting.net/