I work on a large Java based web application, it has been built up over the past 5 or so years - the UI needs an overhaul / to be largely re-written. We are investigating the available UI tools/libraries/frameworks to use and have come across dust.js as an option for templating.
The questions: I'm interested in hearing what users of dust.js think of it:
Some background:
Why are we interested in dust.js: The following LinkedIn blog posts first drew our attention to it:
The client-side templating throwdown: mustache, handlebars, dust.js, and more
The second of the two posts very nicely answers question 5, but asides from LinkedIn, very few results from Google detail the templating system or imply that it is a popular choice. In addition, the post mentions that they have extended the functionality and hope to one day contribute to the original project. I'm concerned that until they do that, we may also need to extend functionality.
Having said this, LinkedIn's original requirements for a templating system are very close to ours (see below) and they have clearly done some very thorough investigations before choosing.
Our requirements:
Instead of using a JSP, GSP, or ERB to assemble a page server side and send back HTML, we have the server send back just the dynamic data as JSON and have the page assembled in the browser using a static client-side template served from a CDN"
Dust.js is a good option. It is better than some of the other templating frameworks because it does not constrain that the data should be in a file, or in a string, etc.
Also it is being actively maintained https://github.com/linkedin/dustjs.
Has it been successful?
Yes, I know at least LinkedIn is using it and also contributing improvements/patches, etc.
Is it easy to use?
I have tried using it and it is as easy as Mustache or Handlebars.js.
Is it sufficiently documented?
Is community support good? (only 6 questions on ST tagged 'dust.js'!)
If you are comparing Mustache or Handlebars.js, dust.js does not have as many users, but I believe if you have an issue and post it on the LinkedIn repo they would definitely respond. I will too since I'm watching it :-)
What are the pros and cons when compared to other templating tools such as Underscore's templating, Google Closure Templates, Handlebars and Mustache.
As for pros, you can check when you should consider using dust.js here https://github.com/linkedin/dustjs#readme.
As for cons, there aren't enough users for dust.js compared to popular ones like Mustache or Handlebars.js. That said, the other libraries like Google Closure suffer the same problem.
But like I mentioned before, dust.js is designed very well compared to other frameworks IMHO.
Are there any problems using it with an MV* structure framework, e.g Backbone.js (online book)?
I have not used it with other MVC frameworks, but I don't think it should be a problem at all.
Hope that helps.