<?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: JavaScript Abstractions</title>
	<atom:link href="http://james.padolsey.com/javascript/javascript-abstractions/feed/" rel="self" type="application/rss+xml" />
	<link>http://james.padolsey.com/javascript/javascript-abstractions/</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 09 Sep 2010 12:32:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Phunky</title>
		<link>http://james.padolsey.com/javascript/javascript-abstractions/comment-page-1/#comment-7373</link>
		<dc:creator>Phunky</dc:creator>
		<pubDate>Sun, 08 Mar 2009 21:32:35 +0000</pubDate>
		<guid isPermaLink="false">http://james.padolsey.com/?p=521#comment-7373</guid>
		<description>Your article has a very valid point and is something everyone should take into account when using any Framework - especially a Javascript one which can easily sap the users CPU cycles if implemented incorrectly.

Luckily the majority of these frameworks are now so fined tuned that we no longer have to worry to much about JS bogging down a users experience of the web. Reducing these abstraction layers is only really needed in web applications these days and even then should only be required when creating a large number of DOM changes at any one time.

I&#039;ve recently been doing some profiling work at my day job with the aim of speeding up are file managers directory listing, the main change was a case of removing multiple instances PrototypeJS .insert() for  a single use of innerHTML which drastically improved perfomance (490ms to 7ms rending 100 complex HTML Elements).</description>
		<content:encoded><![CDATA[<p>Your article has a very valid point and is something everyone should take into account when using any Framework &#8211; especially a Javascript one which can easily sap the users CPU cycles if implemented incorrectly.</p>
<p>Luckily the majority of these frameworks are now so fined tuned that we no longer have to worry to much about JS bogging down a users experience of the web. Reducing these abstraction layers is only really needed in web applications these days and even then should only be required when creating a large number of DOM changes at any one time.</p>
<p>I&#8217;ve recently been doing some profiling work at my day job with the aim of speeding up are file managers directory listing, the main change was a case of removing multiple instances PrototypeJS .insert() for  a single use of innerHTML which drastically improved perfomance (490ms to 7ms rending 100 complex HTML Elements).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Graham Bradley</title>
		<link>http://james.padolsey.com/javascript/javascript-abstractions/comment-page-1/#comment-4977</link>
		<dc:creator>Graham Bradley</dc:creator>
		<pubDate>Wed, 11 Feb 2009 11:40:51 +0000</pubDate>
		<guid isPermaLink="false">http://james.padolsey.com/?p=521#comment-4977</guid>
		<description>I&#039;d say there are two occasions when using an abstraction such as jQuery is by far the best route:

- a novice JavaScripter just wants to get something done. They don&#039;t want to learn the language in-depth, they just want their pages to work.

- a team of developers need to work together on a project. Using an established, well-documented library means everyone is working from the same sheet, as it were.


I tend to avoid using established libraries on the majority of my projects. This is because I work on my own library; while there&#039;s no way it can compete with the likes of jQuery or Mootools, using &amp; developing it has its own benefits:

- when I do come across a leaky abstraction, its easier to fix it for next time
- I&#039;m far more knowledgeable about how the library works and how to approach the project in the best way
- its simply the best way to become a better JavaScripter - while it may feel like you are reinventing the wheel, part of the challenge is finding ways to make things work faster, improve stability etc.</description>
		<content:encoded><![CDATA[<p>I&#8217;d say there are two occasions when using an abstraction such as jQuery is by far the best route:</p>
<p>- a novice JavaScripter just wants to get something done. They don&#8217;t want to learn the language in-depth, they just want their pages to work.</p>
<p>- a team of developers need to work together on a project. Using an established, well-documented library means everyone is working from the same sheet, as it were.</p>
<p>I tend to avoid using established libraries on the majority of my projects. This is because I work on my own library; while there&#8217;s no way it can compete with the likes of jQuery or Mootools, using &amp; developing it has its own benefits:</p>
<p>- when I do come across a leaky abstraction, its easier to fix it for next time<br />
- I&#8217;m far more knowledgeable about how the library works and how to approach the project in the best way<br />
- its simply the best way to become a better JavaScripter &#8211; while it may feel like you are reinventing the wheel, part of the challenge is finding ways to make things work faster, improve stability etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://james.padolsey.com/javascript/javascript-abstractions/comment-page-1/#comment-4784</link>
		<dc:creator>James</dc:creator>
		<pubDate>Mon, 09 Feb 2009 08:18:50 +0000</pubDate>
		<guid isPermaLink="false">http://james.padolsey.com/?p=521#comment-4784</guid>
		<description>@&lt;strong&gt;IRM&lt;/strong&gt;, I agree, using frameworks sometimes can make us forget. But for most people they&#039;re not forgetting anything because they never knew it in the first place. Most adopters of jQuery don&#039;t know JavaScript to begin with...

@&lt;strong&gt;Ibrahim&lt;/strong&gt;, Thanks mate! :)

@&lt;strong&gt;Pete&lt;/strong&gt;, I tend to do that too, on smaller projects, but sometimes it becomes pointless - there&#039;s no point in reinventing the wheel. But I can definitely see the benefit in using your own library; when an abstraction leaks you know exactly how to fix it because you created it.

@&lt;strong&gt;Brenelz&lt;/strong&gt;, Indeed! I don&#039;t think knowing the above will really change what I do but it is interesting nonetheless. :)

@&lt;strong&gt;Santiago&lt;/strong&gt;, I wouldn&#039;t say MooTools is harder than jQuery (the initial learning curve may be greater) but I do agree with the fact that you need to know a little more about JavaScript to use MooTools. As well as being an object orientated language JavaScript is also a prototypal and functional one, jQuery is simply venturing on the other side of the road.</description>
		<content:encoded><![CDATA[<p>@<strong>IRM</strong>, I agree, using frameworks sometimes can make us forget. But for most people they&#8217;re not forgetting anything because they never knew it in the first place. Most adopters of jQuery don&#8217;t know JavaScript to begin with&#8230;</p>
<p>@<strong>Ibrahim</strong>, Thanks mate! <img src='http://james.padolsey.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>@<strong>Pete</strong>, I tend to do that too, on smaller projects, but sometimes it becomes pointless &#8211; there&#8217;s no point in reinventing the wheel. But I can definitely see the benefit in using your own library; when an abstraction leaks you know exactly how to fix it because you created it.</p>
<p>@<strong>Brenelz</strong>, Indeed! I don&#8217;t think knowing the above will really change what I do but it is interesting nonetheless. <img src='http://james.padolsey.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>@<strong>Santiago</strong>, I wouldn&#8217;t say MooTools is harder than jQuery (the initial learning curve may be greater) but I do agree with the fact that you need to know a little more about JavaScript to use MooTools. As well as being an object orientated language JavaScript is also a prototypal and functional one, jQuery is simply venturing on the other side of the road.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Santiago</title>
		<link>http://james.padolsey.com/javascript/javascript-abstractions/comment-page-1/#comment-4747</link>
		<dc:creator>Santiago</dc:creator>
		<pubDate>Mon, 09 Feb 2009 01:41:52 +0000</pubDate>
		<guid isPermaLink="false">http://james.padolsey.com/?p=521#comment-4747</guid>
		<description>I think that mootools is harder than jQuery, because in mootools you need to know how javascript works to use it. Javascript is an object oriented languague, and in jQuery all it&#039;s about functions.</description>
		<content:encoded><![CDATA[<p>I think that mootools is harder than jQuery, because in mootools you need to know how javascript works to use it. Javascript is an object oriented languague, and in jQuery all it&#8217;s about functions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brenelz</title>
		<link>http://james.padolsey.com/javascript/javascript-abstractions/comment-page-1/#comment-4731</link>
		<dc:creator>Brenelz</dc:creator>
		<pubDate>Sun, 08 Feb 2009 21:16:33 +0000</pubDate>
		<guid isPermaLink="false">http://james.padolsey.com/?p=521#comment-4731</guid>
		<description>Nice article... definately something to think about!</description>
		<content:encoded><![CDATA[<p>Nice article&#8230; definately something to think about!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pete</title>
		<link>http://james.padolsey.com/javascript/javascript-abstractions/comment-page-1/#comment-4730</link>
		<dc:creator>Pete</dc:creator>
		<pubDate>Sun, 08 Feb 2009 21:13:40 +0000</pubDate>
		<guid isPermaLink="false">http://james.padolsey.com/?p=521#comment-4730</guid>
		<description>Thanks for highlighting this.

This is why I use my own library of functions rather than deal with the abstractions used in major libraries.</description>
		<content:encoded><![CDATA[<p>Thanks for highlighting this.</p>
<p>This is why I use my own library of functions rather than deal with the abstractions used in major libraries.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ibrahim</title>
		<link>http://james.padolsey.com/javascript/javascript-abstractions/comment-page-1/#comment-4715</link>
		<dc:creator>Ibrahim</dc:creator>
		<pubDate>Sun, 08 Feb 2009 18:47:39 +0000</pubDate>
		<guid isPermaLink="false">http://james.padolsey.com/?p=521#comment-4715</guid>
		<description>Great tips thanks James :)
Congratulations about nettuts screencast competition</description>
		<content:encoded><![CDATA[<p>Great tips thanks James <img src='http://james.padolsey.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Congratulations about nettuts screencast competition</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: IRM</title>
		<link>http://james.padolsey.com/javascript/javascript-abstractions/comment-page-1/#comment-4694</link>
		<dc:creator>IRM</dc:creator>
		<pubDate>Sun, 08 Feb 2009 15:52:32 +0000</pubDate>
		<guid isPermaLink="false">http://james.padolsey.com/?p=521#comment-4694</guid>
		<description>Nice article!
The new frameworks make us forget about complex programming letting just &quot;imagine&quot; what we wish our project to be and design it with some direct and easysteps.</description>
		<content:encoded><![CDATA[<p>Nice article!<br />
The new frameworks make us forget about complex programming letting just &#8220;imagine&#8221; what we wish our project to be and design it with some direct and easysteps.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
