<?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/"
		>
<channel>
	<title>Comments on: Decoupling data and UI layers with PubSub architecture</title>
	<atom:link href="http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Fri, 19 Mar 2010 02:22:35 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: sfoster</title>
		<link>http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture/comment-page-1#comment-269552</link>
		<dc:creator>sfoster</dc:creator>
		<pubDate>Fri, 05 Dec 2008 09:52:44 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5285#comment-269552</guid>
		<description>This really is a powerful technique - both for where you control the whole UI and for when you need arbitrarily imported components to communicate.

Its been in Dojo for a while of course, and is a part of the &lt;a href=&quot;http://api.dojotoolkit.org/jsdoc/dojo/1.2/dojo.publish&quot; rel=&quot;nofollow&quot;&gt;base librar&lt;/a&gt;, and even &lt;a href=&quot;http://docs.dojocampus.org/dojo/publish&quot; rel=&quot;nofollow&quot;&gt;documented!&lt;/a&gt;

Its also a &lt;a href=&quot;http://www.openajax.org/member/wiki/20070611_JonFerraiolo_OpenAjax_Hub&quot; rel=&quot;nofollow&quot;&gt;feature&lt;/a&gt; of the OpenAjax hub - something I&#039;d really like to hear more about here. This is a specification for a standard api for use in mashups, ajax libraries- providing a baseline for ajax functionality and reliable communication between components on the same page, where its critical they dont step on each other&#039;s toes.

