When a designer and a developer work together to create an HTML web application one of the biggest issues is how you translate their vision into code in a way that allows for iteration and flexibility when those designs change. Another issue is that while you are testing a design you would like it to be filled with actual data but having it hooked up to a live server at all times is very painful. So far I haven’t found a system that really gives me even these attributes and as it turns out there are more requirements that I would like that are also mostly unfulfilled. Here is a list of requirements I would like to see met by a templating system:
- Works well with HTML5/CSS3 progressive enhancement
- Allows mock data within the template that is replaced at runtime
- Client-side version that leverages the mock data for shift-reload debugging
- Composable components, not monolithic pages
- Very little or no business logic in the templates
- Concurrent evaluation possible
Right now I am looking at mustache.js and its various server-side implementations as a possible solution to this. It has many of those qualities but I would likely need to make some of my own modifications for things like concurrent evaluation.