自从jesse james garrett创造了ajax这个名词,到现在已经过去十八个月了,ajax几乎让web开发彻底改头换面。在这一年半的时间里,发生了很多事情,包括web 2.0的热炒,许多创建或使用富互联网技术公司的诞生或复苏,还有真正动态化的在线软件层出不穷。
自从jesse james garrett创造了ajax这个名词,到现在已经过去十八个月了,ajax几乎让web开发彻底改头换面。在这一年半的时间里,发生了很多事情,包括web 2.0的热炒,许多创建或使用富互联网技术公司的诞生或复苏,还有真正动态化的在线软件层出不穷。很明显,ajax这个名词受到开发业界的广欢迎,已经真正的走入到我们生活中,web应用程序也达到前所未有的发展。
然而我们大多数人知道,其实在ajax这个术语诞生前,这项技术的发展就已经为人们所熟知了。之所以ajax的思想能迅速占据我们的头脑,因为它向我们指出了一个重要的新开发方向,ajax技术可以说到了爆发的时间。强大功能的浏览器、高速带宽的网络连接、在线软件的趋势和开发工具的发展,这一切注定了ajax的流行,但是在这些荣誉的光环背后关于ajax的讨论或争论也一直没有停止过。
一直以来,web开发社区关于ajax方方面面的事情一直在争论不体,包括它的强大和不足、合适的应用和不可避免的缺陷等。我想我也应该分享一下我的观点,对于过去十八个月里让web和浏览器焕发生机的ajax技术,谈一下我的看法。ajax的确帮助我们走向了下一代主流软件平台,它在创建个人或商业应用等方面,已经超越了传统的软件开发平台,以下仅仅是我的个人观点。
1、 不为浏览器而生的ajax
如果你是一个网络高手,你对ajax一定不会陌生,从先前默默无闻到现在火爆发展,不可不称为这是一个奇迹,ajax在五年前并没有向今天这样让人们所熟知,因为他不并是为浏览器而生的一种技术,ajax低效的代码编写方式,同时也没有强大的第三方开发工具支持,要想设计出清晰的javascript软件,不经过严格的训练和努力是无法实现的,而且在不同的浏览器里调试ajax,是一件非常令人头疼的事情。
2、量身订做自已的web服务需求
我一直认为ajax要开发许多新的web服务,来满足应用程序数据和后端存储的需要。实际上,对于那些没有正规的web服务架构的服务终端项目,更倾向于使用html或简单的传统的http post。这样就使得人们可以非常容易的转向ajax开发,可以在后端轻松的重用已经存在的http服务,而不是转向复杂的soap或rest/woa等。尽管这可能导致体系结构的混乱,可能会对日后带来一些麻烦,但它的确可以让人们非常轻松的转向ajax开发提供条件。
3、ajax比传统web设计和开发更棘手
html界面约定的丧失性、隐藏或潜在功能的无限制性、编程创建页面元素非声明性、以及其他一些ajax的内在特性,这些特性都与传统的web设计和开发方式背道而弛,ajax并且要求web设计者必须对dom、javascript和css的技术有相当的功底,对于一个传统的web开发者来说还没有一条更便捷的路可以选择,同时也没有一款能够让开发变简单的开发工具,我们期待ajax能够在web开发中更易懂、更高效。
4、ajax工具和组件仍在不断出现,现今还没有明显的领先者。
ajax工具和组件满天飞,不像eclipse一枝独秀,统领全雄,虽然dojo在这个领域有很好的口碑,但这些成绩还是远远不够的。例如,dojo框架目前的版本依然是0.3版。而且紧随其后的种种工具,框架和组件库还有很多,其优点和dojo不相上下。dojo的优势还不名显,开发人员面对如此多的选择往往是投其所好,所以在工具和组件方面还没有绝对的领先者可供选择。
5、优秀的ajax 程序员很难找。
有人说曾经说过一个优秀的java开发人员好找,但是一个优秀的ajax人才,却是比登天还难,虽然此语有些太过,但是我们不难看出,要建造一个复杂的ajax应用要远比web设计技能难得多,而且很多有经验的开发人员都不太喜欢javascript编程和调试,这种情况自然就形成了ajax优秀人才的缺少。
6、必须积极地对付浏览器模型对ajax的限制。
ajax技术并非web开发完美结合的产物,它有几个致命的弱点,一个是它会违反现有的web模型,譬如,加书签,后退按钮等等。另外,ajax也缺乏桌面软件的的很多强处,譬如能离线运行,访问本地硬盘存储等,但flash 的本地存储和即将发行的apollo平台能应付这类问题,ajax要想再次成为众的焦点,解决上述问题刻不容缓。
7、ajax 只是成功ria策略的一个因素。
如果你想让ajax实现更多的在线功能,那么你必须将类似flex,openlaszlo,以及wpf/e等这样的ria平台放在考虑范围之内,然而ajax对此几乎无能为力。然而ajax并未停止前进的脚步,特别是在后端服务器向服务器端推送、web服务和企业环境的支持等,这也是ajax在ria策略上的成功的一个因素。
当然,软件项目应该知道的事情还有很多,还有许多其他的事情,以上是我认为比较重要的事情。受到全球面向服务价格体系增长的影响,在线ajax组件正在不断的出现,例如google maps等,,ajax的技术也在不断理新,道琼斯新闻曾报道ibm、google、雅虎、甲骨文等it巨头联手支持open ajax计划。ibm、google、雅虎、甲骨文和bea系统等许多高科技公司宣布共同支持一个开源软件计划,旨在推广一种名为“ajax”的新兴的web开发技术,有了这些it大享们的加入,解决上述七个问题应该指日可待。
阅读关于 ajax web2.0 web服务 rest soap 的全部文章
闽公网安备 35060202000074号