EJS stands for embedded javascript. This library is very useful if you want to build the UI at the client side. It is very similar to ERB and does have some helper methods which can be used to build links etc. Documentation of how we can use EJS can be found here http://code.google.com/p/embeddedjavascript/wiki/Templates.

In CrossBow application, we have used this at couple of places. One for implementing the chat. The chat messages come in as a text and we need to render this in appropriate chat window. Each message is a row in the chat window.

The other place where we have used this is in the Drop Box file upload section on My learnings page. Here when a user chooses to upload a file, we immediately need to show the status of the file upload in a lightbox.

Drawback of using EJS – Difficult to implement theme support.