Man*_*sai 10 javascript jquery gwt dojo frameworks
有不同的JavaScript框架,如jQuery,Dojo,mooTools,Google Web Toolkit(GWT),YUI等.其中哪一个适用于高性能网站?
Eug*_*kin 14
(完全免责声明:我是Dojo开发人员,这是我的非官方观点).
所有主要库都可以在高负载情况下使用.有几件事需要考虑:
初始加载
初始负载会影响您的响应时间:从请求网页到响应以及处于工作模式.琐碎的事情是:
我们的想法是减少发送 - 对服务器有益,对客户有利.
不那么琐碎的事情:
后者的示例:将模块划分为必要(例如,核心逻辑)和非必要(例如,帮助程序:工具提示,提示,验证程序,帮助工具,各种"渐进增强程序"等).我们的想法是,经常有些东西对于频繁的用户来说并不重要,但对于临时用户来说很好⇒他们可能会被推迟.
我们可以先加载基本模块,然后异步加载其余模块.示例:如果用户想要编辑对象,我们需要先显示它,之后我们有几百毫秒来加载其余的:查找表,提示等.
显然,当您使用的框架支持异步加载模块时,它会有所帮助.Dojo内置了这个工具.
分发文件
大家都知道,由于浏览器对来自同一站点的并行下载数量的限制,从不同的域加载资源(图像,CSS,JavaScript)是有益的:
JavaScript应用程序中经常被忽视的一个优化是使用CDN:
Dojo再次支持CDN,并由AOL CDN和Google CDN公开发布.后者几乎带有所有流行的JavaScript工具包.显然你可以创建自己的CDN和你自己的CDN和特定于应用程序的Dojo构建,如果你觉得你需要它 - 它是微不足道的并且有很好的文档记录.
通信带宽
对于不同的工具包,这有何不同?XHR是XHR.
您需要尽可能减少服务器上的负载.分析所有流量并考虑通过管道发送多少静态/不可变的内容.例如,通常很多HTML在多个页面上都是冗余的:标题,页脚,菜单等.你真的需要每次都发送所有这些吗?
一个显而易见的解决方案是从使用JavaScript的静态HTML +"渐进增强"转变为真正的"单页"JavaScript应用程序.同样,这是一个经常被忽视但最有价值的优化.
虽然这个想法听起来很简单,但实际上它并不像看起来那么简单.一旦我们从单行开始到应用程序,我们就会遇到过多的问题,其中最大的问题是包装:您的组件是什么,工具包提供了哪些组件,以及如何打包和交付它们.
Dojo为常规类提供了模块,良好的OOP,小部件(可选HTML和相关行为的组合)以及许多可以使用它们的工具.您可以:
在客户端构建应用程序时,所有这些功能都有很大帮助.这就是我喜欢Dojo的原因.
显然,有更多的方法来优化高负载网站,但根据我的实践,这些是JavaScript框架最具体的.
| 归档时间: |
|
| 查看次数: |
3117 次 |
| 最近记录: |