Closure Templates are a client- and server-side templating system that helps you dynamically build reusable HTML and UI elements. They have a simple syntax that is natural for programmers, and you can customize them to fit your application's needs. In contrast to traditional templating systems,in which you must create one monolithic template per page, you can think of Closure Templates as small components that you compose to form your user interface. You can also use the built-in message support to easily localize your applications.
What are the benefits of using Closure Templates?
- Convenience. Closure Templates provide an easy way to build pieces of HTML for your application's UI and help you separate application logic from display.
- Easy to read. You can clearly see the structure of the output HTML from the structure of the template code. Messages for translation are inline for extra readability.
- Designed for programmers. Templates are simply functions that can call each other. The syntax includes constructs familiar to programmers. You can put multiple templates in one source file.
- A tool, not a framework. Works well in any web application environment in conjunction with any libraries, frameworks, or other tools.
- Battle-tested. Closure Templates are used extensively in some of the largest web applications in the world, including Gmail and Google Docs.
- Secure. Closure Templates are contextually autoescaped to reduce the risk of XSS.
- Work through Hello World Using Java.
- Read the Documentation.
Support and Project status
Closure Templates is widely used and well maintained internally at Google but does not currently have staffing to support the open source release. As such this project is mostly a 'code dump' and support is minimal. For certain issues, like build integration we are in an especially bad position to offer support.
To get assistance you can use any of the following forums
- Look through the documentation.
- Post a question to the closure-templates-discuss mailing list.
- File a bug on github
Though, given our support staffing, we may not be able to help.
Using Closure Templates with other open source frameworks
There are many Closure Template integrations with other popular open source frameworks. Here are a few options for getting started: