内容摘要:2年前,Ajax开始进入人们的视野。时至今日,Ajax已经成为一个红得发紫的技术。但是今天,我想说一句:JavaEE without Ajax。
3年前,“Spring之父”Rod.Johnson写了一本在Java界引起轰动的书:《Expert One-on-One J2EE Development Without EJB》。这本书阐述了EJB作为J2EE核心技术所带来的意义与价值,但作者用了更大篇幅介绍EJB的一些缺陷与不足,并提出了Without EJB的解决方案。正是由于“J2EE Without EJB”这个激动人心的口号及这本书奠定的基础,导致了Spring Framework这个经典轻量级框架的诞生。
2年前,Ajax开始进入人们的视野。时至今日,Ajax已经成为一个红得发紫的技术。但是今天,我想说一句:JavaEE without Ajax。
Ajax的“原罪”
Ajax为什么这样红?有人说,是因为起了个好听易记的名字(比如荷兰著名的Ajax球队,即阿贾克斯);也有人说,是因为Google全新的Ajax应用产品给人们带来的超酷体验(比如伟大的Google Maps、GMail等)。确实如此,Ajax能够如此流行的最主要原因就是它带来了更好的用户体验,改变了人们对传统Web应用的不佳印象。
然而,即使Ajax的狂热Fans也不得不承认的是,从技术层面上来说,Ajax并没有带来什么新鲜的东西。它本质上是一种新瓶装旧酒的技术,好处是通过Java Script与DHTML提供了一种异步编程模型,从而使Web应用给客户带来了更好的人机体验。正如我在去年引起大家争论的拙文《Ajax,只是一种过渡技术》中表述的:Ajax解决问题的层面较低。或者说,它解决问题的方法与手段,很难形成一种可高度抽象的框架级解决方案。并且,正是因为Ajax基于Java Script,因此不可避免地带来了Java Script的诸多缺点,譬如:
跨浏览器是一场噩梦
对搜索引擎的支持不好
干掉了Back、History等按钮(尽管我并不认为Back、History是什么好东西)
来源:赛迪网 作者:袁红岗、张勇 责编:豆豆技术应用