Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 你到底想不想结婚?_Javascript_Ajax_Asynchronous_Scaling - Fatal编程技术网

Javascript 你到底想不想结婚?

Javascript 你到底想不想结婚?,javascript,ajax,asynchronous,scaling,Javascript,Ajax,Asynchronous,Scaling,我真的很喜欢Ajax使web应用程序的性能更像桌面应用程序的方式,但我担心在高容量网站上的点击率。我现在正在开发一个基于intranet的数据库应用程序,一次最多只能访问2-4个人。我正在努力摆脱它,但这让我想知道,多少Ajax就是太多了 在什么情况下,点击量超过了使用Ajax带来的好处?与整个页面刷新相比,它看起来并不是真的会这样,因为从理论上讲,您只是在更新需要更新的部分 我很好奇你们中是否有人在高容量的站点上使用过Ajax,以及你们使用它的容量是多少?它会产生缩放问题吗?在我当前的项目中,

我真的很喜欢Ajax使web应用程序的性能更像桌面应用程序的方式,但我担心在高容量网站上的点击率。我现在正在开发一个基于intranet的数据库应用程序,一次最多只能访问2-4个人。我正在努力摆脱它,但这让我想知道,多少Ajax就是太多了

在什么情况下,点击量超过了使用Ajax带来的好处?与整个页面刷新相比,它看起来并不是真的会这样,因为从理论上讲,您只是在更新需要更新的部分


我很好奇你们中是否有人在高容量的站点上使用过Ajax,以及你们使用它的容量是多少?它会产生缩放问题吗?

在我当前的项目中,我们确实使用Ajax,并且存在缩放问题。由于我当前的项目是一个J2EE站点,它为大城市的员工计时,因此我们发现最好是浏览器端能够缓存在用户会话期间不会更改的数据。幸运的是,我们正在转向一个模型,在这个模型中,我们有一个单一的管理进程,可以为尽可能多的员工计时。这类似于ERP应用程序(或电子邮件应用程序)的工作方式。因此,我们的业务需求是浏览器端可以保存大量数据,但我们不认为点击量是一个严重的问题。因此,我们在浏览器端保留了一个XML数据岛。此外,我们仅根据需要加载数据


我强烈推荐《Ajax设计模式》一书或其相关书籍。

如果您关心的是高容量站点的带宽,就像您所说的,只更新需要更新的部分。我对Ajax的问题是,如果访问者没有启用javascript,您的站点可能会变得毫无用处,大多数情况下,我不想为非javascript用户再次编写站点代码。

ajax应用程序最常见的扩展问题是,当他们设置好与服务器进行检查,查看内容是否同时得到更新,而不需要用户主动请求时。每10秒检查5个客户端并不是每10秒检查5000个客户端。

Ajax一方面减少了服务器的工作负载,因为它通常只显示或刷新页面的一部分,而另一方面增加了服务器的点击次数。我想说,所有这些都取决于web应用程序的体系结构。如果您的应用程序每次点击都需要大量的处理(如数据库访问),而不管响应的大小,那么Ajax会给您带来很大的影响。

这样看:Ajax不能是唯一的选择,因为它可能会导致错误!脚本,它必须作为一个层存在于现有架构之上,以便在某些方面提供卓越的体验。鉴于此,AJAX不可能创建比简单HTML更多的请求或更多的工作,因为它正在处理完全相同的数据传输

它能为您节省带宽和服务器负载的原因是AJAX提供了只传输数据的能力。您可以在每次页面刷新时保存冗余的HTML、图像、css等请求,同时提供更快捷的用户体验

正如mike nvck所指出的,轮询技术是这条规则的一个大例外,但这是关于技术而不是技术的:如果你有一个简单的页面轮询,你也会有同样的影响

了解该工具并将其用于设计目的。如果AJAX实现降低了性能,那么您就做错了


(fwiw,我对AJAX与简单HTML的评测经验往往会带来约60%的带宽,约80-90%的性能优势)

设计好后,首先构建初始站点,然后再构建Javascript和AJAX。