考虑中
- 商业背景
- 社区支持
- 可用的扩展
- 默认功能集
- 使用简单
- 和可靠性
为什么您偏爱另一个?
考虑中
为什么您偏爱另一个?
Answers:
我将尝试添加我的信息。
据我了解,Google Closure不仅是另一个JS库,而且还是允许您优化JS代码的一组工具。使用jQuery可为您提供良好的工具和轻量级的库,但不会减少您自己的代码。该Closure编译器会。所述闭合检查员也可以是有用的,因为有时精缩码具有比原始一个不同的行为,并且是疼痛调试。它与Firebug和支持单元测试集成在一起,这是当今开发人员最好的朋友。
我猜想,与任何新的VS相对完善的库相比,它将缺乏jQuery所提供的大量扩展和教程。但是,在Google的推动下,应确保支持和可靠性都非常好。当前的文档和教程看起来也都不错。
不过,Closure的功能看起来不错,其模块化体系结构也很有希望。我想Google在内部已经使用了很长时间了,这意味着您可以期望以非常优化和可扩展的方式实现所有(以及更多)基本功能。他们试图将其表示为JavaScript的STL,因此应该完善它。
在仔细研究了这些功能之后,与现有的jQuery库相比,这似乎是Web应用程序开发的一大进步。它猜想它有益于Google的内部开发,但是诸如检测在线状态(请参阅goog.events.OnlineHandler),在浏览器历史记录中轻松集成AJAX请求和JS动作(请参阅goog.History)或大量的小部件之类的事情他们提供(请参阅goog.ui软件包)可能会帮助我们所有人构建更出色的Web应用程序;)!
它带有与Java集成的模板功能(谁称GWT?),因此这对于Closure也可能是另一个优点。
最后,它看起来非常简单易用。语法可能比$ jQuery短函数有些冗长,但是有了IDE和自动补全功能,这并不是一个真正的问题。而且,我想我们可以期望Google能够很好地集成到Eclipse等IDE中。
编辑:根据要求,让我说一些有关GWT参考的信息。Google Web Toolkit是一个Java库,它可以创建启用AJAX的Web界面,并生成(并优化)所需的JavaScript代码。由于Google Closure允许创建可在客户端和服务器端使用的模板(使用JavaScript和Java),因此我猜想很快将可以将它们一起使用(如果还不是这样)。
在对API的简要介绍中,我发现jQuery和Closure之间的差异非常明显。
jQuery基本上只是跨浏览器方式执行许多频繁操作的简化方法。
Closure是一个非常新的框架,例如,它们提供了跨浏览器的方式使用该<canvas>
标记,并且它们添加了新的事件。
因此,这增加了我们通常使用javascript所做的工作,他们正在执行人们想要执行的许多操作并将其放入API。
例如,他们有一个事件来告知联机状态是否已更改。这样就可以判断系统是否在线。
他们具有使用诸如Google Gears之类的工具的javascript函数,并继续扩展了Java语言可以完成的工作。
我需要几天的时间来消化所有更改,但是我可以看到这可能会对可以开发的Web应用程序产生很大的影响。
Closure Library的最大优点是专为Closure Compiler设计。这为JavaScript开发打开了全新的可能性...
编译器具有几个很酷的功能:
有关详细信息,请参见:http : //blog.klokantech.com/2010/12/closure-compiler-for-openlayers-3x.html
编辑:观看此youtube视频,它可能会更好地回答有关Google Closure的一些问题。
关于Google关闭的最佳信息来源可能是项目讨论小组,Wiki,文档页面,演示以及Michael Bolin尚未完成的书,现在可以从野生动物园书籍网站上获取。
我可以立即告诉一件事-vs的学习曲线closure
比较陡峭,jQuery
但是由于库的庞大性,清晰的组织结构以及将其与编译器和模板工具一起使用的好处,因此值得一试。
closure
库在这方面更像dojo
比jQuery
,和一些概念从借用dojo
,根据迈克尔波林。
Google Closure编译器使用的是JSDoc
文档系统,该系统同时(如果由程序员正确创建)提供文档,并可以在编译时捕获许多错误。
尽管函数名比verbose更冗长jQuery
,但编译器会缩减代码(使用各种优化策略),并且类型检查将节省大量调试代码的时间,因此键入较长名称的时间可能不是问题。同时,较长的名称会增加可读性。
库支持以怪癖模式运行的浏览器,以便其他站点可以使用“怪异” html嵌入脚本
库可与(但不依赖于)一个称为javascript的模板系统一起使用soy
,该系统可简化使用内容填充文档的过程。
像jQuery
google 一样,closure
允许使用库的专用组件遍历基于字符串的查询的dom结构。
closure
库更依赖点分隔的命名空间Java
-一种非常强大的组织功能。
使用这样的名称空间将在未编译的代码中产生开销,但是在已编译的代码中,这些内容将替换为简短的变量名。
like jQuery google closure allows traversing dom structure with the string-based queries using a dedicated component of the library.
您可以将我链接到与此有关的一些文档吗?
goog.dom.DomHelper
,但是我个人没有看到与jQuery等效的查询功能。@Evgeny:您能给我们更多细节吗?
也许我没有使用jQuery,但是我在那里没有看到真正的UI小部件集合(是的,是的,但是您不知道它们的测试程度如何,并且通常没有明显的赢家和/或缺少插件文档)。
除其他外,闭包还包含一个小部件集合(请参见“演示”选项卡),包括gmail中使用的无图像按钮。
更一般而言,它在该发行版中实现了更多功能。这可能不是一件大事,但是当我在寻找诸如ajax历史记录模块或自动完成之类的简单内容时,我对jQuery插件之类的应用感到恼火。
总体而言,这是一个庞大的库+工具集,我将了解它的全部功能。
我感谢Google在开源社区中所做的大部分贡献,并且我相信它有很多很棒的东西,但总的来说,我发现Closure体积庞大,使用过度并且不够雅致。如果您必须将所有内容都转换为Java,那么我想这是完全错误的。
编辑:
很公平。我没有真正比较。封闭就像一个巨大的仓库,里面有您可能希望把所有可能的工具放在某个地方。有点像.NET或庞大的Java库。找到所需的内容后,您会发现可以完成特定工作的特定特定内容。然后进行生产,您可以清除所有残留物。
另一方面,JQuery更像是一种易于修改的声音螺丝刀。
Google Closure库允许您编译和优化JavaScript。它不是像jQuery这样的库。jQuery是一种为您提供功能的工具,可让您更快地编写自己的JavaScript。
Google Closure将帮助您最小化自己的javascript代码,从而可以更快地通过Internet交付。
长话短说,Google Closure是一种工具,而jQuery是类似于Prototype的库。