<?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: jQuery vs. MooTools</title>
	<atom:link href="http://ajaxian.com/archives/jquery-vs-mootools/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/jquery-vs-mootools</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: masini</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-278761</link>
		<dc:creator>masini</dc:creator>
		<pubDate>Mon, 08 Feb 2010 09:53:12 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-278761</guid>
		<description>thought very well but are nevertheless, a bit of bias.</description>
		<content:encoded><![CDATA[<p>thought very well but are nevertheless, a bit of bias.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sunwukung</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273682</link>
		<dc:creator>sunwukung</dc:creator>
		<pubDate>Mon, 01 Jun 2009 12:17:46 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273682</guid>
		<description>I thought the article was great - there&#039;s a mad rush to learn all things jQuery - and I can&#039;t help but feel it&#039;s something of a double edged sword. I&#039;ve only been coding JS for a very short period of time - and as such am faced with the dilemma of continuing to study vanilla JS, or learning a framework. 
- jQuery is immensely popular, very fast to implement, has a superb selector system BUT I feel it obscures the language it&#039;s written in. If you spend your time learning jQuery, that&#039;s great from a practical and immediate POV, but I think it would leave you stranded in the long game.
-MooTools seems less aimed at providing out of the box gimmicks, and more about addressing the failings of JS itself, while retaining the syntax of it&#039;s host language. This - to me - is a big selling point as my priority is to study JS at it&#039;s core as opposed to a lib&#039;s syntax. The big negative (in terms of your average small fry coding company) is that it won&#039;t permit ramshackle JS implementation - mixing and matching libs and scripts. This is prohibitive when you join a team that has established a mix and match methodology. From my brief experience - JS coding rarely gets afforded the same sort of dev time as server-side and you&#039;re almost expected to deploy ready mades - thus prohibiting MT use.

So, my twopence worth: in the short term I would deploy jQ for certain aspects of development simply for the sake of time, expediency and compatibility with other coders code, but from an academic perspective, and for the long game, I would want to study and implement MT + vanilla.</description>
		<content:encoded><![CDATA[<p>I thought the article was great &#8211; there&#8217;s a mad rush to learn all things jQuery &#8211; and I can&#8217;t help but feel it&#8217;s something of a double edged sword. I&#8217;ve only been coding JS for a very short period of time &#8211; and as such am faced with the dilemma of continuing to study vanilla JS, or learning a framework.<br />
- jQuery is immensely popular, very fast to implement, has a superb selector system BUT I feel it obscures the language it&#8217;s written in. If you spend your time learning jQuery, that&#8217;s great from a practical and immediate POV, but I think it would leave you stranded in the long game.<br />
-MooTools seems less aimed at providing out of the box gimmicks, and more about addressing the failings of JS itself, while retaining the syntax of it&#8217;s host language. This &#8211; to me &#8211; is a big selling point as my priority is to study JS at it&#8217;s core as opposed to a lib&#8217;s syntax. The big negative (in terms of your average small fry coding company) is that it won&#8217;t permit ramshackle JS implementation &#8211; mixing and matching libs and scripts. This is prohibitive when you join a team that has established a mix and match methodology. From my brief experience &#8211; JS coding rarely gets afforded the same sort of dev time as server-side and you&#8217;re almost expected to deploy ready mades &#8211; thus prohibiting MT use.</p>
<p>So, my twopence worth: in the short term I would deploy jQ for certain aspects of development simply for the sake of time, expediency and compatibility with other coders code, but from an academic perspective, and for the long game, I would want to study and implement MT + vanilla.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: daitro</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273648</link>
		<dc:creator>daitro</dc:creator>
		<pubDate>Wed, 27 May 2009 14:36:18 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273648</guid>
		<description>after reading that I feel even more compelled to do not stop using jQuery. Thanks, Aaron!</description>
		<content:encoded><![CDATA[<p>after reading that I feel even more compelled to do not stop using jQuery. Thanks, Aaron!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Iumentum</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273643</link>
		<dc:creator>Iumentum</dc:creator>
		<pubDate>Wed, 27 May 2009 13:43:53 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273643</guid>
		<description>Someone forgot to mention about issues running Mootools under Konqueror or is those issues fixed now?</description>
		<content:encoded><![CDATA[<p>Someone forgot to mention about issues running Mootools under Konqueror or is those issues fixed now?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anewton</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273618</link>
		<dc:creator>anewton</dc:creator>
		<pubDate>Sun, 24 May 2009 17:36:25 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273618</guid>
		<description>@dizzyed, actually, many of the extensions to native prototypes are based on the actual JavaScript 1.5, 1.8, etc specs. So yes, you can, for some of them.</description>
		<content:encoded><![CDATA[<p>@dizzyed, actually, many of the extensions to native prototypes are based on the actual JavaScript 1.5, 1.8, etc specs. So yes, you can, for some of them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dizzyed</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273616</link>
		<dc:creator>dizzyed</dc:creator>
		<pubDate>Sun, 24 May 2009 00:11:38 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273616</guid>
		<description>I don&#039;t see the benefit of MooTools trying to be like Javascript. Whats important as always is being consistent and having good documentation. Can you find their methods in any Javascript language reference? Of course not.

In the end its just the style, features and preference.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t see the benefit of MooTools trying to be like Javascript. Whats important as always is being consistent and having good documentation. Can you find their methods in any Javascript language reference? Of course not.</p>
<p>In the end its just the style, features and preference.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: csuwldcat</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273591</link>
		<dc:creator>csuwldcat</dc:creator>
		<pubDate>Thu, 21 May 2009 23:03:47 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273591</guid>
		<description>I think it is hilarious that a massing mob of coders sees the prototyping in JS as something bad.  That is like saying this to a person utilizing CSS to make Sprites: &quot;Oh my god man! What are you doing!?! The word &#039;Sprite&#039;, it can only be used to mean a tasty, clear beverage produced by the Pepsi Corporation! What sacrilege! Outrage, outrage I say!&quot; - hahahaha, lame!

This is a language that HAS PROTOTYPING for a reason Captian Obvious!  Even Crockford has written enhancements by prototyping, I cry a tear  :p  for the haters! This whole &quot;purist, prototyping in JS is wrong&quot; thing is complete BS.

Anywho, the word &quot;Class&quot; is just a word. Words don&#039;t even really exist anyway folks; a chair is a &#039;chair&#039; because some stupid cave man made a rock that was cool for sitting on and had to call it something more than a grunt!  Stop throwing up all these lame logical fallacies to boost a baseless argument against an intended feature of JavaScript. </description>
		<content:encoded><![CDATA[<p>I think it is hilarious that a massing mob of coders sees the prototyping in JS as something bad.  That is like saying this to a person utilizing CSS to make Sprites: &#8220;Oh my god man! What are you doing!?! The word &#8216;Sprite&#8217;, it can only be used to mean a tasty, clear beverage produced by the Pepsi Corporation! What sacrilege! Outrage, outrage I say!&#8221; &#8211; hahahaha, lame!</p>
<p>This is a language that HAS PROTOTYPING for a reason Captian Obvious!  Even Crockford has written enhancements by prototyping, I cry a tear  :p  for the haters! This whole &#8220;purist, prototyping in JS is wrong&#8221; thing is complete BS.</p>
<p>Anywho, the word &#8220;Class&#8221; is just a word. Words don&#8217;t even really exist anyway folks; a chair is a &#8216;chair&#8217; because some stupid cave man made a rock that was cool for sitting on and had to call it something more than a grunt!  Stop throwing up all these lame logical fallacies to boost a baseless argument against an intended feature of JavaScript.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: hquinn</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273589</link>
		<dc:creator>hquinn</dc:creator>
		<pubDate>Thu, 21 May 2009 21:37:50 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273589</guid>
		<description>Mmm well I don&#039;t know a lot of mootools, but is very interesting to see the differences of this two frameworks ;)</description>
		<content:encoded><![CDATA[<p>Mmm well I don&#8217;t know a lot of mootools, but is very interesting to see the differences of this two frameworks ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anewton</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273581</link>
		<dc:creator>anewton</dc:creator>
		<pubDate>Thu, 21 May 2009 17:44:37 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273581</guid>
		<description>Venkman, your last explanation was much more helpful and informative. I see your point.</description>
		<content:encoded><![CDATA[<p>Venkman, your last explanation was much more helpful and informative. I see your point.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Venkman</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273552</link>
		<dc:creator>Venkman</dc:creator>
		<pubDate>Thu, 21 May 2009 07:32:11 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273552</guid>
		<description>@sixtyseconds you can, if you want, call obj1 parent and obj2 child. But, as you can see, that example is unrelated to the need of using terms like &quot;class&quot; and &quot;instance&quot;.

For the rest of the argument: I&#039;ve never said anything such as Mootools trying to be something its not. I haven&#039;t said either, that Mootools was stretching the language, and it would never occur to me to say what&#039;s &quot;the intended use of a language&quot;. In fact, I haven&#039;t made any criticism to Mootools in particular.
I&#039;ve criticized: 1. As a personal preference, the fact that some frameworks/libraries feel the need to approximate class based inheritance. 2. What I think is a small inconsistency in &lt;em&gt;this&lt;/em&gt; article (not in Mootools): arguing against a particular style promoted in one library because it &quot;feels too different to the language&quot;, but arguing in favour of the other library because it approximates something (or, if you really want it that way, &quot;uses a certain terminology for some things but in the end it&#039;s just an API&quot;) which I feel is quite different to the language (classes and instances).

I&#039;ll end my part of the discussion here (because I don&#039;t see this getting anywhere). I&#039;m really sorry if any of you have felt in anyway aggravated or have felt your favourite library was being criticised or whatever.</description>
		<content:encoded><![CDATA[<p>@sixtyseconds you can, if you want, call obj1 parent and obj2 child. But, as you can see, that example is unrelated to the need of using terms like &#8220;class&#8221; and &#8220;instance&#8221;.</p>
<p>For the rest of the argument: I&#8217;ve never said anything such as Mootools trying to be something its not. I haven&#8217;t said either, that Mootools was stretching the language, and it would never occur to me to say what&#8217;s &#8220;the intended use of a language&#8221;. In fact, I haven&#8217;t made any criticism to Mootools in particular.<br />
I&#8217;ve criticized: 1. As a personal preference, the fact that some frameworks/libraries feel the need to approximate class based inheritance. 2. What I think is a small inconsistency in <em>this</em> article (not in Mootools): arguing against a particular style promoted in one library because it &#8220;feels too different to the language&#8221;, but arguing in favour of the other library because it approximates something (or, if you really want it that way, &#8220;uses a certain terminology for some things but in the end it&#8217;s just an API&#8221;) which I feel is quite different to the language (classes and instances).</p>
<p>I&#8217;ll end my part of the discussion here (because I don&#8217;t see this getting anywhere). I&#8217;m really sorry if any of you have felt in anyway aggravated or have felt your favourite library was being criticised or whatever.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sixtyseconds</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273551</link>
		<dc:creator>sixtyseconds</dc:creator>
		<pubDate>Thu, 21 May 2009 06:22:14 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273551</guid>
		<description>@Venkman - Is your point that MooTools is trying to be something its not because of Aaron&#039;s choice of jargon? Just because he (and a great many others) prefer to use familiar terms to describe design concepts of prototypical inheritance, does not mean that MooTools is stretching the language beyond what is intended. It is simply an indication of personal preference. A rose by any other name...and all that.

As a matter of interest (really, truely); what terms would you use to describe his example?

&lt;blockquote&gt;In JavaScript if we have obj1 and obj2 and we set obj2’s prototype to be obj1, what do we have? What is obj2? What is obj1? child? parent? inheritor?&quot;&lt;/blockquote&gt;</description>
		<content:encoded><![CDATA[<p>@Venkman &#8211; Is your point that MooTools is trying to be something its not because of Aaron&#8217;s choice of jargon? Just because he (and a great many others) prefer to use familiar terms to describe design concepts of prototypical inheritance, does not mean that MooTools is stretching the language beyond what is intended. It is simply an indication of personal preference. A rose by any other name&#8230;and all that.</p>
<p>As a matter of interest (really, truely); what terms would you use to describe his example?</p>
<blockquote><p>In JavaScript if we have obj1 and obj2 and we set obj2’s prototype to be obj1, what do we have? What is obj2? What is obj1? child? parent? inheritor?&#8221;</p></blockquote>
]]></content:encoded>
	</item>
	<item>
		<title>By: anewton</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273548</link>
		<dc:creator>anewton</dc:creator>
		<pubDate>Thu, 21 May 2009 03:19:26 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273548</guid>
		<description>mawe, that&#039;s not a very useful comment.</description>
		<content:encoded><![CDATA[<p>mawe, that&#8217;s not a very useful comment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mawe</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273547</link>
		<dc:creator>mawe</dc:creator>
		<pubDate>Thu, 21 May 2009 01:21:16 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273547</guid>
		<description>C&#039;mon all, let&#039;s stop the discussion. We all know the Moo kicks jQuery&#039;s ass.</description>
		<content:encoded><![CDATA[<p>C&#8217;mon all, let&#8217;s stop the discussion. We all know the Moo kicks jQuery&#8217;s ass.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Venkman</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273546</link>
		<dc:creator>Venkman</dc:creator>
		<pubDate>Wed, 20 May 2009 23:25:17 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273546</guid>
		<description>@anewton: I&#039;ll pass over the fact that the jargon is not lacking and simply say that calling things by names which do not correspond to what they are just because those names are familiar to you, somehow doesn&#039;t click as &quot;right&quot; to me. If you&#039;re comfortable with it, fine, of course. But I&#039;m not.</description>
		<content:encoded><![CDATA[<p>@anewton: I&#8217;ll pass over the fact that the jargon is not lacking and simply say that calling things by names which do not correspond to what they are just because those names are familiar to you, somehow doesn&#8217;t click as &#8220;right&#8221; to me. If you&#8217;re comfortable with it, fine, of course. But I&#8217;m not.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jpedrosa</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273545</link>
		<dc:creator>jpedrosa</dc:creator>
		<pubDate>Wed, 20 May 2009 23:16:23 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273545</guid>
		<description>I prefer Prototype&#039;s OO which also has proven very effected for my tens approaching a hundred classes (who gets to count them when they can be anywhere?)

One of the things I like about Prototype&#039;s OO is its &quot;$super&quot; for referencing the parent&#039;s constructor and methods. I am not even sure if it can break anything in the process, but so far, so good. I do make plenty of use of &quot;$super&quot; in every class I create because every class I create has to depend on a common ancestor so it&#039;s a flat hierarchy, it can be two or three classes deep even though deeper than that is a little rarer.

To me, OO in JavaScript works like Ruby&#039;s OO to some extent given my tweaking of it so I am pretty happy as I understand the shortcomings.

Also, I know folks who plead &quot;prototypical inheritance&quot; and &quot;Java style classes&quot; won&#039;t find what they could probably want when I make use of this OO thing provided by Prototype and some tweakings.

I find it kind of funny actually. Folks who don&#039;t want any classes means that they want the &quot;flattest&quot; programming experience possible, which also means that I would not want to see their code. Folks who want Java style classes will end up with some of the worst experience when they try to bend JavaScript too much to their likings, and will not understand why they are in the minority.

Cheers.</description>
		<content:encoded><![CDATA[<p>I prefer Prototype&#8217;s OO which also has proven very effected for my tens approaching a hundred classes (who gets to count them when they can be anywhere?)</p>
<p>One of the things I like about Prototype&#8217;s OO is its &#8220;$super&#8221; for referencing the parent&#8217;s constructor and methods. I am not even sure if it can break anything in the process, but so far, so good. I do make plenty of use of &#8220;$super&#8221; in every class I create because every class I create has to depend on a common ancestor so it&#8217;s a flat hierarchy, it can be two or three classes deep even though deeper than that is a little rarer.</p>
<p>To me, OO in JavaScript works like Ruby&#8217;s OO to some extent given my tweaking of it so I am pretty happy as I understand the shortcomings.</p>
<p>Also, I know folks who plead &#8220;prototypical inheritance&#8221; and &#8220;Java style classes&#8221; won&#8217;t find what they could probably want when I make use of this OO thing provided by Prototype and some tweakings.</p>
<p>I find it kind of funny actually. Folks who don&#8217;t want any classes means that they want the &#8220;flattest&#8221; programming experience possible, which also means that I would not want to see their code. Folks who want Java style classes will end up with some of the worst experience when they try to bend JavaScript too much to their likings, and will not understand why they are in the minority.</p>
<p>Cheers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anewton</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273543</link>
		<dc:creator>anewton</dc:creator>
		<pubDate>Wed, 20 May 2009 22:10:50 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273543</guid>
		<description>@venkman - The jargon of reusable objects in Prototype is lacking, and consequently we call these things what they appear to be - what we have jargon for - &quot;class&quot; and &quot;instance&quot;. In reality they are all objects, some of which inherit from others. In JavaScript if we have obj1 and obj2 and we set obj2&#039;s prototype to be obj1, what do we have? What is obj2? What is obj1? child? parent? inheritor? Fighting over jargon isn&#039;t helpful, so we call them &quot;classes&quot; and &quot;instances.&quot; But they are still just objects whose prototypes are set to the others. It&#039;s not an approximation of Java or any other classical language.

@doublerebel - You write:
&lt;blockquote&gt;Hmm. I could easily implement MooTools’ hover syntax in jQuery in just a few lines… but who would want to? There’s a reason people are developing jQuery syntax for MooTools and not the other way around!&lt;/blockquote&gt;

I doubt it. jQuery is a subset of MooTools functionality. This is not meant as a negative statement (indeed, for many, it is a positive thing). But this is one thing that MooTools can do that jQuery cannot. You cannot implement MooTools with jQuery; jQuery&#039;s scope is focused on the DOM. While you can certainly duplicate MooTools, you&#039;d be doing it in vanilla JavaScript. Again, this isn&#039;t meant as a negative statement. But it is a limitation of jQuery (not a fault!).

I&#039;ll reiterate what I say in the article, MooTools nor jQuery are different, with different purposes and different philosophies. I did my damnedest in the article to convey this point effectively and to assert that neither framework is a poor choice to learn (ideally, people would invest time to learn them both before making any decisions). I have a personal preference that falls in line with MooTools, but there are certainly things about it that can be much better, just as the same is true of jQuery. That&#039;s why we&#039;re still iterating on these frameworks.

Discrediting MooTools because it embraces prototypal inheritance, a mainstay of the language, is a matter of preference, not fact. jQuery&#039;s lack of this functionality (and again, I&#039;m focused in the article on the cores of both frameworks) is a deciding factor *for me*, but that&#039;s ok. If you don&#039;t like this pattern, don&#039;t use it. That&#039;s kind of the whole point of the article: both are different and different philosophies and choosing one is more a matter of personal taste than it is one of merits and demerits of each library.</description>
		<content:encoded><![CDATA[<p>@venkman &#8211; The jargon of reusable objects in Prototype is lacking, and consequently we call these things what they appear to be &#8211; what we have jargon for &#8211; &#8220;class&#8221; and &#8220;instance&#8221;. In reality they are all objects, some of which inherit from others. In JavaScript if we have obj1 and obj2 and we set obj2&#8242;s prototype to be obj1, what do we have? What is obj2? What is obj1? child? parent? inheritor? Fighting over jargon isn&#8217;t helpful, so we call them &#8220;classes&#8221; and &#8220;instances.&#8221; But they are still just objects whose prototypes are set to the others. It&#8217;s not an approximation of Java or any other classical language.</p>
<p>@doublerebel &#8211; You write:</p>
<blockquote><p>Hmm. I could easily implement MooTools’ hover syntax in jQuery in just a few lines… but who would want to? There’s a reason people are developing jQuery syntax for MooTools and not the other way around!</p></blockquote>
<p>I doubt it. jQuery is a subset of MooTools functionality. This is not meant as a negative statement (indeed, for many, it is a positive thing). But this is one thing that MooTools can do that jQuery cannot. You cannot implement MooTools with jQuery; jQuery&#8217;s scope is focused on the DOM. While you can certainly duplicate MooTools, you&#8217;d be doing it in vanilla JavaScript. Again, this isn&#8217;t meant as a negative statement. But it is a limitation of jQuery (not a fault!).</p>
<p>I&#8217;ll reiterate what I say in the article, MooTools nor jQuery are different, with different purposes and different philosophies. I did my damnedest in the article to convey this point effectively and to assert that neither framework is a poor choice to learn (ideally, people would invest time to learn them both before making any decisions). I have a personal preference that falls in line with MooTools, but there are certainly things about it that can be much better, just as the same is true of jQuery. That&#8217;s why we&#8217;re still iterating on these frameworks.</p>
<p>Discrediting MooTools because it embraces prototypal inheritance, a mainstay of the language, is a matter of preference, not fact. jQuery&#8217;s lack of this functionality (and again, I&#8217;m focused in the article on the cores of both frameworks) is a deciding factor *for me*, but that&#8217;s ok. If you don&#8217;t like this pattern, don&#8217;t use it. That&#8217;s kind of the whole point of the article: both are different and different philosophies and choosing one is more a matter of personal taste than it is one of merits and demerits of each library.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Venkman</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273541</link>
		<dc:creator>Venkman</dc:creator>
		<pubDate>Wed, 20 May 2009 20:43:46 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273541</guid>
		<description>@anewton, to me, it&#039;s you the one who misses the point. At least you seemed to miss the word &quot;approximation&quot; when I argued about how some libraries (not only Mootools, and not nly Mootools and Prototype) try to implement an &quot;approximation of class based inheritance&quot;.

I would be very surprised if you could tell who has read tfa, but I for one, have. And have read such things as &quot;You pass Class an object (above, we pass an object with members like &quot;isAlive&quot; and &quot;eat&quot;) and this object becomes the prototype of every &lt;strong&gt;instance&lt;/strong&gt; of that &lt;strong&gt;class&lt;/strong&gt;. To create an &lt;strong&gt;instance&lt;/strong&gt;, you call it like this: ... &quot; (emphasis mine). I might entertain your claim of it being just an API over prototypal inheritance, but then again if he talks about classes and instances, I tend to believe otherwise.</description>
		<content:encoded><![CDATA[<p>@anewton, to me, it&#8217;s you the one who misses the point. At least you seemed to miss the word &#8220;approximation&#8221; when I argued about how some libraries (not only Mootools, and not nly Mootools and Prototype) try to implement an &#8220;approximation of class based inheritance&#8221;.</p>
<p>I would be very surprised if you could tell who has read tfa, but I for one, have. And have read such things as &#8220;You pass Class an object (above, we pass an object with members like &#8220;isAlive&#8221; and &#8220;eat&#8221;) and this object becomes the prototype of every <strong>instance</strong> of that <strong>class</strong>. To create an <strong>instance</strong>, you call it like this: &#8230; &#8221; (emphasis mine). I might entertain your claim of it being just an API over prototypal inheritance, but then again if he talks about classes and instances, I tend to believe otherwise.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: doublerebel</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273540</link>
		<dc:creator>doublerebel</dc:creator>
		<pubDate>Wed, 20 May 2009 19:56:16 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273540</guid>
		<description>&lt;blockquote&gt;MooTools Lets You Have It Your Way&lt;/blockquote&gt;

Hmm.  I could easily implement MooTools&#039; hover syntax in jQuery in just a few lines... but who would want to?  There&#039;s a reason people are developing jQuery syntax for MooTools and not the other way around!

jQuery doesn&#039;t have class-based inheritance in the core, you can find it in the LowPro plugin.  I would argue jQuery is built to be the more maintainable and reusable of the two languages -- jQuery code reads like English to me, and the sharing and support from the plugin community is amazing.  Even Aaron notes that with jQ &quot;it&#039;s easy to get started and see quick results but...can turn into code that&#039;s harder to reuse and maintain &lt;strong&gt;(but really that&#039;s up to you; it&#039;s not jQuery&#039;s problem, per se)&lt;/strong&gt;&quot; &lt;em&gt;(Emphasis mine)&lt;/em&gt;

jQuery is extended properly with plugins where needed.  jQ is easy to use, that&#039;s why there are so many bad examples out there.  Many inexperienced coders use jQ, that doesn&#039;t mean jQ is any less powerful.</description>
		<content:encoded><![CDATA[<blockquote><p>MooTools Lets You Have It Your Way</p></blockquote>
<p>Hmm.  I could easily implement MooTools&#8217; hover syntax in jQuery in just a few lines&#8230; but who would want to?  There&#8217;s a reason people are developing jQuery syntax for MooTools and not the other way around!</p>
<p>jQuery doesn&#8217;t have class-based inheritance in the core, you can find it in the LowPro plugin.  I would argue jQuery is built to be the more maintainable and reusable of the two languages &#8212; jQuery code reads like English to me, and the sharing and support from the plugin community is amazing.  Even Aaron notes that with jQ &#8220;it&#8217;s easy to get started and see quick results but&#8230;can turn into code that&#8217;s harder to reuse and maintain <strong>(but really that&#8217;s up to you; it&#8217;s not jQuery&#8217;s problem, per se)</strong>&#8221; <em>(Emphasis mine)</em></p>
<p>jQuery is extended properly with plugins where needed.  jQ is easy to use, that&#8217;s why there are so many bad examples out there.  Many inexperienced coders use jQ, that doesn&#8217;t mean jQ is any less powerful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: coryn1</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273539</link>
		<dc:creator>coryn1</dc:creator>
		<pubDate>Wed, 20 May 2009 19:32:46 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273539</guid>
		<description>I&#039;ve been coding in JS since it was LS (for whatever that&#039;s worth) and I can honestly say there are times I truly do wish that JS had more of a classical approach to OOP (classical inheritance, public/private members, yada, yada, yada). Yes, I realize JS is playdoh on steroids, its so flexible it can practically kiss its own ass and you can build any of these things in through clever use of closures, etc..etc. And we all love that flexibility-but I don&#039;t see the harm of having more classical OOP features built into the language itself if we get to keep JS&#039;s flexible nature. Think of this as having your cake and eating it too. If this did nothing else but unify the various classical OOP emulators floating around by Newton, Resig, Edwards, Slocum et. al it would be worth it for that alone.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been coding in JS since it was LS (for whatever that&#8217;s worth) and I can honestly say there are times I truly do wish that JS had more of a classical approach to OOP (classical inheritance, public/private members, yada, yada, yada). Yes, I realize JS is playdoh on steroids, its so flexible it can practically kiss its own ass and you can build any of these things in through clever use of closures, etc..etc. And we all love that flexibility-but I don&#8217;t see the harm of having more classical OOP features built into the language itself if we get to keep JS&#8217;s flexible nature. Think of this as having your cake and eating it too. If this did nothing else but unify the various classical OOP emulators floating around by Newton, Resig, Edwards, Slocum et. al it would be worth it for that alone.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anewton</title>
		<link>http://ajaxian.com/archives/jquery-vs-mootools/comment-page-1#comment-273538</link>
		<dc:creator>anewton</dc:creator>
		<pubDate>Wed, 20 May 2009 18:41:50 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6820#comment-273538</guid>
		<description>Again, to reiterate, despite the fact that the actual function is called Class, all it does is make it possible for objects to inherit from other objects. It&#039;s just an API for prototypal inheritance. It&#039;s absolutely NOT foreign to the language; it IS the language.</description>
		<content:encoded><![CDATA[<p>Again, to reiterate, despite the fact that the actual function is called Class, all it does is make it possible for objects to inherit from other objects. It&#8217;s just an API for prototypal inheritance. It&#8217;s absolutely NOT foreign to the language; it IS the language.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

