今天(最早在Solidot.com看到,据这里说是今天),Google开发Gmail、Google Docs、Google Maps使用的前端开发工具开源了!

Google Code没有提供Clouse Library(JavaScript库)的打包下载,因此需要使用subversion客户端工具取出(check out)所有文件。我使用的是slik subversion,Google还给用户提供了一大堆subversion客户端工具。取出速度快得有点令人惊讶,几分钟就下载了126M。

svn checkout http://closure-library.googlecode.com/svn/trunk/ closure-library-read-only

Web applications have evolved from simple HTML pages into rich, interactive applications that provide a great user experience. Today’s web apps pose a challenge for developers, however: how do you create and maintain efficient JavaScript code that downloads quickly and works across different browsers?

The Closure tools help developers to build rich web applications with JavaScript that is both powerful and efficient. The Closure tools include:

一个JavaScript优化工具

The Closure Compiler compiles JavaScript into compact, high-performance code. The compiler removes dead code and rewrites and minimizes what’s left so that it downloads and runs quickly. It also also checks syntax, variable references, and types, and warns about common JavaScript pitfalls. These checks and optimizations help you write apps that are less buggy and easier to maintain. You can use the compiler with Closure Inspector, a Firebug extension that makes debugging the obfuscated code almost as easy as debugging the human-readable source.

一个JavaScript大型工具库

The Closure Library is a broad, well-tested, modular, and cross-browser JavaScript library. You can pull just what you need from a large set of reusable UI widgets and controls, and from lower-level utilities for DOM manipulation, server communication, animation, data structures, unit testing, rich-text editing, and more.

The Closure Library is server-agnostic, and is intended for use with the Closure Compiler.

一个简易的模板系统:适用于JavaScript和Java

Closure Templates simplify the task of dynamically generating HTML. They have a simple syntax that is natural for programmers. In contrast to traditional templating systems, in which you use one big template per page, you can think of Closure Templates as small components that you compose to form your user interface.

Closure Templates are implemented for both JavaScript and Java, so that you can use the same templates on both the server and client side. For the client side, Closure Templates are precompiled into efficient JavaScript.