免责声明
我主要参考企业环境中关于 jQuery 的评论,由于我缺乏 YUI 方面的经验,所以我无法给出任何有意识的建议,让 [不] 使用它而不是 Closure。
但是在没有任何其他答案的情况下,我将分享我使用 Closure 的经验。
闭包库
至于 Closure 库,我在最近的几个项目中一直在使用它,但我绝不是它的专家,我只能说好话。
库提供了构建任何类型的 UI 时所需的核心组件。但是,与 jQuery 不同的是,它没有附带数以万亿计的“准备部署”插件脚本,或者如某些人所说,不包括电池。
它有基本的事件、控件、xhr、对话框、表单组件等,我认为最重要的是命名空间(或者至少看起来像它们的东西......)。
有了这个,您可以创建自己的自定义 UI,仅受您的想象力和 JavaScript 的力量的限制(而 JS 是非常强大的语言,即使它确实有自己的烦恼)。
在Closure 编译器的帮助下,它不仅缩小了代码,而且排除了所有未使用的代码,进行类型检查,提供对调试有用的警告等等,它看起来像是由任何规模的团队构建大型应用程序的坚实基础。
在我看来,在企业项目中使用 Closure over jQuery 的主要原因是一致性。插件很棒,但它们往往在各个层面都存在不一致,无论是编程实践、视觉风格和结构、性能、用法,你都能想到。在大型项目中消除这些小的不一致可能会浪费大量时间。
所以总而言之,如果你有大型项目需要自定义 UI 和很大的灵活性,那么 Closure 是适合这项工作的工具。有了“命名空间”,它甚至感觉都是 Pythonish。
PS 我们也在服务器端使用 Django。