Introducing Closure Tools
    
    
    
    
    
Millions of Google
      users worldwide use JavaScript-intensive applications such as 
Gmail, 
Google Docs, and
      
Google Maps.
      Like developers everywhere, Googlers want great web apps to be easier to create, so we've
      built many tools to help us develop these (and many other) apps. We're happy to announce the
      open sourcing of these tools, and proud to make them available to the web development
      community.
Closure CompilerClosure
      Compiler is a JavaScript optimizer that compiles web apps down into compact,
      high-performance JavaScript code. The compiler removes dead code, then rewrites and minimizes
      what's left so that it will run fast on browsers' JavaScript engines. The compiler also checks
      syntax, variable references, and types, and warns about other 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. 
Because JavaScript developers are a diverse bunch, we've set up a number of ways to run
      the Closure Compiler. We've open-sourced a 
command-line tool. We've created a 
web
      application that accepts your code for compilation through a text box or a
      RESTful API. We are also offering a Firefox extension that you can use with 
Page
      Speed to conveniently see the performance benefits for your web pages.
Closure LibraryClosure
      Library is a broad, well-tested, modular, and cross-browser JavaScript
      library. Web developers can pull just what they need from a wide set of reusable UI widgets
      and controls, as well as lower-level utilities for the DOM, server communication, animation,
      data structures, unit testing, rich-text editing, and much, much more. (Seriously.
      Check 
the docs.)
JavaScript lacks a standard
      class library like the 
STL or 
JDK. At Google, Closure Library serves as our "standard JavaScript
      library" for creating large, complex web applications. It's purposely server-agnostic and
      intended for use with the Closure Compiler. You can make your project big and complex (with
      namespacing and type checking), yet small and fast over the wire (with compilation). The
      Closure Library provides clean utilities for common tasks so that you spend your time writing
      your app rather than writing utilities and browser abstractions.
Closure Templates Closure
      Templates grew out of a desire for web templates that are precompiled to
      efficient JavaScript.  Closure Templates have a simple syntax that is natural for
      programmers.  Unlike traditional templating systems, you can think of Closure
      Templates as small components that you compose to form your user interface, instead of having
      to create one big template per page.
Closure Templates are implemented
      for both JavaScript and Java, so you can use the same templates both on the server and client
      side.
Closure Compiler, Closure Library, Closure Templates,
      and Closure Inspector all started as 
20% projects and hundreds of Googlers have
      contributed thousands of patches. Today, each Closure Tool has grown to be a key part of the
      JavaScript infrastructure behind web apps at Google.  That's why we're particularly
      excited (and humbled) to open source them to encourage and support web development outside
      Google. We want to hear what you think, but more importantly, we want to see what you make. So
      have at it and have fun!
By the Closure Tools team