Ajax是否会没落
转贴自Ajax中国。李锟(dlee)是Ajax中国的站长,Ajax圣经《Ajax实战》一书的译者。 应该说,很长时间没有在网上读到这么踏实有力的文字了(当然,孟岩兄的文字有力,同样也不需要我多说)。其中许多说法深得我心。其实任何技术可能都是过渡性的,软件开发技术更甚。关键是对于当下,选择哪一种技术是明智的。微软的界面开发技术变化非常之快,Win32,MFC,VB,WinForms,再到WPF,难道它们就不是过渡技术了么?而且,Web标准技术本身也会演变,不会坐以待毙。考虑到微软技术的专有性与Web本身的开发性相悖,如果不采取类似开源的措施,以我的陋见,不大相信它们会成为替代性的主流。 各位读者将此文与孟岩兄的博客对照阅读,也许可以对进一步思考这一问题有所帮助。 对了,关注Ajax以及RIA技术的朋友都可以多多留意Ajax中国这个网站。它是引进和翻译《Ajax实战》过程中,我提议李锟建立的。它符合我的好网标准,没有什么无聊的噪音。 孟岩老师11月21日的blog中说他惊艳于微软公司新近推出的界面开发工具Expression,并且预言基于Web标准(通常即XHTML+CSS+JavaScript)的界面开发技术很快就会没落。孟岩预测:“最迟不 超过2008年,在WPF、Flash(Apollo)等RIA技术的夹攻之下,越来越多的Web应用将同时部署传统Web页面和新的RIA UI。” 对于这个预测,我和一些朋友认为孟岩老师过于乐观了。我预测至少到2010年,基于Web标准的界面开发技术仍然将是Web界面开发的主流技术,而这些技术的集大成者就是Ajax。Ajax技术在最近两年中取得了很大的发展,并且仍然在迅速发展的过程中,现在就断言Ajax技术即将没落还为时尚早。 诚然,从纯技术的角度来看,我们也早就认为XUL/XAML一类使用XML来描述界面组件和布局的技术肯定是Web界面开发技术的发展趋势。W3C今年成 立了一个工作组,希望将XUL、XAML、MXML等几种界面描述语言统一为一种标准的格式。所以我们认为孟岩老师所看到的趋势是没有大问题的。从纯技术的角度来看,将来的Web界面开发肯定会发展到这种技术。 然而,能看到趋势当然很重要,但是我们还是需要解决很多现实的问题。我在这里提出几个问题来与大家探讨。第一个问题是:这种趋势将会以多快的速度成为现实?
技术的发展和演进往往都是一个长期的过程。面向对象开发取代面向过程开发、Java取代C++、Ruby逐渐取代Java都是一个长期的过程。孟岩老师所预测的2年和我所预测的4年似乎相差不大,但是对于我们现阶段所要采取的行动其实影响很大。 即使正如孟岩老师所预言的,这确实是技术发展的趋势又能怎样?我们是否一定要在今天为明天和后天发生的事情而买单。过早为将来发生的事情买单,很可能会代 价高昂。这跟炒股差不多,有经验的玩家会在最适当的时机入手。过早入手、过晚入手,都会蒙受损失。在这种趋势成为现实之前,我们是否坐等共产主义的实现? 我认为等待并不是一种积极的态度。
第二个问题是:Ajax有何优点?
我认为孟岩老师并没有充分地看到Ajax的优点。孟岩说:“昨天我还在说Ajax是过渡技术,没想到几个小时之后就得到印证。” 其实严格说来,任何的技术都可以称为是过渡技术,但是这并不会妨碍使用这种技术来为用户创造价值。孟岩只看到了使用基于Web标准的界面开发技术开发效率低下的一面。但是目前国内做界面开发的开发者有多少人真正理解了Web标准呢?根据笔者的经验,采用完全的CSS布局,将页面的结构、表现、行为三部分分 离开,注重页面各部分的重用。经过一段时间的积累之后,基于Web标准的界面开发完全可以达到比较理想的开发效率。而配合使用Dojo、 Scriptaculous、YUI等成熟的Ajax组件库,还可以更进一步提高界面的开发效率。在笔者看来,影响开发效率的问题主要有两个方面:
- Web界面开发者没有充分理解Web标准。
- Web界面开发者没有尝试过组件化的开发方式。
- Ajax是完全基于Web标准的技术,Ajax所用到的所有的技术都是真正的Web标准。
- Ajax应用可以毫无障碍地部署到几乎所有的桌面电脑上。
- Ajax应用的开发和部署成本很低。