When comparing Closure Templates vs Vue.js, the Slant community recommends Vue.js for most people. In the question“What are the best JavaScript templating engines?” Vue.js is ranked 3rd while Closure Templates is ranked 19th. The most important reason people chose Vue.js is:
Vue can easily be integrated with other front-end libraries. This makes it an extremely versatile tool and it's easy to fix its shortcomings or missing features by just plugging in another library.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Language independent
The same template written in Closure would work both on Java as well as javascript.
Pro Well Tested and used by Gmail and Google Docs
Closure Templates being a project created by Google, is extensively used in some of the world's most famous and largest web apps which include Gmail and Google Docs. What this means for you is that you'll be using a Template engine that has not only been intensively tested but also that you'll be in good company, with lots of technical support.
Pro Secure
Closure has been designed keeping most security risks in mind. Templates created using Closure are auto-escaped automatically. Hence you won't have to worry about any XSS attacks.
Pro High Performance
Closure templates do not tend to slow down your site's performance or increase your page load time. They're compiled to extremely efficient JS code so that your page renders extremely fast, whether the templating is done on the client end or the server end.
Pro Can be used with any front-end stack
Vue can easily be integrated with other front-end libraries. This makes it an extremely versatile tool and it's easy to fix its shortcomings or missing features by just plugging in another library.
Pro Single file component
Very useful.
Pro Lightweight
Vue.js weighs in at 16kb min+gzip.
Pro Vuex store, events system
Pro Reactivity system
Pro CLI and Webpack integration
Pro Responsive server-side rendering
Since most of the mainstream server-side rendering implementations are synchronous, they can block the server's event loop when the application is complex.
Vue implements streaming server-side rendering, which allows you to render your component, get a readable stream and directly pipe that to the HTTP response. This allows you to have a responsive server and decreases the time your users have to wait before they get your rendered content.
Pro Supports inline templating
Although you can build components in JavaScript files, you can also use inline handlebars-like templating in your HTML views where simplicity is often a more sane choice.
Pro Can be made even lighter
Since the template-to-virtual-DOM and compiler can be separated, you can compile the templates in your machine and then deploying only the interpreter which is 12KB minified and gzipped.
Pro Support for both templates and JSX
You can choose to use either a templating language, or if you feel it's necessary to drop on a lower virtual-dom level, you can use JSX. This is simply done by replacing the template
option with a render
function.
Or alternatively, you can embed functions inside templates by using the <render>
tag.
Pro SEO friendly
Starting with Vue 2.0, Vue supports server-side rendering. This helps with SEO a lot, since the views are rendered directly on the server, which are indexed by search engines.
Pro VueRouter
Cons
Con Hard to find what you need in documentation
Docs are pretty, but hard to find exactly what you need. Although language has nice macros, you're going to hate them when they fail and you search for info for half an hour.
Con Strange errors from compiler
You won't get used to them even after a while.
Con Not widely used outside of Google
Closure Templates are mostly used in projects developed by Google and not in projects by third-parties. As such, it's unlikely for further versions to be released or for changes to be merged.
Con Poor typescript support
Very basic typescript support.
Con Very enterpris-ey in design and tooling
