<?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: Prototype Sucks 2.0</title>
	<atom:link href="http://ajaxian.com/archives/prototype-sucks-20/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/prototype-sucks-20</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 17 May 2012 07:43:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Brandon</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-252319</link>
		<dc:creator>Brandon</dc:creator>
		<pubDate>Thu, 05 Jul 2007 05:25:37 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-252319</guid>
		<description>My experience with Prototype/Scriptaculous has been very, very frustrating. I much prefer jQuery, which is 80k lighter, has truckloads of functions, effects and plug-ins. The syntax was extremely easy for me to grasp in a very short amount of time.

In Prototype, it took me a long time to figure out how to apply a Scriptaculous Opacity effect to an array of objects. In jQuery, I did it in one, very short line of code, and thanks to the documentation, it was easy to find out how to do this.

I&#039;m moving a lot of my freelance development to Rails, and would love to find a reference as good as jQuery&#039;s for Prototype/Scriptaculous, as they&#039;re baked right into Rails, but I just can&#039;t seem to find one that has examples similar to what I need.

I&#039;m sure my experience with Prototype/Scriptaculous could be as smooth as jQuery, and I am all for learning those libs, but so far, my opinion of them from a usability standpoint is not so great.</description>
		<content:encoded><![CDATA[<p>My experience with Prototype/Scriptaculous has been very, very frustrating. I much prefer jQuery, which is 80k lighter, has truckloads of functions, effects and plug-ins. The syntax was extremely easy for me to grasp in a very short amount of time.</p>
<p>In Prototype, it took me a long time to figure out how to apply a Scriptaculous Opacity effect to an array of objects. In jQuery, I did it in one, very short line of code, and thanks to the documentation, it was easy to find out how to do this.</p>
<p>I&#8217;m moving a lot of my freelance development to Rails, and would love to find a reference as good as jQuery&#8217;s for Prototype/Scriptaculous, as they&#8217;re baked right into Rails, but I just can&#8217;t seem to find one that has examples similar to what I need.</p>
<p>I&#8217;m sure my experience with Prototype/Scriptaculous could be as smooth as jQuery, and I am all for learning those libs, but so far, my opinion of them from a usability standpoint is not so great.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gang</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-251968</link>
		<dc:creator>Gang</dc:creator>
		<pubDate>Tue, 26 Jun 2007 05:00:10 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-251968</guid>
		<description>I love prototype because it has good wrapper functions that can handle cross browser issues really good. I need my code running on multiple browsers.
I don&#039;t agree that everyone should not use library. A good language like java needs encapisulation, that ppl don&#039;t always need to reinvent the wheel. That&#039;s how complex functionality come into being.</description>
		<content:encoded><![CDATA[<p>I love prototype because it has good wrapper functions that can handle cross browser issues really good. I need my code running on multiple browsers.<br />
I don&#8217;t agree that everyone should not use library. A good language like java needs encapisulation, that ppl don&#8217;t always need to reinvent the wheel. That&#8217;s how complex functionality come into being.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anon</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-248122</link>
		<dc:creator>anon</dc:creator>
		<pubDate>Tue, 13 Mar 2007 16:03:43 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-248122</guid>
		<description>Compressed versions of Prototype:
http://ajaxian.com/archives/compressed-versions-of-prototype</description>
		<content:encoded><![CDATA[<p>Compressed versions of Prototype:<br />
<a href="http://ajaxian.com/archives/compressed-versions-of-prototype" rel="nofollow">http://ajaxian.com/archives/compressed-versions-of-prototype</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-247523</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Fri, 23 Feb 2007 20:27:54 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-247523</guid>
		<description>The file size of a js file isn&#039;t the problem - it is cached anyway, so you only download it once unless you clear your browser cache. The problem is the time it may take to parse the file, which is done again and again on every page load.</description>
		<content:encoded><![CDATA[<p>The file size of a js file isn&#8217;t the problem &#8211; it is cached anyway, so you only download it once unless you clear your browser cache. The problem is the time it may take to parse the file, which is done again and again on every page load.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-246348</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Fri, 19 Jan 2007 18:34:59 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-246348</guid>
		<description>The issue with the lack of documentation has been solved as been written here:

http://ajaxian.com/archives/prototype-15-now-with-documentation</description>
		<content:encoded><![CDATA[<p>The issue with the lack of documentation has been solved as been written here:</p>
<p><a href="http://ajaxian.com/archives/prototype-15-now-with-documentation" rel="nofollow">http://ajaxian.com/archives/prototype-15-now-with-documentation</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fred</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-246251</link>
		<dc:creator>Fred</dc:creator>
		<pubDate>Thu, 18 Jan 2007 11:58:31 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-246251</guid>
		<description>The issue with a lack of Prototype documentation is a big one.  There are plenty of gotchas, none of them are clearly explained.  

As for for..in, Prototype 1.5 itself uses it.  Moreover, it is dependent on properties being returned in the order they are added, which is very dangerous since the ECMAScript spec specifically says you shouldn&#039;t to that and it is known that some browsers don&#039;t do it.

Prototype has its issues, I just wish people would do balanced discussions in regard to it rather than the black-and-white absolutism that seems so popular.</description>
		<content:encoded><![CDATA[<p>The issue with a lack of Prototype documentation is a big one.  There are plenty of gotchas, none of them are clearly explained.  </p>
<p>As for for..in, Prototype 1.5 itself uses it.  Moreover, it is dependent on properties being returned in the order they are added, which is very dangerous since the ECMAScript spec specifically says you shouldn&#8217;t to that and it is known that some browsers don&#8217;t do it.</p>
<p>Prototype has its issues, I just wish people would do balanced discussions in regard to it rather than the black-and-white absolutism that seems so popular.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Beau</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-245725</link>
		<dc:creator>Beau</dc:creator>
		<pubDate>Wed, 03 Jan 2007 22:44:24 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-245725</guid>
		<description>David,
Slider.js is part of Script.aculo.us, not prototype.

Justin,
Well said. Most HTTP servers compress content before sending, anyway, so the 54k file becomes </description>
		<content:encoded><![CDATA[<p>David,<br />
Slider.js is part of Script.aculo.us, not prototype.</p>
<p>Justin,<br />
Well said. Most HTTP servers compress content before sending, anyway, so the 54k file becomes </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anonymous</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-245656</link>
		<dc:creator>anonymous</dc:creator>
		<pubDate>Sun, 31 Dec 2006 04:49:27 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-245656</guid>
		<description>God, Dojo has so many great projects that I feel like it often doesn&#039;t get the attention it deserves. There needs to be some high-level breakdown of the project so that it can be better understood by developers..

I feel like the reason that prototype and scriptaculous get so much attention is because they are simple to define: they&#039;re frameworks. Dojo, on the other hand, is so much more; it&#039;s a framework, it&#039;s a packaging system, it&#039;s components, it&#039;s a developer toolset... It&#039;s difficult to sort it all out.</description>
		<content:encoded><![CDATA[<p>God, Dojo has so many great projects that I feel like it often doesn&#8217;t get the attention it deserves. There needs to be some high-level breakdown of the project so that it can be better understood by developers..</p>
<p>I feel like the reason that prototype and scriptaculous get so much attention is because they are simple to define: they&#8217;re frameworks. Dojo, on the other hand, is so much more; it&#8217;s a framework, it&#8217;s a packaging system, it&#8217;s components, it&#8217;s a developer toolset&#8230; It&#8217;s difficult to sort it all out.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bertrand Le Roy</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-245649</link>
		<dc:creator>Bertrand Le Roy</dc:creator>
		<pubDate>Sat, 30 Dec 2006 07:14:43 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-245649</guid>
		<description>The problem with extending the Array prototype is *not* associative arrays (pretty much everyone agrees now that you should use Object for that) but sparse arrays. for..in is the *only* way you can tell between a never defined item and an item set to undefined and it&#039;s also the only efficient way to enumerate the items in a very sparse array. Having stuff hanging off the prototype just makes it more difficult than it needs to be.</description>
		<content:encoded><![CDATA[<p>The problem with extending the Array prototype is *not* associative arrays (pretty much everyone agrees now that you should use Object for that) but sparse arrays. for..in is the *only* way you can tell between a never defined item and an item set to undefined and it&#8217;s also the only efficient way to enumerate the items in a very sparse array. Having stuff hanging off the prototype just makes it more difficult than it needs to be.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: andyhot</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-245635</link>
		<dc:creator>andyhot</dc:creator>
		<pubDate>Fri, 29 Dec 2006 19:45:11 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-245635</guid>
		<description>JSLinker can be used with any kind of javascript code you like... It will try to analyse and optimize whatever you pass to it!</description>
		<content:encoded><![CDATA[<p>JSLinker can be used with any kind of javascript code you like&#8230; It will try to analyse and optimize whatever you pass to it!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Korhonen</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-245625</link>
		<dc:creator>Chris Korhonen</dc:creator>
		<pubDate>Fri, 29 Dec 2006 17:02:17 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-245625</guid>
		<description>Tom, do you know if JSLinker is going to be Dojo specific, or something which will work independent of the framework being used?

I&#039;ve found the site (http://archive.dojotoolkit.org/nightly/tools/jslinker/docs/readme.html), but some of it leads me to believe that the more cook stuff will only work for Dojo based apps.</description>
		<content:encoded><![CDATA[<p>Tom, do you know if JSLinker is going to be Dojo specific, or something which will work independent of the framework being used?</p>
<p>I&#8217;ve found the site (<a href="http://archive.dojotoolkit.org/nightly/tools/jslinker/docs/readme.html" rel="nofollow">http://archive.dojotoolkit.org/nightly/tools/jslinker/docs/readme.html</a>), but some of it leads me to believe that the more cook stuff will only work for Dojo based apps.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom Trenka</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-245619</link>
		<dc:creator>Tom Trenka</dc:creator>
		<pubDate>Fri, 29 Dec 2006 16:27:34 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-245619</guid>
		<description>So that those are not aware of it, there is an existing project being developed as a part of Dojo called the JSLinker, which does exactly what Chris asks for: it will scan your code and remove all dead code paths.  Obviously this isn&#039;t completed yet but the initial results look *very* promising.

As far as download size goes, I honestly think that there is too much paranoia going on about file size downloads (unless you really do start getting into major ones, such as trying to push *all* of Dojo to a browser--which is kind of ridiculous).  I&#039;ve worked on corporate sites where optimized images still push the 40kb barrier--if not more--and the reality is that in this day and age, most of the people using more advanced apps are much more likely to be on some sort of broadband connections than not.  This doesn&#039;t mean one should go hog wild, of course--downloading many files is still not a good thing--but taking it to some of the extremes mentioned seems a bit, well, extreme.  All of these choices need to balanced; you can&#039;t just say &quot;this is bad because of the file size download&quot; without also taking into account a good portion of what is actually being used.

Of course, there&#039;s always what I like to call &quot;spurious linkage&quot;, which many frameworks are guilty of; these things need to undergo constant refinement, which Prototype does seem to do (as well as Dojo).</description>
		<content:encoded><![CDATA[<p>So that those are not aware of it, there is an existing project being developed as a part of Dojo called the JSLinker, which does exactly what Chris asks for: it will scan your code and remove all dead code paths.  Obviously this isn&#8217;t completed yet but the initial results look *very* promising.</p>
<p>As far as download size goes, I honestly think that there is too much paranoia going on about file size downloads (unless you really do start getting into major ones, such as trying to push *all* of Dojo to a browser&#8211;which is kind of ridiculous).  I&#8217;ve worked on corporate sites where optimized images still push the 40kb barrier&#8211;if not more&#8211;and the reality is that in this day and age, most of the people using more advanced apps are much more likely to be on some sort of broadband connections than not.  This doesn&#8217;t mean one should go hog wild, of course&#8211;downloading many files is still not a good thing&#8211;but taking it to some of the extremes mentioned seems a bit, well, extreme.  All of these choices need to balanced; you can&#8217;t just say &#8220;this is bad because of the file size download&#8221; without also taking into account a good portion of what is actually being used.</p>
<p>Of course, there&#8217;s always what I like to call &#8220;spurious linkage&#8221;, which many frameworks are guilty of; these things need to undergo constant refinement, which Prototype does seem to do (as well as Dojo).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob Sanheim</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-245617</link>
		<dc:creator>Rob Sanheim</dc:creator>
		<pubDate>Fri, 29 Dec 2006 16:18:20 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-245617</guid>
		<description>Chim: Its in developer&#039;s nature to use libraries, because we are lazy.  That means that much of the library will go unused by 90% of those using it, which is just how things work out.  Look at Dojo - even with one of the smaller builds I&#039;m betting most devs don&#039;t have a clue what is going on underneath or just what they can do with it.  Thats a good thing, though, as it lets you get stuff done w/o having to know the nuts and bolts.  There will be a time for learning the guts, and there will always be those people who are curious enough and passionate enough to dive in.  For the &quot;rest&quot; of programmers, knowing the primary things a framework does for them is usually enough.

&lt;pre&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/pre&gt;

Justin: Isn&#039;t wasn&#039;t an attempt to kick you guys - I just hadn&#039;t seen any updates since a comment in November.  A simple &quot;we are working on it&quot; would be fine.. =)</description>
		<content:encoded><![CDATA[<p>Chim: Its in developer&#8217;s nature to use libraries, because we are lazy.  That means that much of the library will go unused by 90% of those using it, which is just how things work out.  Look at Dojo &#8211; even with one of the smaller builds I&#8217;m betting most devs don&#8217;t have a clue what is going on underneath or just what they can do with it.  Thats a good thing, though, as it lets you get stuff done w/o having to know the nuts and bolts.  There will be a time for learning the guts, and there will always be those people who are curious enough and passionate enough to dive in.  For the &#8220;rest&#8221; of programmers, knowing the primary things a framework does for them is usually enough.</p>
<pre>

</pre>
<p>Justin: Isn&#8217;t wasn&#8217;t an attempt to kick you guys &#8211; I just hadn&#8217;t seen any updates since a comment in November.  A simple &#8220;we are working on it&#8221; would be fine.. =)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kris Zyp</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-245616</link>
		<dc:creator>Kris Zyp</dc:creator>
		<pubDate>Fri, 29 Dec 2006 16:05:58 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-245616</guid>
		<description>Size is an important issue, but it is very relative.  If you are using 90% of the functions in this library for various purposes through out your application, than Prototype is amazingly small.  But as Chim was saying, if you only using the &quot;$()&quot; function and nothing else, than Prototype is terribly bloated for your usage (in which case you are much better just copying that function out of prototype and using it).</description>
		<content:encoded><![CDATA[<p>Size is an important issue, but it is very relative.  If you are using 90% of the functions in this library for various purposes through out your application, than Prototype is amazingly small.  But as Chim was saying, if you only using the &#8220;$()&#8221; function and nothing else, than Prototype is terribly bloated for your usage (in which case you are much better just copying that function out of prototype and using it).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: matt m</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-245610</link>
		<dc:creator>matt m</dc:creator>
		<pubDate>Fri, 29 Dec 2006 12:44:35 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-245610</guid>
		<description>There is one more decent reference. I&#039;ve been using it on O&#039;Reilly Safari.

http://safari.awprofessional.com/0596529198</description>
		<content:encoded><![CDATA[<p>There is one more decent reference. I&#8217;ve been using it on O&#8217;Reilly Safari.</p>
<p><a href="http://safari.awprofessional.com/0596529198" rel="nofollow">http://safari.awprofessional.com/0596529198</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Justin Palmer</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-245609</link>
		<dc:creator>Justin Palmer</dc:creator>
		<pubDate>Fri, 29 Dec 2006 12:29:51 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-245609</guid>
		<description>We&#039;re a world full of monkeys with keyboards, this could go on forever.   It&#039;s very easy to rehash an argument on what some people see as being wrong.

for...in -  It&#039;s gonna be that way until JS 1.7&#039;s native iterators can be used by every browser.  In other words, it&#039;s not gonna change in the foreseeable future.  If you don&#039;t like that, don&#039;t use it. 

File size -  Dojo anyone?  Honestly, the load time between 15kb and 50 kb isn&#039;t that much, and it&#039;s cached on the first go around.  Has anyone actually run an benchmarks on this?  If the sky is falling, I want proof.  gzip if need be.  It takes about 10 minutes to add semicolons in and compress Prototype with a packer.  I&#039;ve seen CSS files that are far heavier.

Documentation -  Easy to kick an open wound.  But we&#039;re working on it, you won&#039;t be disappointed.  We don&#039;t have financial backing, and my wife would be disappointed if I couldn&#039;t pay the bills.

In the end it boils down to the same type of people complaining about the same thing.  But before you go popping prototype.js blindly into all of your pages, these are things you should consider.</description>
		<content:encoded><![CDATA[<p>We&#8217;re a world full of monkeys with keyboards, this could go on forever.   It&#8217;s very easy to rehash an argument on what some people see as being wrong.</p>
<p>for&#8230;in &#8211;  It&#8217;s gonna be that way until JS 1.7&#8242;s native iterators can be used by every browser.  In other words, it&#8217;s not gonna change in the foreseeable future.  If you don&#8217;t like that, don&#8217;t use it. </p>
<p>File size &#8211;  Dojo anyone?  Honestly, the load time between 15kb and 50 kb isn&#8217;t that much, and it&#8217;s cached on the first go around.  Has anyone actually run an benchmarks on this?  If the sky is falling, I want proof.  gzip if need be.  It takes about 10 minutes to add semicolons in and compress Prototype with a packer.  I&#8217;ve seen CSS files that are far heavier.</p>
<p>Documentation &#8211;  Easy to kick an open wound.  But we&#8217;re working on it, you won&#8217;t be disappointed.  We don&#8217;t have financial backing, and my wife would be disappointed if I couldn&#8217;t pay the bills.</p>
<p>In the end it boils down to the same type of people complaining about the same thing.  But before you go popping prototype.js blindly into all of your pages, these are things you should consider.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chim</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-245608</link>
		<dc:creator>Chim</dc:creator>
		<pubDate>Fri, 29 Dec 2006 12:16:56 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-245608</guid>
		<description>As I wrote on my post, I don&#039;t think that prototype.js sucks. The primary point when writing my post was that many people abuse (under-utilize) prototype.js. They use the entire library just for a few functions and hence, the title &quot;prototype.js != $()&quot;. I believe that there are many tutorials such as &lt;a href=&quot;http://www.ajaxlessons.com/&quot; rel=&quot;nofollow&quot;&gt;this one&lt;/a&gt; that show people how to use AJAX and they do it using the prototype library. Hence, a lot of people think that prototype.js is an AJAX library and use it for XMLHttpRequests when AJAX is only a small part of the library. Even Digg, one of the best social sites today, includes slider.js and I don&#039;t think it uses a slider control . Am I missing something here?

So, the problem here is with people abusing prototype.js and of course, that does not mean prototype.js does not have problems. But I am a bit baised against using javascript libraries in general. If everyone did not use libraries, debugging would be much easier and they would learn much more in the process. After all, Javascript is a simple language except for browser discrepancies.

Chris&#039;s idea of Optimising JS is really cool</description>
		<content:encoded><![CDATA[<p>As I wrote on my post, I don&#8217;t think that prototype.js sucks. The primary point when writing my post was that many people abuse (under-utilize) prototype.js. They use the entire library just for a few functions and hence, the title &#8220;prototype.js != $()&#8221;. I believe that there are many tutorials such as <a href="http://www.ajaxlessons.com/" rel="nofollow">this one</a> that show people how to use AJAX and they do it using the prototype library. Hence, a lot of people think that prototype.js is an AJAX library and use it for XMLHttpRequests when AJAX is only a small part of the library. Even Digg, one of the best social sites today, includes slider.js and I don&#8217;t think it uses a slider control . Am I missing something here?</p>
<p>So, the problem here is with people abusing prototype.js and of course, that does not mean prototype.js does not have problems. But I am a bit baised against using javascript libraries in general. If everyone did not use libraries, debugging would be much easier and they would learn much more in the process. After all, Javascript is a simple language except for browser discrepancies.</p>
<p>Chris&#8217;s idea of Optimising JS is really cool</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-245606</link>
		<dc:creator>David</dc:creator>
		<pubDate>Fri, 29 Dec 2006 11:31:05 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-245606</guid>
		<description>Its a lovely idea Chris, I really like the way &lt;a href=&quot;http://mootools.net/download/release&quot; title=&quot;MooTools&quot; rel=&quot;nofollow&quot;&gt;MooTools&lt;/a&gt; has a compiler that does a similar job. But a IDE that analyses your work and does it on the fly would quickly reduce most concerns of speed/size regarding almost any js framework.</description>
		<content:encoded><![CDATA[<p>Its a lovely idea Chris, I really like the way <a href="http://mootools.net/download/release" title="MooTools" rel="nofollow">MooTools</a> has a compiler that does a similar job. But a IDE that analyses your work and does it on the fly would quickly reduce most concerns of speed/size regarding almost any js framework.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Korhonen</title>
		<link>http://ajaxian.com/archives/prototype-sucks-20/comment-page-1#comment-245605</link>
		<dc:creator>Chris Korhonen</dc:creator>
		<pubDate>Fri, 29 Dec 2006 11:13:58 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1968#comment-245605</guid>
		<description>I&#039;d say Prototype is an excellent library when you are developing a Javascript rich site, my only criticism is of course the lack of documentation, but that seems to cover a lot of the JavaScript frameworks out there today. In fact, from a corporate perspective, this can really hinder their widespread usage - a company may not necessarily want to develop a Prototype-dependant Web app if the only source of documentation is someone&#039;s blog. A project may become dependent on a single developer who knows the framework, and it becomes difficult if developers change because they may not immediately know the framework.

I&#039;d say the size of Prototype is also a killer... well... its a killer if your not actively using all the niceness in your Webapp. For instance, if you are just using the AJAX request and the $() bits, you are incurring a 60kb filesize hit for probably about 2kb of functionality. This is something I&#039;m seeing more and more - people using whole frameworks for simple interactions. Its overkill and slows down your site!

It would be interested to see if that second problem could be tackled within an IDE, say you have an &#039;Optimize JS&#039; function, which looks at your JS code and dynamically builds the supporting framework .js file, putting in just the functionality which is needed to make your site work, trimming out the redundant bits. Anyone up for the challenge?</description>
		<content:encoded><![CDATA[<p>I&#8217;d say Prototype is an excellent library when you are developing a Javascript rich site, my only criticism is of course the lack of documentation, but that seems to cover a lot of the JavaScript frameworks out there today. In fact, from a corporate perspective, this can really hinder their widespread usage &#8211; a company may not necessarily want to develop a Prototype-dependant Web app if the only source of documentation is someone&#8217;s blog. A project may become dependent on a single developer who knows the framework, and it becomes difficult if developers change because they may not immediately know the framework.</p>
<p>I&#8217;d say the size of Prototype is also a killer&#8230; well&#8230; its a killer if your not actively using all the niceness in your Webapp. For instance, if you are just using the AJAX request and the $() bits, you are incurring a 60kb filesize hit for probably about 2kb of functionality. This is something I&#8217;m seeing more and more &#8211; people using whole frameworks for simple interactions. Its overkill and slows down your site!</p>
<p>It would be interested to see if that second problem could be tackled within an IDE, say you have an &#8216;Optimize JS&#8217; function, which looks at your JS code and dynamically builds the supporting framework .js file, putting in just the functionality which is needed to make your site work, trimming out the redundant bits. Anyone up for the challenge?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

