<?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: JS Linker in Dojo Toolkit</title>
	<atom:link href="http://ajaxian.com/archives/js-linker-in-dojo-toolkit/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 09 Feb 2012 06:55:33 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
	<item>
		<title>By: sim</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-143970</link>
		<dc:creator>sim</dc:creator>
		<pubDate>Mon, 23 Oct 2006 18:03:00 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-143970</guid>
		<description>is there a single library that does all that?
createDocument()
transformXml(xmlUrl, xslUrl)
getNodesBYXPath(xpath)
cacheNode(id, node)
getCachedNode(id)
addEvent(target, eventType, handlerFunction)</description>
		<content:encoded><![CDATA[<p>is there a single library that does all that?<br />
createDocument()<br />
transformXml(xmlUrl, xslUrl)<br />
getNodesBYXPath(xpath)<br />
cacheNode(id, node)<br />
getCachedNode(id)<br />
addEvent(target, eventType, handlerFunction)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ë­˜..</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-89921</link>
		<dc:creator>ë­˜..</dc:creator>
		<pubDate>Tue, 12 Sep 2006 08:38:14 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-89921</guid>
		<description>ì´ëŸ°ë’Œìž¥</description>
		<content:encoded><![CDATA[<p>ì´ëŸ°ë’Œìž¥</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jesse Kuhnert</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-84578</link>
		<dc:creator>Jesse Kuhnert</dc:creator>
		<pubDate>Wed, 06 Sep 2006 00:11:49 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-84578</guid>
		<description>chris: I don&#039;t think it&#039;s zealotry as much as you hinting at this &quot;better&quot; way of doing things that you still haven&#039;t explained. Whether I like it or not my natural tendency is to question everything I&#039;m told/read/know on a constant basis. 

If you have a better way of doing things that I actually believe is better then I&#039;d certainly heavily debate either dropping everything I&#039;m doing right now or trying to find a way to make it happen in projects I already work on. That&#039;s what I did while using prototype and found dojo. I hope that clears up any thoughts you had about me having &quot;fan syndrome&quot; ;)</description>
		<content:encoded><![CDATA[<p>chris: I don&#8217;t think it&#8217;s zealotry as much as you hinting at this &#8220;better&#8221; way of doing things that you still haven&#8217;t explained. Whether I like it or not my natural tendency is to question everything I&#8217;m told/read/know on a constant basis. </p>
<p>If you have a better way of doing things that I actually believe is better then I&#8217;d certainly heavily debate either dropping everything I&#8217;m doing right now or trying to find a way to make it happen in projects I already work on. That&#8217;s what I did while using prototype and found dojo. I hope that clears up any thoughts you had about me having &#8220;fan syndrome&#8221; ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Russell</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-84346</link>
		<dc:creator>Alex Russell</dc:creator>
		<pubDate>Tue, 05 Sep 2006 18:25:10 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-84346</guid>
		<description>Chris: looking forward to your mail. It seems there&#039;s still a wide gulf between what you think Dojo is and what we actually do with it. Hopefully we can clear that up.

Regards</description>
		<content:encoded><![CDATA[<p>Chris: looking forward to your mail. It seems there&#8217;s still a wide gulf between what you think Dojo is and what we actually do with it. Hopefully we can clear that up.</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Hamilton</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-84207</link>
		<dc:creator>Chris Hamilton</dc:creator>
		<pubDate>Tue, 05 Sep 2006 17:54:32 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-84207</guid>
		<description>Alex and Jesse, I think you guys handled this argument like zealots more than engineers. I am working on a response to your points and I will email it to Alex to save people reading this site a prolonged and agonizing public argument. No side of this is necessarily right, but I feel like you guys are ignoring the existence of a different side completely. It basically comes down to this, despite what you might think, you are arguing for Ajax following the disciplines of RPC/OO/Compile-&gt;Deploy and I&#039;m coming from the side of Ajax as messaging/Functional Programming/Pub/Sub etc.. Just because our programming methodologies differ from yours,  they aren&#039;t  invalid.</description>
		<content:encoded><![CDATA[<p>Alex and Jesse, I think you guys handled this argument like zealots more than engineers. I am working on a response to your points and I will email it to Alex to save people reading this site a prolonged and agonizing public argument. No side of this is necessarily right, but I feel like you guys are ignoring the existence of a different side completely. It basically comes down to this, despite what you might think, you are arguing for Ajax following the disciplines of RPC/OO/Compile-&gt;Deploy and I&#8217;m coming from the side of Ajax as messaging/Functional Programming/Pub/Sub etc.. Just because our programming methodologies differ from yours,  they aren&#8217;t  invalid.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jesse Kuhnert</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-82704</link>
		<dc:creator>Jesse Kuhnert</dc:creator>
		<pubDate>Mon, 04 Sep 2006 06:20:42 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-82704</guid>
		<description>If dojo required the use of tools during development then I&#039;d say you were on to something..

Because I know I can use it without any tooling at all during development quite happily it doesn&#039;t raise any obvious flags for me...Everything beyond that point is just &quot;icing&quot;. 

As for being opposed to the use of java in tooling, I guess I sort of understand the current trend in not liking it....People started turning against c++ a long time ago too, but more than likely it&#039;s still running the browser you are reading this thread in right now.,.</description>
		<content:encoded><![CDATA[<p>If dojo required the use of tools during development then I&#8217;d say you were on to something..</p>
<p>Because I know I can use it without any tooling at all during development quite happily it doesn&#8217;t raise any obvious flags for me&#8230;Everything beyond that point is just &#8220;icing&#8221;. </p>
<p>As for being opposed to the use of java in tooling, I guess I sort of understand the current trend in not liking it&#8230;.People started turning against c++ a long time ago too, but more than likely it&#8217;s still running the browser you are reading this thread in right now.,.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad Neuberg</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-81745</link>
		<dc:creator>Brad Neuberg</dc:creator>
		<pubDate>Sun, 03 Sep 2006 20:13:44 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-81745</guid>
		<description>I actually think Alex went with the right choice not to use XSLT for our widget system; he&#039;s right that it&#039;s a bit esoteric. Now, I do think the performance advantages of it are strong, and it might make an interesting alternative.

Best,
  Brad</description>
		<content:encoded><![CDATA[<p>I actually think Alex went with the right choice not to use XSLT for our widget system; he&#8217;s right that it&#8217;s a bit esoteric. Now, I do think the performance advantages of it are strong, and it might make an interesting alternative.</p>
<p>Best,<br />
  Brad</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad Neuberg</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-81744</link>
		<dc:creator>Brad Neuberg</dc:creator>
		<pubDate>Sun, 03 Sep 2006 20:12:10 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-81744</guid>
		<description>Chris, Dojo is not one monolithic toolkit; it&#039;s many small slices that you can choose to use or not. You mention client-side XSLT; I am actually using this for a consulting client, where we get OPML on the client, then use XSLT to transform it into something that can be displayed to the end user. We still use Dojo. In particular, we use the following &#039;slices&#039; of Dojo:

dojo.event - Dojo&#039;s event system, which allows me to do one line to subscribe to events: dojo.event.connect(myElem, &quot;onclick&quot;, this, this._myElemClicked)

Dojo internally normalizes the event object cross browser, handles memory leak issues on IE, and more - this one line vastly simplifies my code and makes it more robust

dojo.string - simple string handling methods that JavaScript forgot or that you have to roll yourself, such as dojo.string.trim(), dojo.string.startsWith(), etc. I usually have to hand roll these myself, so why not just use Dojo&#039;s battle-tested and performant versions?

dojo.html - methods when working with HTML and style classes, such as dojo.html.hasClass(), dojo.html.addClass(), etc. Most developers forget that elements can have multiple classes, and create code like this:

if(someElem.className == &quot;foobar&quot;)

then, they wonder why their code doesn&#039;t work, because someElem might also have the class &quot;important&quot;. Dojo&#039;s class methods solve this:

if(dojo.html.hasClass(someElem, &quot;foobar&quot;))

again, this is not bloated; if you didn&#039;t have these you&#039;d have to roll them yourself, which I&#039;ve done countless times. And if you don&#039;t have them, then your producing incorrect code that will fall over...

dojo.io - A layer over XHR to account for it&#039;s browser differences; again, this is very easy to use:

dojo.io.bind({ url: &quot;http://foobar.com&quot;,
		     mimetype:	&quot;text/xml&quot;,
		     error: function(type, errObj){ /* error function here */ },
		     load: function(type, data, evt){ /* load function here */ });

Now, Dojo IO takes care of papering over important browser bugs (like how IE doesn&#039;t actually displatch your GET request if it has the same URL as one it&#039;s done before, handing it from the cache incorrectly instead); handing you back XML if you have text/XML as your MIME type in a cross browser way, etc.

None of this looks bloated to me; in fact, it&#039;s thing I have to create myself usually. What it DOES do is make your code cleaner and more focused on the application rather than browser hacks. My code now actually reads like the processes it&#039;s trying to do, rather than boiler plate junk. Plus, using the above is pretty easy. I&#039;m not sure why people say Dojo is hard; I think what it is is you have to know basic JavaScript. Folks don&#039;t want to take 20 minutes to read an intro to JavaScript article before hacking on Ajax.

Dojo does have more experimental and interesting &#039;slices&#039;, such as my Dojo.Storage and the Dojo Widgets, but you DON&#039;T HAVE TO USE THEM. That&#039;s the most important thing that seems to get lost on people; each slice is a seperate package, just like a Java Package, and if you don&#039;t want it DON&#039;T IMPORT IT. Sorry for the caps but I&#039;m getting tired of this same argument.... :)

Best,
  Brad</description>
		<content:encoded><![CDATA[<p>Chris, Dojo is not one monolithic toolkit; it&#8217;s many small slices that you can choose to use or not. You mention client-side XSLT; I am actually using this for a consulting client, where we get OPML on the client, then use XSLT to transform it into something that can be displayed to the end user. We still use Dojo. In particular, we use the following &#8216;slices&#8217; of Dojo:</p>
<p>dojo.event &#8211; Dojo&#8217;s event system, which allows me to do one line to subscribe to events: dojo.event.connect(myElem, &#8220;onclick&#8221;, this, this._myElemClicked)</p>
<p>Dojo internally normalizes the event object cross browser, handles memory leak issues on IE, and more &#8211; this one line vastly simplifies my code and makes it more robust</p>
<p>dojo.string &#8211; simple string handling methods that JavaScript forgot or that you have to roll yourself, such as dojo.string.trim(), dojo.string.startsWith(), etc. I usually have to hand roll these myself, so why not just use Dojo&#8217;s battle-tested and performant versions?</p>
<p>dojo.html &#8211; methods when working with HTML and style classes, such as dojo.html.hasClass(), dojo.html.addClass(), etc. Most developers forget that elements can have multiple classes, and create code like this:</p>
<p>if(someElem.className == &#8220;foobar&#8221;)</p>
<p>then, they wonder why their code doesn&#8217;t work, because someElem might also have the class &#8220;important&#8221;. Dojo&#8217;s class methods solve this:</p>
<p>if(dojo.html.hasClass(someElem, &#8220;foobar&#8221;))</p>
<p>again, this is not bloated; if you didn&#8217;t have these you&#8217;d have to roll them yourself, which I&#8217;ve done countless times. And if you don&#8217;t have them, then your producing incorrect code that will fall over&#8230;</p>
<p>dojo.io &#8211; A layer over XHR to account for it&#8217;s browser differences; again, this is very easy to use:</p>
<p>dojo.io.bind({ url: &#8220;http://foobar.com&#8221;,<br />
		     mimetype:	&#8220;text/xml&#8221;,<br />
		     error: function(type, errObj){ /* error function here */ },<br />
		     load: function(type, data, evt){ /* load function here */ });</p>
<p>Now, Dojo IO takes care of papering over important browser bugs (like how IE doesn&#8217;t actually displatch your GET request if it has the same URL as one it&#8217;s done before, handing it from the cache incorrectly instead); handing you back XML if you have text/XML as your MIME type in a cross browser way, etc.</p>
<p>None of this looks bloated to me; in fact, it&#8217;s thing I have to create myself usually. What it DOES do is make your code cleaner and more focused on the application rather than browser hacks. My code now actually reads like the processes it&#8217;s trying to do, rather than boiler plate junk. Plus, using the above is pretty easy. I&#8217;m not sure why people say Dojo is hard; I think what it is is you have to know basic JavaScript. Folks don&#8217;t want to take 20 minutes to read an intro to JavaScript article before hacking on Ajax.</p>
<p>Dojo does have more experimental and interesting &#8216;slices&#8217;, such as my Dojo.Storage and the Dojo Widgets, but you DON&#8217;T HAVE TO USE THEM. That&#8217;s the most important thing that seems to get lost on people; each slice is a seperate package, just like a Java Package, and if you don&#8217;t want it DON&#8217;T IMPORT IT. Sorry for the caps but I&#8217;m getting tired of this same argument&#8230;. :)</p>
<p>Best,<br />
  Brad</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Russell</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-81716</link>
		<dc:creator>Alex Russell</dc:creator>
		<pubDate>Sun, 03 Sep 2006 18:16:24 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-81716</guid>
		<description>Hey Chris,

It seems pretty clear that you&#039;re not spending much time with Dojo. What &quot;scaffolding&quot; exists is entirely in the widget system, which is entirely optiona, and even that is over-rideable at every point. Anyway, I&#039;d like to know more about what &quot;dangerous concepts&quot; you think we&#039;re exposing. You&#039;ve said as much a couple of times without outlining what they are. Is is that we provide an (entirely optional) topic-based event system? Or is it something else?

As for XSLT, yes, we&#039;ve considered it, but we already have a system that allows you to send down just HTML snippets (widget templates) and instantiate them at-will. Perhaps providing XSLT for those comfortable with it would be a win, but that&#039;s a pretty small group of people compared with those who can write HTML and CSS.

Regards</description>
		<content:encoded><![CDATA[<p>Hey Chris,</p>
<p>It seems pretty clear that you&#8217;re not spending much time with Dojo. What &#8220;scaffolding&#8221; exists is entirely in the widget system, which is entirely optiona, and even that is over-rideable at every point. Anyway, I&#8217;d like to know more about what &#8220;dangerous concepts&#8221; you think we&#8217;re exposing. You&#8217;ve said as much a couple of times without outlining what they are. Is is that we provide an (entirely optional) topic-based event system? Or is it something else?</p>
<p>As for XSLT, yes, we&#8217;ve considered it, but we already have a system that allows you to send down just HTML snippets (widget templates) and instantiate them at-will. Perhaps providing XSLT for those comfortable with it would be a win, but that&#8217;s a pretty small group of people compared with those who can write HTML and CSS.</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Hamilton</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-80306</link>
		<dc:creator>Chris Hamilton</dc:creator>
		<pubDate>Sat, 02 Sep 2006 06:30:27 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-80306</guid>
		<description>Dojo will be fine, however people working on it may start to get those same migraines they used to get from large J2EE projects. 
However, I&#039;m not saying it&#039;s a bad thing in general. Hopefully DOJO brings Ajax to the masses of stalwart J2EE and .NET programmers who live in worlds of strict corporate pressure and beuracracy (those &quot;ajax is a fad&quot; people). I just feel that Dojo is taking some dangerous concepts to the world of client side messaging. I&#039;m warning against putting too much &quot;scaffolding&quot; into the client because it could make applications written in it rigid and inflexible. This may be just what the doctor ordered for public facing websites that dictate their own updates. But when you&#039;re writing applications that run someone&#039;s business (inventory, point of sale, manufacturing, etc..), you can&#039;t rely heavily on source code or your project will be a nightmare. I&#039;m actually very surprised that no MQ Series/Tibco folks haven&#039;t stepped up to the plate in a discussion such as this. Just remember that Ajax&#039;s core functionality (that which is included in the XHR and it&#039;s variants) is to allow the server and client to send messages to one another. So it makes sense that a messaging/pub sub architecture could result in smoother and more flexible Ajax applications than RPC, client side OO and compile-&gt;deploy development. I won&#039;t say anymore because I feel like I&#039;m being labeled as a heretic, but I just don&#039;t want everyone out there to think that in order to accomplish ajax on their site, they &lt;em&gt;must&lt;/em&gt; download and adopt one of the monolithic frameworks like Dojo or YUI. Have you ever thought about client side XSLT? Or just sending HTML or XHTML snippets combined with simple effects libraries like Scriptaculous and MooFX?</description>
		<content:encoded><![CDATA[<p>Dojo will be fine, however people working on it may start to get those same migraines they used to get from large J2EE projects.<br />
However, I&#8217;m not saying it&#8217;s a bad thing in general. Hopefully DOJO brings Ajax to the masses of stalwart J2EE and .NET programmers who live in worlds of strict corporate pressure and beuracracy (those &#8220;ajax is a fad&#8221; people). I just feel that Dojo is taking some dangerous concepts to the world of client side messaging. I&#8217;m warning against putting too much &#8220;scaffolding&#8221; into the client because it could make applications written in it rigid and inflexible. This may be just what the doctor ordered for public facing websites that dictate their own updates. But when you&#8217;re writing applications that run someone&#8217;s business (inventory, point of sale, manufacturing, etc..), you can&#8217;t rely heavily on source code or your project will be a nightmare. I&#8217;m actually very surprised that no MQ Series/Tibco folks haven&#8217;t stepped up to the plate in a discussion such as this. Just remember that Ajax&#8217;s core functionality (that which is included in the XHR and it&#8217;s variants) is to allow the server and client to send messages to one another. So it makes sense that a messaging/pub sub architecture could result in smoother and more flexible Ajax applications than RPC, client side OO and compile-&gt;deploy development. I won&#8217;t say anymore because I feel like I&#8217;m being labeled as a heretic, but I just don&#8217;t want everyone out there to think that in order to accomplish ajax on their site, they <em>must</em> download and adopt one of the monolithic frameworks like Dojo or YUI. Have you ever thought about client side XSLT? Or just sending HTML or XHTML snippets combined with simple effects libraries like Scriptaculous and MooFX?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Mahemoff</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-80008</link>
		<dc:creator>Michael Mahemoff</dc:creator>
		<pubDate>Sat, 02 Sep 2006 01:46:01 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-80008</guid>
		<description>It&#039;s pretty difficult to mount an argument against the existence of reusable software libraries.

My main hope now is that the Dojo project focuses on making these tools easy and accessible to the general Ajax community, because I fear that at present many still consider it a black art (though I realise the Dojo team  may have different objectives to the project&#039;s end-developers). Dojo, and especially package management, has already solved many of the problems that hurt developers, but I don&#039;t think many developers are yet aware of how to use the solution. Though some docs talk about running ant and Java, many potential beneficiaries of Dojo have never used either.</description>
		<content:encoded><![CDATA[<p>It&#8217;s pretty difficult to mount an argument against the existence of reusable software libraries.</p>
<p>My main hope now is that the Dojo project focuses on making these tools easy and accessible to the general Ajax community, because I fear that at present many still consider it a black art (though I realise the Dojo team  may have different objectives to the project&#8217;s end-developers). Dojo, and especially package management, has already solved many of the problems that hurt developers, but I don&#8217;t think many developers are yet aware of how to use the solution. Though some docs talk about running ant and Java, many potential beneficiaries of Dojo have never used either.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Russell</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-79993</link>
		<dc:creator>Alex Russell</dc:creator>
		<pubDate>Sat, 02 Sep 2006 01:20:17 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-79993</guid>
		<description>Hey Chris,

I take serious exception at your conclusion that we &quot;rewrote Java in Javascript and called it Dojo&quot;. We embrace and build on the functional nature of JS. I personally prefer Python to most other languages, and only grudgingly use Java. What we&#039;ve done with Dojo is to build a set of layered libraries that you can pick and choose from. Our plan is, and always has been, to build a set of common APIs that we can implement everywhere. A standard library, if you will. We didn&#039;t just invent features because they were fun to hack up, we built them because we needed them in apps that we&#039;re building. The point of Dojo is that you can take or leave them as you see fit. Obviously, you&#039;ve taken a different route. Fair enough. All I ask is that you not jump to the the conclusion that we&#039;re over-engineering or spending effort in places where it isn&#039;t necessary when you aren&#039;t even using the tool.

Regards</description>
		<content:encoded><![CDATA[<p>Hey Chris,</p>
<p>I take serious exception at your conclusion that we &#8220;rewrote Java in Javascript and called it Dojo&#8221;. We embrace and build on the functional nature of JS. I personally prefer Python to most other languages, and only grudgingly use Java. What we&#8217;ve done with Dojo is to build a set of layered libraries that you can pick and choose from. Our plan is, and always has been, to build a set of common APIs that we can implement everywhere. A standard library, if you will. We didn&#8217;t just invent features because they were fun to hack up, we built them because we needed them in apps that we&#8217;re building. The point of Dojo is that you can take or leave them as you see fit. Obviously, you&#8217;ve taken a different route. Fair enough. All I ask is that you not jump to the the conclusion that we&#8217;re over-engineering or spending effort in places where it isn&#8217;t necessary when you aren&#8217;t even using the tool.</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Hamilton</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-79926</link>
		<dc:creator>Chris Hamilton</dc:creator>
		<pubDate>Fri, 01 Sep 2006 22:16:12 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-79926</guid>
		<description>Alex, 
    Please don&#039;t lump me in with &quot;xxx&quot; and his h4x0r friend &quot;serius&quot;.  I apologize if my post sounded like a thoughtless attack. 
I&#039;m a enterprise software engineer working exclusively with Ajax in a logistics company. We started applying ajax to an existing application as an experiment. But we quickly realized how powerful this paradigm is to internal business applications. Our guys in the warehouses can now enter data at blazing rates using autocompletes, behind the scenes  database updates and smoother UI&#039;s. And it beats the hell out of desktop apps because we don&#039;t have to install it on every station in every warehouse. It&#039;s a webpage. 
So I know where you&#039;re coming from, you&#039;re constantly frustrated with the inconsistencies and lack of structure that exist in most ajax apps. Before I came here, most of their &quot;screens&quot; had 700 lines of javascript in the headers. 

When we started all of this, Dojo and most of the other &quot;frameworks&quot; didn&#039;t exist. So we rolled our own. After a while we had similar sized .js files like you described. 
Then I came into contact with two very very experienced enterprise software engineers with 20+ years of experience designing, building and implementing all kinds of client/server and messaging systems.  They described to me how to unify GUI and data into messages and message frameworks. They were doing this when the Internet was still called DARPA NET on dumb terminals - instead of Javascript and DIVs they used VT220 terminals codes and C. It&#039;s the same thing all over again. 

What&#039;s my point? We married the two. Our client side code is a few hundred lines and it&#039;s sole purpose is to dispatch and render messages. The result is a very very light system. Light in the sense that the source code, or scaffolding as we call it, has no moving parts and in no way interferes with your changing business requirements or even changing environments. 

So going back to my original point. You&#039;ve come across a platform that allows you to break out of the confines of source code and J2EE mayhem. And what did you do? You rewrote Java in Javascript and called it Dojo.</description>
		<content:encoded><![CDATA[<p>Alex,<br />
    Please don&#8217;t lump me in with &#8220;xxx&#8221; and his h4x0r friend &#8220;serius&#8221;.  I apologize if my post sounded like a thoughtless attack.<br />
I&#8217;m a enterprise software engineer working exclusively with Ajax in a logistics company. We started applying ajax to an existing application as an experiment. But we quickly realized how powerful this paradigm is to internal business applications. Our guys in the warehouses can now enter data at blazing rates using autocompletes, behind the scenes  database updates and smoother UI&#8217;s. And it beats the hell out of desktop apps because we don&#8217;t have to install it on every station in every warehouse. It&#8217;s a webpage.<br />
So I know where you&#8217;re coming from, you&#8217;re constantly frustrated with the inconsistencies and lack of structure that exist in most ajax apps. Before I came here, most of their &#8220;screens&#8221; had 700 lines of javascript in the headers. </p>
<p>When we started all of this, Dojo and most of the other &#8220;frameworks&#8221; didn&#8217;t exist. So we rolled our own. After a while we had similar sized .js files like you described.<br />
Then I came into contact with two very very experienced enterprise software engineers with 20+ years of experience designing, building and implementing all kinds of client/server and messaging systems.  They described to me how to unify GUI and data into messages and message frameworks. They were doing this when the Internet was still called DARPA NET on dumb terminals &#8211; instead of Javascript and DIVs they used VT220 terminals codes and C. It&#8217;s the same thing all over again. </p>
<p>What&#8217;s my point? We married the two. Our client side code is a few hundred lines and it&#8217;s sole purpose is to dispatch and render messages. The result is a very very light system. Light in the sense that the source code, or scaffolding as we call it, has no moving parts and in no way interferes with your changing business requirements or even changing environments. </p>
<p>So going back to my original point. You&#8217;ve come across a platform that allows you to break out of the confines of source code and J2EE mayhem. And what did you do? You rewrote Java in Javascript and called it Dojo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad Neuberg</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-79896</link>
		<dc:creator>Brad Neuberg</dc:creator>
		<pubDate>Fri, 01 Sep 2006 20:49:38 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-79896</guid>
		<description>Hi Alex; what if we make some specialized Dojo builds that we call the &quot;Prototype&quot; build or the &quot;Scriptaculous&quot; build, and show how to use Dojo for those use cases that people usually use those two libraries for? It might help to show how the build system slices off just what you need, and how the size is small (the dojo.event build for a Prototype slice, for example, might not include the dojo IO provider for uploading, for example).

Best,
  Brad</description>
		<content:encoded><![CDATA[<p>Hi Alex; what if we make some specialized Dojo builds that we call the &#8220;Prototype&#8221; build or the &#8220;Scriptaculous&#8221; build, and show how to use Dojo for those use cases that people usually use those two libraries for? It might help to show how the build system slices off just what you need, and how the size is small (the dojo.event build for a Prototype slice, for example, might not include the dojo IO provider for uploading, for example).</p>
<p>Best,<br />
  Brad</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Russell</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-79614</link>
		<dc:creator>Alex Russell</dc:creator>
		<pubDate>Fri, 01 Sep 2006 17:51:04 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-79614</guid>
		<description>Hey xxx, serius, and Chris:

So fundamentally we would like to be *out* of the business of providing these kinds of abstractions. That we have to ship around functions that make up for the stagnant and back-asswards DOM APIs and browser implementations makes me none too happy. And don&#039;t you think that packaging is something the language should provide? The widget system, likewise, is architecturally constrained by the implementation decisions of IE. It&#039;d probably be about a third the code were it not for the various browser issues. The things we&#039;re going to need to do for data binding because the JScript team failed to implement getters/setters just makes me want to cry.

Dojo is big because it tries to accomplish a lot of things and because we try to do them everywhere. The build system is there to help make it as light as you need it to be for your app, but fundamentally, until the browsers start to fix some of the things they&#039;ve left neglected, every major toolkit will asymptotically approach the 100K+ mark for any non-trivial use case. MochiKit and Scriptaculous are there today. Prototype alone is 54K, and all of these are tools that advertise how &quot;lightweight&quot; they are. Dojo builds that do similar things are usually in the same ballpark. We spend a *lot* of time trying to ensure that builds that need just one thing are as lightweight as possible. Jquery and MooFX take a different approach to solving the problem: simply promising to do less. It&#039;s a good solution too.

Dojo is up-front about what you &quot;pay for&quot;, when you pay for it, and how to make your build smaller without rewriting your non-trivial app. If writing, debugging, and testing this stuff yourself is your idea of a good time, well, then no one will dissuade you from doing exactly that.  Best of luck. If you want to be part of a community that has hit these problems before, has some solutions, and is constantly looking for better ones, we welcome you to join the mailing lists and help us make Dojo better for whatever your needs may be.

Regards</description>
		<content:encoded><![CDATA[<p>Hey xxx, serius, and Chris:</p>
<p>So fundamentally we would like to be *out* of the business of providing these kinds of abstractions. That we have to ship around functions that make up for the stagnant and back-asswards DOM APIs and browser implementations makes me none too happy. And don&#8217;t you think that packaging is something the language should provide? The widget system, likewise, is architecturally constrained by the implementation decisions of IE. It&#8217;d probably be about a third the code were it not for the various browser issues. The things we&#8217;re going to need to do for data binding because the JScript team failed to implement getters/setters just makes me want to cry.</p>
<p>Dojo is big because it tries to accomplish a lot of things and because we try to do them everywhere. The build system is there to help make it as light as you need it to be for your app, but fundamentally, until the browsers start to fix some of the things they&#8217;ve left neglected, every major toolkit will asymptotically approach the 100K+ mark for any non-trivial use case. MochiKit and Scriptaculous are there today. Prototype alone is 54K, and all of these are tools that advertise how &#8220;lightweight&#8221; they are. Dojo builds that do similar things are usually in the same ballpark. We spend a *lot* of time trying to ensure that builds that need just one thing are as lightweight as possible. Jquery and MooFX take a different approach to solving the problem: simply promising to do less. It&#8217;s a good solution too.</p>
<p>Dojo is up-front about what you &#8220;pay for&#8221;, when you pay for it, and how to make your build smaller without rewriting your non-trivial app. If writing, debugging, and testing this stuff yourself is your idea of a good time, well, then no one will dissuade you from doing exactly that.  Best of luck. If you want to be part of a community that has hit these problems before, has some solutions, and is constantly looking for better ones, we welcome you to join the mailing lists and help us make Dojo better for whatever your needs may be.</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Hamilton</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-79598</link>
		<dc:creator>Chris Hamilton</dc:creator>
		<pubDate>Fri, 01 Sep 2006 16:08:12 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-79598</guid>
		<description>Do you know how to do it without a library?</description>
		<content:encoded><![CDATA[<p>Do you know how to do it without a library?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jesse Kuhnert</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-79595</link>
		<dc:creator>Jesse Kuhnert</dc:creator>
		<pubDate>Fri, 01 Sep 2006 16:00:01 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-79595</guid>
		<description>Don&#039;t you think we&#039;ve already tried the other libraries? =p</description>
		<content:encoded><![CDATA[<p>Don&#8217;t you think we&#8217;ve already tried the other libraries? =p</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Hamilton</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-79498</link>
		<dc:creator>Chris Hamilton</dc:creator>
		<pubDate>Fri, 01 Sep 2006 14:49:31 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-79498</guid>
		<description>Hey, if you didn&#039;t have a billion lines of source code, you wouldn&#039;t need to optimize it. Why in the world are people so excited about DOJO? It&#039;s taking all the crappy things about Java and putting it into javascript. THERE ARE WAYS TO DO EVERYTHING DOJO DOES WITHOUT A MONSTER CODE BASE.  Bump off the Jandwagon people.</description>
		<content:encoded><![CDATA[<p>Hey, if you didn&#8217;t have a billion lines of source code, you wouldn&#8217;t need to optimize it. Why in the world are people so excited about DOJO? It&#8217;s taking all the crappy things about Java and putting it into javascript. THERE ARE WAYS TO DO EVERYTHING DOJO DOES WITHOUT A MONSTER CODE BASE.  Bump off the Jandwagon people.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: serius</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-79247</link>
		<dc:creator>serius</dc:creator>
		<pubDate>Fri, 01 Sep 2006 10:13:08 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-79247</guid>
		<description>remove DOJO...coz its DEAD by itself!</description>
		<content:encoded><![CDATA[<p>remove DOJO&#8230;coz its DEAD by itself!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: xxx</title>
		<link>http://ajaxian.com/archives/js-linker-in-dojo-toolkit/comment-page-1#comment-79245</link>
		<dc:creator>xxx</dc:creator>
		<pubDate>Fri, 01 Sep 2006 10:11:59 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/js-linker-in-dojo-toolkit#comment-79245</guid>
		<description>i hate DOJO, ,RICO, backbase, prototype, scriptacolous and all the bloody fat and not crossbrowsersave libs! throw this unperformant and fucking big overloaded crap to trash!

boycott this stupid shit!</description>
		<content:encoded><![CDATA[<p>i hate DOJO, ,RICO, backbase, prototype, scriptacolous and all the bloody fat and not crossbrowsersave libs! throw this unperformant and fucking big overloaded crap to trash!</p>
<p>boycott this stupid shit!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

