现在AngularJS 1.0发布了,我想知道这个项目如何与谷歌的另一个通用 JavaScript 框架/工具Closure结合在一起。
我只看过这两种技术的基本描述(并且阅读了关于 Closure 的书的大约一半),所以我没有直接的经验,但这就是我的看法:
- 闭包是一组可以单独使用的技术。我觉得最吸引人的可能是:
- Closure Compiler在某种意义上似乎“修复了 JavaScript”,它会针对典型问题发出警告,提供一些编译时检查(并非所有人都喜欢,但可能大多数 Google 开发人员都这样做,我也这样做)。当然,生成的代码更小更高效也很好。
- 然后有一些我喜欢闭包库的部分,例如对内置类型(
ArrayLike
等)的抽象、基于类的系统、事件机制、DOM 抽象等。我不确定我是否喜欢 GUI 库(似乎很复杂,我还没有时间研究它)。 - 还有一些我认为我不会觉得有用的功能,例如Templates。
- AngularJS,我只是简单地读过,似乎比 Closure 高得多。它似乎是一个应用程序框架,提供数据绑定、可重用组件、MVC 结构等功能。
所以这两种技术似乎针对的是完全不同的抽象级别,所以我的第一个想法是,它们可以一起使用吗?闭包提供低级编译器和浏览器抽象,而 Angular 提供应用程序级服务和结构?这是否有意义,并且可以很好地协同工作?