Mustache is a fine templating library and liked by a lot of people. However I see these drawbacks:
600 lines of code, 9 contributors for 20 line code problem It’s - it’s therefore difficult to understand completely.
A lot bugs arise from people using Mustache and using {{ }} instead of All data is automatically escaped for special characters in HTML.
In mustache programmers need to learn from the school of hard knocks to always use {{{ }}}
syntax for tokens - otherwise user data with these special characters can break the application.
It’s much better to follow the safe by design principle.
It’s not bad compared to some templating frameworks but having conditional if/not support is starting down the path of building a bad language.
It has no unnecessary features like template
Template caching - which exchanges speed for memory usage and adds complexity
. This is premature optimization
. The simpler library will be faster
by design.
There are no fancy callback features to tempt developers to write complicated code. It’s only going to work with an array of data.
No if statements if data isn’t present - encouraging separation of concerns.