客户端 – Angular JS如何与Google Closure相关?
现在AngularJS 1.0
is released我想知道这个项目如何与来自谷歌,Closure的其他通用JavaScript框架/工具配合在一起。
我只看到了这两种技术的基本描述(并阅读了关于Closure的书的一半),所以我没有直接的经验,但这是它看起来对我来说: > Closure是一组可以单独使用的技术。我发现可能最有吸引力的是: > Closure Compiler似乎“修复JavaScript”在某种意义上警告了典型的问题,提供了一些编译时检查(不是所有的人都这样,但可能大多数Google开发人员,我也这样做)。当然,结果代码更小,更高效是很好的。 > AngularJS,我只是简单地阅读,似乎是比Closure高得多。它似乎是一个应用程序框架提供的功能,如数据绑定,可重用组件,MVC结构等。 所以这两种技术似乎是针对不同的抽象层次,所以我的第一个想法是,它们可以一起使用吗? Closure提供低级编译器和浏览器抽象,而Angular提供应用程序级服务和结构?它会有意义,它会一起工作吗?
我唯一知道的使用AngularJS的Google项目是DoubleClick小组。
(presentation)本质上,他们仍然使用谷歌Closure库的一切,但UI的建设。还要注意,他们使用Google Closure Compiler,但这几乎是一个给定的,“nobody”只使用库没有编译器。
Google Closure Library在其goog.ui命名空间中提供了一个UI框架。这个框架几乎在所有方面都与非Web UI框架(如Android,iOS,Swing和QT)进行比较。他们有一个东西我喜欢调用DOM元素类固醇,goog.ui.Component,它有很多伟大的生命周期机制垃圾收集和事件监听等等。你有类似于goog.ui.Control的东西,它是goog.ui.Component的子类,并以一种非常有趣的方式处理用户交互。它允许您插入渲染器,例如,您可以更改< button>到< a>而不改变任何其他逻辑,除了实际渲染。 说到类和子类,Google Closure Library也有这个。你不必使用内置的,重要的是你不知何故在你的方法中调用“超类”的原型。你可以例如在CoffeeScript中使用类系统,Google Closure Library不在乎。 DoubleClick团队选择AngularJS的原因是apparently,这主要是因为AngularJS提供的数据绑定功能。 Google Closure Library中没有内置内容,可在数据更改时自动更新UI。 所以总而言之,谷歌Closure是一个huuuuge野兽,AngularJS可以取代Google Closure库的goog.ui部分。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |