Hey Luthur,
It boils down to the type of app you want to write, one that is client driven vs. server driven. Most of the MVC frameworks today have taken what the server templating languages have done, and adopted it...making front-end development much more powerful. Polymer/MDV is focused on client-side development.
If you had an "items" model from the server, your templating might look like this:
{% for item in items%}
<my-element name="{{
item.name}}"></my-element>
{% endfor %}
which would render from the server as:
<my-element name="One"></my-element>
<my-element name="Two"></my-element>
<my-element name="Three"></my-element>
...
The markup is static and harder to make dynamic updates to once it is servered to the client. Instead, you can leave the work up to the frontend, but still populate the data from the server (or use XHR to bring it in):
{% verbatim %}
<template repeat="{{item as items}}">
<my-element name="{{
item.name}}"></my-element>
</template>
{% endverbatim %}
<script>
document.querySelector("template').model = {{items}}; // items here is filled by the server's template.
</script>
Note:
If you're using a server templating system like Django, there may be conflicts
with MDV's {{}}. Django in particular uses the same variable placeholder.
Django 1.5 has support for the verbatim tag. You can wrap your inlined element definitions in that:
If you're using an older version, people have created gists that you can reuse:
Hope this helps!
Eric