企业JavaScript提示

时间:2011-03-06 19:03:07

标签: javascript enterprise

我目前正在撰写一篇文章,介绍在企业环境中使用JavaScript时的提示/技巧/最佳实践。 “企业”可能有点含糊不清,因此,为了本文的目的,我们将其定义为:在不一定连接到Internet的网络中支持多个基于Web的应用程序。

以下是我所拥有的一些想法,让您的创意充满活力:

  • 确保所有库都保存在可访问Web的中央位置,并且所有应用程序都引用这些库(而不是维护独立的副本)。
  • 按版本引用库,保证新版本不会破坏您的应用程序(没有jquery-latest,请使用jquery - #。#。#)。
  • 应用程序代码的正确命名空间

您可以提供哪些提示来帮助我?

2 个答案:

答案 0 :(得分:1)

在可能的最大DOM大小上测试您的javascript。 IE6 / 7/8将根据执行的VM语句数量挂起,而不是实际运行时间。正则表达式和正则表达式jQuery选择器特别糟糕。

少写。特别是Javascript变得非常难以管理和调试超出特定大小的集合。将功能分解为不同的外部源文件可能有所帮助,但总是考虑一种更好的方法来执行您的操作(例如:jquery插件。)

如果你一遍又一遍地写一个共同模式,请停止。要么创建一个全局方法,要么该方法作用于jQuery选择器,请考虑编写自己的jQuery插件。

不要让方法获取DOM对象或ID。传入jQuery对象本身,并对其进行操作。以这种方式,您不会对您的方法强制任意DOM约束(传入的对象可能甚至不在DOM上,或者它可能没有ID)。

不要修改原型。这打破了库/ jQuery。如果必须,请编写插件或新数据类型。

不要修改库;这打破了可升级性。通过使用自己的插件和转发/拦截调用包装jQuery库,您可以经常实现类似的效果,类似于AOP。

在DOM仍在加载时,不要执行代码。这会导致您只能在机器发生故障时遇到的竞争条件,即使这样也不会保持一致。

不要使用jQuery设置页面样式。这很诱人,但随着DOM的增长,FOUC会变得更糟。在服务器页面中构建.first-child.last-child等,而不是使用jQuery进行攻击。

答案 1 :(得分:1)

也许我会回来添加更多...但是现在我脑子里只有几个:

1)缓存策略。企业服务器负载很重,为了提供http请求,知道如何处理它是很重要的。例如。 JS可以在客户端缓存,但您应该知道如何“告诉”客户端新版本可用。

2)有不同的库可以简化对JS文件的请求计数,只需附加它们(基于配置)。例如。对于Java来说,它是Jawr(只是其中之一)。最好加载1,2,3个脚本(读取'文件')而不是100(这个数字在RIA时代变得正常)。 Jawr做的另一个很好的技巧,它创建了压缩包,所以当客户端要求脚本服务器不需要压缩它时。

3)你的业务逻辑可以由应用服务器处理(当我们谈论java时,可以使用JBoss,GlassFish等),但JavaScript是静态的,所以它可以是http服务器的服务器(如Apache,或更好的lighttd,nginx) 。再次通过这种方式缩小服务器负载(对企业至关重要)

4)像jquery这样的库可以从谷歌CDN(或任何其他可靠的来源)加载。

5)使用YslowPageSpeedAjax DynaTrace来检查效果,提出改进建议等。

6)尝试mod_pagespeed,它可以'消灭'下颌,或者为它制造强大的公司

7)今天使用的另一个问题是JavaScript-on-demand loading

8)offline storage

嗯,虽然您已经指定了您感兴趣的主题,但该区域仍然看起来无限......