Google’s Closure Tools

Recently Google announced the release of Closure Tools. This is how Google describe it:

“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.”

The toolset includes the Closure Compiler, Closure Library and Closure Templates. I’ll focus this post on the Closure Compiler. Google describe the compiler as:

“The Closure Compiler is a tool for making JavaScript download and run faster. It is a true compiler for JavaScript. Instead of compiling from a source language to machine code, it compiles from JavaScript to better JavaScript. It parses your JavaScript, analyzes it, removes dead code and rewrites and minimizes what's left. It also checks syntax, variable references, and types, and warns about common JavaScript pitfalls.”

There’s an online version where you can go and try it out. If you like what you see, you can download the code and run it locally. This would be great to integrate as part of your build process IMO.

clip_image002

The Closure Compiler will compress your JavaScript files. The Simple optimization will remove whitespace and comments. The Advanced optimization will look at your code and try to optimize it. For most people the Simple optimization will be good enough because the compiler won’t re-write your JavaScript.






About The Author

Malcolm Sheridan is a Microsoft awarded MVP in ASP.NET and regular presenter at conferences and user groups throughout Australia. Being an ASP.NET Insider, his focus is on web technologies and has been for the past 10 years. He loves working with ASP.NET MVC these days and also loves getting his hands dirty with JavaScript. He also blogs regularly at DotNetCurry.com. Follow him on twitter @malcolmsheridan

No comments: