探秘Google的JavaScript开发工具Closure

原创
开发 前端
今日Google发布了其内部使用的JavaScript开发工具Closure,在世界范围内的Web开发社区中激起了一片浪花。本文是Google Closure小组在博客上对这个系列工具的简介。

【51CTO快译】今天Google发布了其内部使用的JavaScript开发工具Closure,并贡献给开源社区,在拍手称快的同时,我们来看看它究竟有些什么内涵。

#t#

Closure 编译器

Closure 编译器是一个JavaScript优化器,为Web应用程序生成紧凑,高性能的JavaScript代码,它移除了不必要的代码,并经过重写和优化,保持娇小的身材,以便在浏览器的JavaScript引擎上运行得更快,这个编译器也会检查语法,变量引用和类型,并对常见的JavaScript陷阱发出警告,这些功能有助于你写出bug更少,更易于维护的程序。你也可以使用Closure检查器,它是一个Firebug扩展,主要用于调试那些难以阅读的代码。

因为JavaScript开发人员是一个多样化的群体,Google还设计了许多方法来运行Closure 编译器,同时内置了一个命令行工具,如果你还想偷懒,Google也提供了一个在线页面,你可以将你的JavaScript代码放入该网页中的文本输入框中,让它帮你编译,也可以调用RESTful API来完成编译。此外,Google提供了著名的Firefox 扩展Page Speed,让开发人员可以在Firefox 中方便地查看网页的性能。

Closure库

Closure库是一个广泛的,经过严格测试的,模块化的,跨浏览器的JavaScript库,Web开发人员可以在他们的用户界面中直接通过拖拉进行复用。

JavaScript缺乏一个类似STL或JDK的类库,现在好了,Google Closure库为我们带来了一个“标准的JavaScript库”,让我们可以更容易地创建大型复杂的Web应用程序,这个库需要和Closure编译器配合使用。你可以让你的项目变得更大和复杂(使用命名空间和类型检查),也可以让你的项目变得轻巧,快速(使用汇编)。Closure库为普通任务提供了干净的实用工具,因此你可以将时间花在编写你的应用程序上,不用再考虑编写自己的工具和浏览器抽象了。

Closure模板

Closure模板的前身是Web模板,通过预编译以提高JavaScript效率,Closure模板有一套简单的语法,程序员很快就可以掌握,和传统的模板系统不一样,你可以将Closure模板视为很小的组件,然后通过组装形成一个正式的Web页面,从此不再需要为每个页面设计一个大大的模板了。

Closure模板是使用JavaScript和Java实现的,因此你在服务端和客户端可以使用相同的模板。

小结

Closure编译器,Closure库,Closure模板和Closure检查器都还处于不断开发阶段,Google称之为20%项目,但即便如此,已经有成千上万的人在不断分发它们,并给这些工具贡献代码和补丁。目前Closure所有工具都应用到Google产品开发中,这也是Google认为现在应该将其贡献出来,与全世界Web开发人员共同分享的主要动机。

来源:Closure团队博客

责任编辑:yangsai 来源: 51CTO.com
相关推荐

2009-11-06 14:49:12

Closure ComJavaScriptGoogle

2011-07-19 09:15:42

GoogleAndroid 3.2开发工具

2022-04-26 10:11:16

开发工具JavaScript

2013-11-22 11:03:45

GoogleWeb开发工具

2015-07-27 10:55:13

JavaScriptWeb开发工具

2011-05-11 09:03:33

javascript开发工具

2010-05-28 13:38:29

Linux开发工具

2009-05-25 09:00:45

Javascript免费工具Javascript框

2009-04-30 08:35:18

GoogleAndroid移动OS

2015-04-24 10:54:58

JavaScript开发工具代码编辑器

2011-05-25 14:48:33

Javascript闭包

2013-04-17 10:06:55

Google GlasMirror API

2013-11-21 10:21:25

2010-06-04 17:26:53

Linux 开发工具

2010-08-03 14:18:02

Flex开发工具

2010-07-15 12:56:55

Perl 开发工具

2010-07-26 13:45:14

Perl开发工具

2009-07-03 12:59:50

Java ServleJSP开发工具

2011-06-08 13:20:56

Android ARM

2010-02-24 14:53:33

Python开发工具
点赞
收藏

51CTO技术栈公众号