<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:dtvmedia="http://participatoryculture.org/RSSModules/dtv/1.0"
	xmlns:media="http://search.yahoo.com/mrss/"
	>
<channel>
	<title>Comments on: Dual-Side Templating</title>
	<atom:link href="http://softwareas.com/dual-side-templating/feed" rel="self" type="application/rss+xml" />
	<link>http://softwareas.com/dual-side-templating</link>
	<description>Mahemoff's Podcast/Blog - Web, Programming, Usability from the Author of 'Ajax Design Patterns' (AjaxPatterns.org)</description>
	<lastBuildDate>Wed, 17 Mar 2010 14:29:59 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: mahemoff</title>
		<link>http://softwareas.com/dual-side-templating/comment-page-1#comment-200676</link>
		<dc:creator>mahemoff</dc:creator>
		<pubDate>Thu, 21 Feb 2008 12:58:00 +0000</pubDate>
		<guid isPermaLink="false">http://softwareas.com/dual-side-templating#comment-200676</guid>
		<description>&lt;p&gt;@Jeff Thanks for reminding me to explain why this is useful in the first place. (a) search-engine optimisation and scrapers (and isn&#039;t that the basis of the semantic web aka &quot;web 3.0&quot;); (b) accessibility - works if JS is off and gives screenreaders initial content (though some screenreaders can deal with dynamic changes to an extent); (c) speed still matters, especially on mobile devices.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@Jeff Thanks for reminding me to explain why this is useful in the first place. (a) search-engine optimisation and scrapers (and isn&#8217;t that the basis of the semantic web aka &#8220;web 3.0&#8243;); (b) accessibility &#8211; works if JS is off and gives screenreaders initial content (though some screenreaders can deal with dynamic changes to an extent); (c) speed still matters, especially on mobile devices.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom M</title>
		<link>http://softwareas.com/dual-side-templating/comment-page-1#comment-200055</link>
		<dc:creator>Tom M</dc:creator>
		<pubDate>Wed, 20 Feb 2008 12:41:20 +0000</pubDate>
		<guid isPermaLink="false">http://softwareas.com/dual-side-templating#comment-200055</guid>
		<description>&lt;p&gt;For Perl, try Template Toolkit (http://template-toolkit.org/) with Jemplate (http://www.jemplate.net/) which does exactly this, compiles the templates into Javascript and you can use exactly the same syntax on serverside and clientside. Surprised more people don&#039;t use this.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>For Perl, try Template Toolkit (<a href="http://template-toolkit.org/" rel="nofollow">http://template-toolkit.org/</a>) with Jemplate (<a href="http://www.jemplate.net/" rel="nofollow">http://www.jemplate.net/</a>) which does exactly this, compiles the templates into Javascript and you can use exactly the same syntax on serverside and clientside. Surprised more people don&#8217;t use this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pawel</title>
		<link>http://softwareas.com/dual-side-templating/comment-page-1#comment-198974</link>
		<dc:creator>pawel</dc:creator>
		<pubDate>Mon, 18 Feb 2008 20:38:49 +0000</pubDate>
		<guid isPermaLink="false">http://softwareas.com/dual-side-templating#comment-198974</guid>
		<description>&lt;p&gt;As a fan of TAL I&#039;m trying to develop JS-based implementation of this template language. My implementation is based on E4X, so it works in Gecko-based browsers (Firefox) and in many server-side JS environments (since most of them is based on Mozilla&#039;s Rhino / Spidermonkey). So it&#039;s not good for client-side usage when you need it to be cross-browser (but in 2010 - who knows?). Here&#039;s the code: 
http://code.google.com/p/jstal/&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>As a fan of TAL I&#8217;m trying to develop JS-based implementation of this template language. My implementation is based on E4X, so it works in Gecko-based browsers (Firefox) and in many server-side JS environments (since most of them is based on Mozilla&#8217;s Rhino / Spidermonkey). So it&#8217;s not good for client-side usage when you need it to be cross-browser (but in 2010 &#8211; who knows?). Here&#8217;s the code:<br />
<a href="http://code.google.com/p/jstal/" rel="nofollow">http://code.google.com/p/jstal/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Burrows</title>
		<link>http://softwareas.com/dual-side-templating/comment-page-1#comment-197702</link>
		<dc:creator>Jeff Burrows</dc:creator>
		<pubDate>Fri, 15 Feb 2008 21:08:46 +0000</pubDate>
		<guid isPermaLink="false">http://softwareas.com/dual-side-templating#comment-197702</guid>
		<description>&lt;p&gt;I don&#039;t think I agree. I have been using ExtJS for almost a year and using lots of client-side templating with dataviews, etc. I don&#039;t know what benefit there is to sometimes doing this on the server (e.g. when the page loads). As client power, and bandwidth are increasing, there is even less reason to worry about this - right? In addition to the convenience of managing all the &quot;templates&quot; in one place, it can be very slick to load the page and then go and get the data to render things.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I don&#8217;t think I agree. I have been using ExtJS for almost a year and using lots of client-side templating with dataviews, etc. I don&#8217;t know what benefit there is to sometimes doing this on the server (e.g. when the page loads). As client power, and bandwidth are increasing, there is even less reason to worry about this &#8211; right? In addition to the convenience of managing all the &#8220;templates&#8221; in one place, it can be very slick to load the page and then go and get the data to render things.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Javascript News &#187; Blog Archive &#187; Dual-Side Templating for 2010</title>
		<link>http://softwareas.com/dual-side-templating/comment-page-1#comment-197697</link>
		<dc:creator>Javascript News &#187; Blog Archive &#187; Dual-Side Templating for 2010</dc:creator>
		<pubDate>Fri, 15 Feb 2008 20:39:54 +0000</pubDate>
		<guid isPermaLink="false">http://softwareas.com/dual-side-templating#comment-197697</guid>
		<description>&lt;p&gt;[...] Mahemoff is bullish on templating that runs all over the shop, and explained the progression in his Dual-Side Templating [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] Mahemoff is bullish on templating that runs all over the shop, and explained the progression in his Dual-Side Templating [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Benjamin 'balupton' Lupton</title>
		<link>http://softwareas.com/dual-side-templating/comment-page-1#comment-197641</link>
		<dc:creator>Benjamin 'balupton' Lupton</dc:creator>
		<pubDate>Fri, 15 Feb 2008 17:24:40 +0000</pubDate>
		<guid isPermaLink="false">http://softwareas.com/dual-side-templating#comment-197641</guid>
		<description>&lt;p&gt;I share the same vision, I&#039;ve made my own post on the subject here talking about current and future applications:
http://www.balupton.com/blogs/dev?title=jaxer&lt;em&gt;the&lt;/em&gt;silver_bullet
Worth checking out is the JSmarty (Client Side Templating):
http://code.google.com/p/jsmarty/
Which is a port of Smarty (Server Side Templating):
http://www.smarty.net/crashcourse.php&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I share the same vision, I&#8217;ve made my own post on the subject here talking about current and future applications:<br />
<a href="http://www.balupton.com/blogs/dev?title=jaxer" rel="nofollow">http://www.balupton.com/blogs/dev?title=jaxer</a><em>the</em>silver_bullet<br />
Worth checking out is the JSmarty (Client Side Templating):<br />
<a href="http://code.google.com/p/jsmarty/" rel="nofollow">http://code.google.com/p/jsmarty/</a><br />
Which is a port of Smarty (Server Side Templating):<br />
<a href="http://www.smarty.net/crashcourse.php" rel="nofollow">http://www.smarty.net/crashcourse.php</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Neil Roberts</title>
		<link>http://softwareas.com/dual-side-templating/comment-page-1#comment-197608</link>
		<dc:creator>Neil Roberts</dc:creator>
		<pubDate>Fri, 15 Feb 2008 15:48:09 +0000</pubDate>
		<guid isPermaLink="false">http://softwareas.com/dual-side-templating#comment-197608</guid>
		<description>&lt;p&gt;If you visit my website, it&#039;s actually running dual-side templating using the DojoX DTL implementation that Roberto spoke of above. (The server-generated version is at http://someclosure.com/text/)&lt;/p&gt;

&lt;p&gt;And because a language like DTL includes inheritance and other forms of &quot;filling in the blanks&quot; using other templates, arbitrarily complex page mutations can occur.&lt;/p&gt;

&lt;p&gt;Your thoughts on using the server to render most of the page is definitely interesting. It would be interesting to write a custom tag for the DTL server-side implementation that worked something along the lines of {% updates %}{% myTags %}{% endUpdates %} that would basically render the content between the two tags, and then duplicate the template code again below it.&lt;/p&gt;

&lt;p&gt;But I only can see this type of half-rendering being more efficient the first time the site is visited. For example, when I make return visits to my website, the page loads in a snap because the only data that needs to be loaded is the text of the page.&lt;/p&gt;

&lt;p&gt;It would be interesting to look into whether some sort of session-based detection could be done so that their first visit gave them the server-rendered page, but subsequent visits gave them just the raw text.&lt;/p&gt;

&lt;p&gt;And one last thought, it would be fairly trivial to take a page that&#039;s been rendered using the server-side version of the language, and once the JS templating is loaded, render it &quot;on top of&quot; the DOM, adopting tags as they match. In this way, you&#039;d be able to have a much more pleasant visual experience (no waiting for JS, no page flicker) as well as having the power of templating.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>If you visit my website, it&#8217;s actually running dual-side templating using the DojoX DTL implementation that Roberto spoke of above. (The server-generated version is at <a href="http://someclosure.com/text/)" rel="nofollow">http://someclosure.com/text/)</a></p>
<p>And because a language like DTL includes inheritance and other forms of &#8220;filling in the blanks&#8221; using other templates, arbitrarily complex page mutations can occur.</p>
<p>Your thoughts on using the server to render most of the page is definitely interesting. It would be interesting to write a custom tag for the DTL server-side implementation that worked something along the lines of {% updates %}{% myTags %}{% endUpdates %} that would basically render the content between the two tags, and then duplicate the template code again below it.</p>
<p>But I only can see this type of half-rendering being more efficient the first time the site is visited. For example, when I make return visits to my website, the page loads in a snap because the only data that needs to be loaded is the text of the page.</p>
<p>It would be interesting to look into whether some sort of session-based detection could be done so that their first visit gave them the server-rendered page, but subsequent visits gave them just the raw text.</p>
<p>And one last thought, it would be fairly trivial to take a page that&#8217;s been rendered using the server-side version of the language, and once the JS templating is loaded, render it &#8220;on top of&#8221; the DOM, adopting tags as they match. In this way, you&#8217;d be able to have a much more pleasant visual experience (no waiting for JS, no page flicker) as well as having the power of templating.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nater Kane</title>
		<link>http://softwareas.com/dual-side-templating/comment-page-1#comment-197604</link>
		<dc:creator>Nater Kane</dc:creator>
		<pubDate>Fri, 15 Feb 2008 15:38:57 +0000</pubDate>
		<guid isPermaLink="false">http://softwareas.com/dual-side-templating#comment-197604</guid>
		<description>&lt;p&gt;I&#039;ve been creating a templating framework that is &quot;duel side&quot; for a few months now in what little extra time i have. returns JSONML for javascript based requests, or full xhtml docs for traditional ones. there&#039;s actually more, but i&#039;m not really ready to talk about it yet.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been creating a templating framework that is &#8220;duel side&#8221; for a few months now in what little extra time i have. returns JSONML for javascript based requests, or full xhtml docs for traditional ones. there&#8217;s actually more, but i&#8217;m not really ready to talk about it yet.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mahemoff</title>
		<link>http://softwareas.com/dual-side-templating/comment-page-1#comment-197565</link>
		<dc:creator>mahemoff</dc:creator>
		<pubDate>Fri, 15 Feb 2008 14:41:54 +0000</pubDate>
		<guid isPermaLink="false">http://softwareas.com/dual-side-templating#comment-197565</guid>
		<description>&lt;p&gt;@Dave Saw you on twitter :). Haha XSLT dual-side templating will be the catalyst for XML world domination ;). Actually it&#039;s a good point - don&#039;t have to wait for server-side JS as it&#039;s possible to do dual-side with xslt today. I do have reservations about XSLT though, compared to a simple template language.&lt;/p&gt;

&lt;p&gt;@roberto Thanks for the link. I hope it does progress in that direction.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@Dave Saw you on twitter <img src='http://softwareas.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Haha XSLT dual-side templating will be the catalyst for XML world domination <img src='http://softwareas.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Actually it&#8217;s a good point &#8211; don&#8217;t have to wait for server-side JS as it&#8217;s possible to do dual-side with xslt today. I do have reservations about XSLT though, compared to a simple template language.</p>
<p>@roberto Thanks for the link. I hope it does progress in that direction.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roberto</title>
		<link>http://softwareas.com/dual-side-templating/comment-page-1#comment-197495</link>
		<dc:creator>Roberto</dc:creator>
		<pubDate>Fri, 15 Feb 2008 12:19:09 +0000</pubDate>
		<guid isPermaLink="false">http://softwareas.com/dual-side-templating#comment-197495</guid>
		<description>&lt;p&gt;About Dual-Side Templating (btw. nice word you created): I wrote yesterday about DojoX DTL, a pure javascript client side implementation of the Django Template Language:&lt;/p&gt;

&lt;p&gt;http://www.rsaccon.com/2008/02/django-template-language-dojo.html&lt;/p&gt;

&lt;p&gt;Combining that with a serverside Django Template Language Implementation seems to me a step in the right direction, especially in the context of a Javascript based web framework (I am actually trying to write such a thing, some parts have been released already, ErlyDTL, ErlyJS, ErlyCairo, ErlyComet, all at googlecode)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>About Dual-Side Templating (btw. nice word you created): I wrote yesterday about DojoX DTL, a pure javascript client side implementation of the Django Template Language:</p>
<p><a href="http://www.rsaccon.com/2008/02/django-template-language-dojo.html" rel="nofollow">http://www.rsaccon.com/2008/02/django-template-language-dojo.html</a></p>
<p>Combining that with a serverside Django Template Language Implementation seems to me a step in the right direction, especially in the context of a Javascript based web framework (I am actually trying to write such a thing, some parts have been released already, ErlyDTL, ErlyJS, ErlyCairo, ErlyComet, all at googlecode)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
