By design logic-less templates force you to separate concerns thus helping you avoid future problems with refactoring. It also allow templates to be used with multiple programming languages without changes.

Handlebars being an extension of Mustache bests it in both speed and power. It adds additional features to Mustache which make writing templates easier and faster. Benchmarks have also shown that Precompiled Handlebars renders in about half the time of Mustache and the rewritten Handlebars (curr...

Mustache js's attempts at making some things simple makes them so easy that they're almost difficult. That is the case with some basic tasks like figuring out how to apply css to shade odd/even rows on your template based content.

One of the distinguishing features of Jade is its clean syntax. Elements are created with CSS selector syntax which makes the template consistent with your style sheet and JavaScript element selector library.

When working with templates it's extremely important to understand the HTML elements at play, and to see them as natively as possible. Jade removes this, making developers have to do the abstraction in their heads.

The structure is entirely determined by the indentation. That means that indentation errors will ruin the end result, often without an easy way to find the error. Indentation errors are easily introduced by copy-pasting, by rearranging code and by working in a team where not everyone uses the same...

Custom tags provide a simple mechanism for embedding more complex components into a template by extending the HTML grammar with support for new tags. For example: <div> <say-hello name="World"/></div> Custom tags are easy to create since they just map to a JavaSc...

Since the number of people currently using Dust.js is quite insignificant as compared to Mustache js and Handlebars, you're less likely to get your question answered or issue resolved if you start using it.