浅谈Ajax的优缺点

AJAX (Asynchronous JavaScript and XML) 是一种交互式动态web应用开发技术,该技术能提供富用户体验。完全的 AJAX应用给人以桌面应用的感觉。正如其他任何技术,AJAX有它自己的优缺点。下面我列出了一些重要的场景,你在基于web的应用的开发中使用时一定 要注意。

ajax优点

  • 改善的用户体验- AJAX提供的更丰富的用户体验是其主要优点。AJAX允许网页持续更新,但只需要和服务 器交互很少的数据。这样,就能在不必整个更新网页的情况下更新网页的一部分。经典的网页技术必须整个更新网页(即使你只想更新某一部分),是笨重的。 AJAX增强了浏览器性能,使更快的浏览成为可能因此提供了有求必应的用户体验。
  • 增强用户生产力- AJAX 库提供了面向对象的辅助函数,能给用户减少麻烦,增强生产力。另外,一个良好配 置的ASP.NET应用有它自己的数据访问层和业务层。最后,“鲁棒”的ASP.NET应用包含UI层,在这一层执行服务器端操作。如果你已经包含了这些 特性,AJAX只需要一个额外的AJAX服务层和一些客户端特性的改进。这样,开发代价就减小了,用户生产效率也就增加了。流行的站点如亚马逊,谷歌,雅 虎等等都在开发中使用了AJAX。
  • 减少带宽的使用并增加速度- AJAX使用客户端脚本来和web服务器通讯,用JavaScript来交互数据。使用AJAX能减少网路负载和带宽使用并且只获得你所需的数据。这样能给你更快的接口和更低的响应时间。响应更快因此性能和速度增加了
  • 增强兼容性- AJAX和ASP.NET,J2EE,PHP或者其他任何语言兼容。它几乎支持所有流行的浏览器比如IE5及以上版本,Firefox1.0及以上版本,Safari1.2及以上版本,Opera7.6及以上版本,还有RockMelt。
  • 支持异步处理- 使用XmlHttpRequest来进行异步数据获取,这是AJAX应用的中坚力量。所以,请求能被有效的处理,动态内容加载被提升到一个更高的层次,性能也得到了增强
  • 减少服务器请求和网络负载-Atlas,微软AJAX库的一种较老的形式,是一个整合了客户端JavaScript库并且易用的框架,能和ASP.NET一起开发AJAX应用。它提供了跨浏览器支持和面向对象的API,这用来能开发具有最小化服务器请求/网路负载的应用,并能实现异步处理
  • 更容易导航-AJAX应用能被用来简化用户在网页间的过渡,而不需要使用传统的前进后退键

ajax缺点

浏览器不兼容-AJAX高度依赖JavaScript,而不同的浏览器对JavaScript支持性不同。这成 了一个问题,尤其是当AJAX必须跨许多浏览器工作的时候。那些不支持JavaScript或者不支持JavaScript某些选项的浏览器将不能够正常 使用ajax。由于ajax对JavaScript的依赖性,它不适用移动应用。你的web浏览器的后退键不能如期运行。

不安全性-网页可能很难调试,增加网页的代码量,你的网页更可能遇上严峻的安全威胁。

增加Web服务器的负载-如果你增加一个自动更新的功能,它每隔几秒向服务发起请求,那么就会增加服务器的负载。


译文链接:http://www.codeceo.com/article/pros-cons-ajax.html 英文原文:Pros and Cons of AJAX 翻译作者:码农网 – 邱康

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2016-06-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏phodal

前后端分离演进:不能微服务,那就使用 BFF 隔离

上星期的文章里,介绍了遗留系统迁移的一些经验,并推荐了《遗留系统:重建实战》。在这一篇文章里,将介绍使用前后端分离来演进现有系统。 现有的绝大多数软件系统,都将...

3587
来自专栏Web 开发

纸上谈兵之高性能Web开发

今天一连两次被问到简历中提到的高性能Web开发方面的事,看来这种大标题很有诱惑力。

740
来自专栏「3306 Pai」社区

怎么让MySQL自动化平台再快10倍?

我的前文《构建MySQL自动化平台思路》中提过的MySQL平台自第一期上线后,一直都是顺风顺水的。

1085
来自专栏腾讯移动品质中心TMQ的专栏

FAT(Fast-AutoTest) —专业服务于微信H5/小程序UI自动化测试

随着项目的发展,许多项目中H5(特别是微信平台内)以及小程序占比逐渐增多,因此快速建设相关的自动化来提高项目的效率和质量成为了许多项目中的重中之重。

7277
来自专栏BestSDK

从体积到耗电,全方位解析SDK超级优化方法

sdk优化过程,是一段血泪史,可以吐槽的地方无数。移动端sdk不像app一样方便,sdk发布后出现任何问题,都会影响到很多家的app。 ? sdk的优化,最大的...

2283
来自专栏小巫技术博客

一个好的 SDK 或者一个开发平台应该为开发者提供什么?

652
来自专栏SeanCheney的专栏

Awesome Asyncio 《碉堡的Asyncio·中文版》Awesome-Asyncio-CN

Awesome-asyncio 是 Timo Furrer 发起并维护的 Python Asyncio 资源列表。本项目是其中文版,在这里,收集了大量的 Asy...

1273
来自专栏Java学习网

Android自动化测试解决方案

Android自动化测试解决方案 桌面应用程序与浏览器端的自动化测试都已经历了十年的发展,无论是从工具上还是项目管理方 法论上都已经趋于成熟。而移动设备端应...

22610
来自专栏微信终端开发团队的专栏

微信Android热补丁实践演进之路

继插件化后,热补丁技术在2015年开始爆发,目前已经是非常热门的Android开发技术。其中比较著名的有淘宝的Dexposed、支付宝的AndFix以及Qzon...

2407
来自专栏张善友的专栏

性能优化工具 MVC Mini Profiler

MVC MiniProfiler是Stack Overflow团队设计的一款对ASP.NET MVC、WebForm 以及WCF 的性能分析的小程序。可以对一个...

1788

扫码关注云+社区