One of the things pubsub buys you is a degree of freedom from the tyrannies of execution order. Components can subscribe to an event before the publisher of that event even exists, and publishers can push out events without having to know or care if any thing is setup and ready to respond to them</description>
		<content:encoded><![CDATA[<p>This really is a powerful technique &#8211; both for where you control the whole UI and for when you need arbitrarily imported components to communicate.</p>
<p>Its been in Dojo for a while of course, and is a part of the <a href="http://api.dojotoolkit.org/jsdoc/dojo/1.2/dojo.publish" rel="nofollow">base librar</a>, and even <a href="http://docs.dojocampus.org/dojo/publish" rel="nofollow">documented!</a></p>
<p>Its also a <a href="http://www.openajax.org/member/wiki/20070611_JonFerraiolo_OpenAjax_Hub" rel="nofollow">feature</a> of the OpenAjax hub &#8211; something I&#8217;d really like to hear more about here. This is a specification for a standard api for use in mashups, ajax libraries- providing a baseline for ajax functionality and reliable communication between components on the same page, where its critical they dont step on each other&#8217;s toes.</p>
<p>One of the things pubsub buys you is a degree of freedom from the tyrannies of execution order. Components can subscribe to an event before the publisher of that event even exists, and publishers can push out events without having to know or care if any thing is setup and ready to respond to them</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: aniketn</title>
		<link>http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture/comment-page-1#comment-269537</link>
		<dc:creator>aniketn</dc:creator>
		<pubDate>Thu, 04 Dec 2008 12:02:37 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5285#comment-269537</guid>
		<description>Hi, I had worked on a similar but a little more evolved (supports wildcard subscriptions)
version of pubsub Details are &lt;a href=&quot;http://aniketn.blogspot.com/2008/12/publish-subscribe-in-javascript.html&quot; title=&quot;pubsub&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;
Your comments will be appreciated. Unfortunately there is no demo on that page.</description>
		<content:encoded><![CDATA[<p>Hi, I had worked on a similar but a little more evolved (supports wildcard subscriptions)<br />
version of pubsub Details are <a href="http://aniketn.blogspot.com/2008/12/publish-subscribe-in-javascript.html" title="pubsub" rel="nofollow">here</a><br />
Your comments will be appreciated. Unfortunately there is no demo on that page.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: beckie</title>
		<link>http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture/comment-page-1#comment-269536</link>
		<dc:creator>beckie</dc:creator>
		<pubDate>Thu, 04 Dec 2008 11:55:41 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5285#comment-269536</guid>
		<description>It’s simple, it&#039;s lite, it&#039;s JS lib independent, it works. I like it!</description>
		<content:encoded><![CDATA[<p>It’s simple, it&#8217;s lite, it&#8217;s JS lib independent, it works. I like it!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: narcvs</title>
		<link>http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture/comment-page-1#comment-269533</link>
		<dc:creator>narcvs</dc:creator>
		<pubDate>Thu, 04 Dec 2008 04:06:48 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5285#comment-269533</guid>
		<description>Hey guys,

The presentation/post was intended to demostrate 2 points:

1) the pubsub model is great for decoupling your data and UI
2) javascript is a freakin&#039; awesome language. Some 25 lines is enough to create a pubsub tool with non-trivial functionality such as currying

Also we don&#039;t see enough pure javascript out there - while js libraries made production quality js apps possible, the language itself is interesting enough to warrant discussion.

Cheers,
Marcus Westin</description>
		<content:encoded><![CDATA[<p>Hey guys,</p>
<p>The presentation/post was intended to demostrate 2 points:</p>
<p>1) the pubsub model is great for decoupling your data and UI<br />
2) javascript is a freakin&#8217; awesome language. Some 25 lines is enough to create a pubsub tool with non-trivial functionality such as currying</p>
<p>Also we don&#8217;t see enough pure javascript out there &#8211; while js libraries made production quality js apps possible, the language itself is interesting enough to warrant discussion.</p>
<p>Cheers,<br />
Marcus Westin</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jordan1</title>
		<link>http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture/comment-page-1#comment-269532</link>
		<dc:creator>Jordan1</dc:creator>
		<pubDate>Thu, 04 Dec 2008 02:54:51 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5285#comment-269532</guid>
		<description>I&#039;ve been using Prototype&#039;s implementation for some time now and it is syntactically beautiful.

And I believe a little wittiness would benefit this article:
&lt;blockquote&gt;Marcus Westin (who we &lt;b&gt;fingered&lt;/b&gt; on finger print) gave a talk at the SF JavaScript meetup on a top that is very interesting:&lt;/blockquote&gt;</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been using Prototype&#8217;s implementation for some time now and it is syntactically beautiful.</p>
<p>And I believe a little wittiness would benefit this article:</p>
<blockquote><p>Marcus Westin (who we <b>fingered</b> on finger print) gave a talk at the SF JavaScript meetup on a top that is very interesting:</p></blockquote>
]]></content:encoded>
	</item>
	<item>
		<title>By: ashendw</title>
		<link>http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture/comment-page-1#comment-269529</link>
		<dc:creator>ashendw</dc:creator>
		<pubDate>Thu, 04 Dec 2008 01:06:00 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5285#comment-269529</guid>
		<description>It&#039;s a useful idea and good to understand the concepts, not just how to implement a library. Having said that I&#039;ve been using dojo&#039;s implementation for several years now and would highly recommend people dig around their code for good ideas and practices.

&lt;a href=&quot;http://api.dojotoolkit.org/jsdoc/dojo/1.2/dojo.publish&quot; rel=&quot;nofollow&quot;&gt;dojo.publish&lt;/a&gt;
&lt;a href=&quot;http://api.dojotoolkit.org/jsdoc/dojo/1.2/dojo.subscribe&quot; rel=&quot;nofollow&quot;&gt;dojo.subscribe&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>It&#8217;s a useful idea and good to understand the concepts, not just how to implement a library. Having said that I&#8217;ve been using dojo&#8217;s implementation for several years now and would highly recommend people dig around their code for good ideas and practices.</p>
<p><a href="http://api.dojotoolkit.org/jsdoc/dojo/1.2/dojo.publish" rel="nofollow">dojo.publish</a><br />
<a href="http://api.dojotoolkit.org/jsdoc/dojo/1.2/dojo.subscribe" rel="nofollow">dojo.subscribe</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: hblink</title>
		<link>http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture/comment-page-1#comment-269526</link>
		<dc:creator>hblink</dc:creator>
		<pubDate>Wed, 03 Dec 2008 20:26:56 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5285#comment-269526</guid>
		<description>Was not XForms designed exactly for this see http://www.w3.org/TR/2007/REC-xforms-20071029/</description>
		<content:encoded><![CDATA[<p>Was not XForms designed exactly for this see <a href="http://www.w3.org/TR/2007/REC-xforms-20071029/" rel="nofollow">http://www.w3.org/TR/2007/REC-xforms-20071029/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: aheckmann</title>
		<link>http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture/comment-page-1#comment-269525</link>
		<dc:creator>aheckmann</dc:creator>
		<pubDate>Wed, 03 Dec 2008 19:06:01 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5285#comment-269525</guid>
		<description>I think YUI has this in it&#039;s customEvent as well.</description>
		<content:encoded><![CDATA[<p>I think YUI has this in it&#8217;s customEvent as well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Schill</title>
		<link>http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture/comment-page-1#comment-269521</link>
		<dc:creator>Schill</dc:creator>
		<pubDate>Wed, 03 Dec 2008 18:01:16 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5285#comment-269521</guid>
		<description>This was a nice, thoughtfully-presented topic at the JS meetup. I think it would have been meaningful and interesting particularly to people not familiar with the pubsub approach. Rather than starting with some huge framework, Marcus nicely showed how to build one from the ground up. I liked his approach.</description>
		<content:encoded><![CDATA[<p>This was a nice, thoughtfully-presented topic at the JS meetup. I think it would have been meaningful and interesting particularly to people not familiar with the pubsub approach. Rather than starting with some huge framework, Marcus nicely showed how to build one from the ground up. I liked his approach.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AndrewHerron</title>
		<link>http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture/comment-page-1#comment-269518</link>
		<dc:creator>AndrewHerron</dc:creator>
		<pubDate>Wed, 03 Dec 2008 17:09:48 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5285#comment-269518</guid>
		<description>@Bjorg: Why not?! You know how many home brewed variants of all sorts of things there are? It&#039;s simple, it works, and that&#039;s about it. Why mess with it? Take screwdriver handles for instance! They all let you hold the driver but there&#039;s lots of implementations. I don&#039;t see anyone complaining that there&#039;s too many ways to make a screwdriver handle, eh?

@aw2xcd: I use custom mootools events too, I suppose it&#039;s just a different kind of screwdriver.

We should really stop trying to standardize everything and really think about what works best and for who. Why can&#039;t there be many frameworks and plugins? Why must we feel that everything has to be the same or it isn&#039;t any good. I think I&#039;ll make my own pub/sub-custom-event framework just to spite you guys. Standardization is nothing more than forced subjectivity and I won&#039;t stand for it! I call for the end of standardized implementations and leave things alone! Javascript is the driver, my frameworks the handle, and both are used to screw you!

/end_rant</description>
		<content:encoded><![CDATA[<p>@Bjorg: Why not?! You know how many home brewed variants of all sorts of things there are? It&#8217;s simple, it works, and that&#8217;s about it. Why mess with it? Take screwdriver handles for instance! They all let you hold the driver but there&#8217;s lots of implementations. I don&#8217;t see anyone complaining that there&#8217;s too many ways to make a screwdriver handle, eh?</p>
<p>@aw2xcd: I use custom mootools events too, I suppose it&#8217;s just a different kind of screwdriver.</p>
<p>We should really stop trying to standardize everything and really think about what works best and for who. Why can&#8217;t there be many frameworks and plugins? Why must we feel that everything has to be the same or it isn&#8217;t any good. I think I&#8217;ll make my own pub/sub-custom-event framework just to spite you guys. Standardization is nothing more than forced subjectivity and I won&#8217;t stand for it! I call for the end of standardized implementations and leave things alone! Javascript is the driver, my frameworks the handle, and both are used to screw you!</p>
<p>/end_rant</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: heswell</title>
		<link>http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture/comment-page-1#comment-269508</link>
		<dc:creator>heswell</dc:creator>
		<pubDate>Wed, 03 Dec 2008 14:45:13 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5285#comment-269508</guid>
		<description>re converging on existing implementations...have a look at the OpenAjax hub, it is designed precisely to standardise this kind of pubsub mechanism (whilst allowing pluggable implementations, of which PageBus is one)</description>
		<content:encoded><![CDATA[<p>re converging on existing implementations&#8230;have a look at the OpenAjax hub, it is designed precisely to standardise this kind of pubsub mechanism (whilst allowing pluggable implementations, of which PageBus is one)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johan</title>
		<link>http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture/comment-page-1#comment-269500</link>
		<dc:creator>Johan</dc:creator>
		<pubDate>Wed, 03 Dec 2008 13:37:16 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5285#comment-269500</guid>
		<description>Appcelerator (http://appcelerator.org) is a beautiful framework that offers this and much more. 
If you like the idea of a loosely coupled UI and backend via a publish/subscribe model - you&#039;ll love Appcelerator (and no - I don&#039;t work for them).</description>
		<content:encoded><![CDATA[<p>Appcelerator (<a href="http://appcelerator.org" rel="nofollow">http://appcelerator.org</a>) is a beautiful framework that offers this and much more.<br />
If you like the idea of a loosely coupled UI and backend via a publish/subscribe model &#8211; you&#8217;ll love Appcelerator (and no &#8211; I don&#8217;t work for them).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: aw2xcd</title>
		<link>http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture/comment-page-1#comment-269499</link>
		<dc:creator>aw2xcd</dc:creator>
		<pubDate>Wed, 03 Dec 2008 13:24:22 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5285#comment-269499</guid>
		<description>hi guys,

noob question, how is this different from creating a custom event like &lt;a href=&quot;http://pastebin.com/f771e8d58&quot; title=&quot;code sample&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;. its a mootools script to lazy load images. This seems cleaner other than the fact I used globals to do it. can I still use this style and pass data without globals?</description>
		<content:encoded><![CDATA[<p>hi guys,</p>
<p>noob question, how is this different from creating a custom event like <a href="http://pastebin.com/f771e8d58" title="code sample" rel="nofollow">this</a>. its a mootools script to lazy load images. This seems cleaner other than the fact I used globals to do it. can I still use this style and pass data without globals?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bjorg</title>
		<link>http://ajaxian.com/archives/decoupling-data-and-ui-layers-with-pubsub-architecture/comment-page-1#comment-269498</link>
		<dc:creator>Bjorg</dc:creator>
		<pubDate>Wed, 03 Dec 2008 11:55:37 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5285#comment-269498</guid>
		<description>Tibco&#039;s PageBus (http://www.tibco.com/devnet/pagebus) is a bit more sophisticated and has been used for mashups by various applications such as MindTouch Deki (http://www.mindtouch.com) for a while.  OpenSocial also has a PubSub mechanism for gadgets (http://code.google.com/apis/opensocial/docs/0.8/reference/gadgets/#gadgets.pubsub).

In other words, please let&#039;s try to converge on some existing implementations and not add more homebrewed ones! :)</description>
		<content:encoded><![CDATA[<p>Tibco&#8217;s PageBus (<a href="http://www.tibco.com/devnet/pagebus" rel="nofollow">http://www.tibco.com/devnet/pagebus</a>) is a bit more sophisticated and has been used for mashups by various applications such as MindTouch Deki (<a href="http://www.mindtouch.com" rel="nofollow">http://www.mindtouch.com</a>) for a while.  OpenSocial also has a PubSub mechanism for gadgets (<a href="http://code.google.com/apis/opensocial/docs/0.8/reference/gadgets/#gadgets.pubsub)" rel="nofollow">http://code.google.com/apis/opensocial/docs/0.8/reference/gadgets/#gadgets.pubsub)</a>.</p>
<p>In other words, please let&#8217;s try to converge on some existing implementations and not add more homebrewed ones! :)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
