我们可以很容易地看到Ajax的两个最主要的优势:
(1) 给用户带来流畅而友好的体验;
(2) 无需客户端任何安装,即可被绝大多数主流浏览器所支持。
然而,Ajax同样还有很多不足之处:
(1) 虽然Ajax用到的技术均已经比较成熟并经过标准化,但由于其涉及的技术太多,开发者仍需要大量的学习,对于某些比较复杂的客户端程序来讲,往往需要开发者对JavaScript以及相关技术非常精通;
(2) 每种浏览器中提供的DOM模型均有轻微的差异,所以在编写跨浏览器的客户端应用程序时往往会非常困难;
(3) 由于大部分表示层以及少部分业务逻辑均被移到了客户端用JavaScript实现,这就使客户端代码量急剧增大,但JavaScript从语言层面上并没有完善的面向对象支持,这往往使客户端代码的质量无法保证;
(4) 当前并没有非常成熟的用来开发、调试JavaScript的IDE。
如果我们仔细分析一下,可以看到上面所提到的优势无一例外都是对用户体验的提高,而不足之处也均为开发者进行开发时的困难。这也暗示了当今应用程序的发展趋势:把用户的体验放在第一的位置;但在同时,开发者的开发效率也是一个不容忽视的关键问题。前一节中那个与Hello World类似的最简单的Ajax应用程序就已经如此复杂,那么一个功能完备的Ajax网站需要投入的时间相比之下更加让人无法想象!
正是为了解决这样的问题,各种Ajax框架如雨后春笋般应运而生,ASP.NET AJAX也是其中的一种。在本书接下来的部分,你将看到ASP.NET AJAX这个无以伦比的Ajax框架,是如何在实现那些令人眩目的Ajax功能的同时又极大地简化了开发过程的。