<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Web 2.1 &#187; jQuery</title>
	<atom:link href="http://web.2point1.com/tag/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://web.2point1.com</link>
	<description>Tim Whitlock&#039;s home in the Blogohedron</description>
	<lastBuildDate>Thu, 13 May 2010 21:26:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Model, View, Control Freak &#8211; Part 1</title>
		<link>http://web.2point1.com/2009/01/31/model-view-control-freak-part-1/</link>
		<comments>http://web.2point1.com/2009/01/31/model-view-control-freak-part-1/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 16:17:31 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://web.2point1.com/2009/01/31/model-view-control-freak-part-1/</guid>
		<description><![CDATA[Introduction
I&#8217;ve been having an argument with myself for years over my reluctance to use third party code in my work. I am referring to everything from simple JavaScript libraries to complete CMS platforms. I&#8217;m not saying I never use third party code, but I use a hell of a lot less than most people. This [...]]]></description>
			<content:encoded><![CDATA[<h4>Introduction</h4>
<p>I&#8217;ve been having an argument with myself for years over my reluctance to use third party code in my work. I am referring to everything from simple JavaScript libraries to complete CMS platforms. I&#8217;m not saying I <em>never </em>use third party code, but I use a hell of a lot less than most people. This makes me arrogant, blinkered and quite possibly a dinosaur &#8211; or &#8211; perhaps it makes me experienced, focussed and a veteran.</p>
<p>On any given day I may be feeling guilty about my attitude; or smug and satisfied. Yesterday I was cursing the [generally wonderful] <a href="http://smarty.net" target="_blank">Smarty template engine</a>, and feeling smug that my favouritism toward my own code was righteous. The day before I was interviewing a chap about a possible Drupal gig and was feeling guilty that I had so far ignored Drupal, to my detriment.<span id="more-89"></span></p>
<p>Regardless of right or wrong, it seems that third party code is more relevant in web development than ever before, and the trend is fairly clear. However, I don&#8217;t believe this is a simple, black and white issue. It&#8217;s a huge topic, and I have so many arguments, anecdotes, rationales and personal feelings, that I&#8217;m going to split this post up into a series just to stop my brain exploding. I&#8217;ll kick off with a brief synopsis of what I see as the status quo.</p>
<h4>One CMS to rule them all</h4>
<p>The current state of play (as I see it) is that the <em>vast </em>number of open source projects out there are slowly simmering down to a handful of <em>de facto</em> market leaders. Just as web giants seem to be slowly conglomerating into monopolies, (one true search engine, one true auction site), so I see this happening with code libraries. <a href="http://drupal.org/" target="_blank">Drupal</a> seems to be the definitive CMS for PHP, <a href="http://jquery.com/" target="_blank">jQuery</a> the definitive JavaScript library, <a href="http://papervision3d.org">PaperVision</a> the definitive 3D engine for Flash. Of course there are plenty of alternatives, but the leaders are more in the lead than I have ever witnessed.</p>
<p>From a business perspective there are obvious advantages to this ubiquity: Our clients at <a href="http://www.publicreative.com/" target="_blank">Public</a> often ask if we can develop their site in Drupal, and some have even stipulated that their &#8220;<em>preferred</em>&#8221; JS library is jQuery. I think this probably has a lot to do with PR; are the successful open source libraries really the best ones? or are they just the best marketeers? Does a one-size-fits-all approach really work?</p>
<p>The text book benefits of building your web application on top of a popular third party system are not rocket science:</p>
<ul>
<li>Massive time saving;</li>
<li>Mature, tested &#038; maintained;</li>
<li>Well documented &#038; large support community;</li>
<li>Not tied to the original agency/author;</li>
</ul>
<p>You don&#8217;t need an expensive consultant to tell you that, but is this all there is to it? I don&#8217;t think so, and that&#8217;s what I&#8217;m going to ramble about in further posts. Along the way I shall be questioning my own reluctance to use third party code, and perhaps I&#8217;ll have an epiphany and change my ways for good.</p>
]]></content:encoded>
			<wfw:commentRss>http://web.2point1.com/2009/01/31/model-view-control-freak-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A response to jQuery</title>
		<link>http://web.2point1.com/2009/01/03/a-response-to-jquery/</link>
		<comments>http://web.2point1.com/2009/01/03/a-response-to-jquery/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 20:23:25 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[JASPA]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Prototype]]></category>

		<guid isPermaLink="false">http://web.2point1.com/2009/01/03/a-response-to-jquery/</guid>
		<description><![CDATA[JavaScript language abstraction
I just read this blog article by John Resig, the author of jQuery. The article in general is a criticism of various projects like my very own &#8220;JASPA&#8221; &#8211; A criticism of frameworks that attempt to bring JavaScript into the 21st century by abstracting it into a different language.
I knew I wasn&#8217;t alone [...]]]></description>
			<content:encoded><![CDATA[<h3>JavaScript language abstraction</h3>
<p>I just read this <a href="http://ejohn.org/blog/javascript-language-abstractions/" target="_blank">blog article by John Resig</a>, the author of <a href="http://jquery.com/" target="_blank">jQuery</a>. The article in general is a criticism of various projects like <a href="http://jaspa.org.uk/">my very own &#8220;JASPA&#8221;</a> &#8211; A criticism of frameworks that attempt to bring JavaScript into the 21st century by abstracting it into a different language.<span id="more-81"></span></p>
<p>I knew I wasn&#8217;t alone with JASPA &#8211; There is <a href="http://code.google.com/webtoolkit/" target="_blank">GWT</a> and <a href="http://www.jangaroo.net/" target="_blank">Jangaroo</a> for Java, <a href="http://pyjs.org/" target="_blank">Pyjamas</a> for Python, and <a href="http://cappuccino.org/" target="_blank">Cappuccino</a> with its own syntax called Objective-J. These projects are all slightly different takes on one core principal &#8211; that to truly make JavaScript &#8220;better&#8221; you can&#8217;t just write JavaScript, you have to introduce a more advanced syntax to leverage more advanced features.</p>
<p>Understandably JavaScript evangelists like John don&#8217;t all like this idea, and I do understand why. John makes some good points; most of which I completely agree with, but also some that I feel apply equally to his own jQuery and libraries like it.</p>
<h4>Native JavaScript vs foreign language syntax</h4>
<p>Pure-JavaScript libraries like <a href="http://jquery.com/" target="_blank">jQuery</a>, <a href="http://www.prototypejs.org/" target="_blank">Prototype</a>, <a href="http://code.google.com/p/base2/" target="_blank">Base2,</a> (<a href="http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks" target="_blank">the list is endless</a>) all attempt to address the short-comings of JavaScript from the inside, so to speak. That is to say that they are implemented in JavaScript and can never escape JavaScript. John argues that this is preferable, but I argue that the way in which these kind of libraries attempt to bend the syntax of JavaScript make them guilty of most of the same charges. Furthermore I argue that these libraries stand in the way of someone new to JavaScript gaining any real understanding of it.</p>
<p>My main defence of JASPA is of course that the language syntax is that of ActionScript (AS3), which regardless of its rocky relationship with <a href="http://www.ecmascript.org" target="_blank">ECMAScript 4</a>, is still an evolution of JavaScript, and not a total departure from it, which is what John Resig seems to be most offended by.</p>
<h4>So naturally I posted a comment about my feelings..</h4>
<p>.. except not only did I manage to cock up the posting of the comment, but for all I know it will be taken down to punish me for my shameless self-promotion. So because of these reasons, and because I feel I made some good points, I thought I&#8217;d re-post my comment here with a tiny bit of editing.</p>
<p><code>--8&lt;-------</code><br />
I see your point when it comes to non-ECMAScript languages, but what about ActionScript? I chose AS3 to implement my &#8220;abstraction&#8221; called JASPA &#8211; <a href="http://jaspa.org.uk/">jaspa.org.uk</a></p>
<p>I know many JavaScript evangelists reject ActionScript, (especially due to its recent history with ES4), but it&#8217;s like writing an extended version of JavaScript rather than a whole different language.</p>
<p>The OOP enhancements in ActionScript are intuitive and the syntax for procedural code remains largely the same. I would in fact argue that the OOP enhancements in ActionScript are much more intuitive than constructs like this:</p>
<pre>$(document).ready(function(){
   // ...
});</pre>
<p>- or sugaring approaches like this:</p>
<pre>Class.method('example', function(){
   // ...
});</pre>
<p>I appreciate what these kind of constructs achieve, but I cannot agree that they are particularly intuitive or respectful to the natural form of JavaScript. I would go further and suggest that people who aren&#8217;t JavaScript experts may not see how these formations really relate to JavaScript syntax, particularly due to the use of whitespace.</p>
<p>There some libraries that convert functions to strings and overwrite them with altered versions &#8211; surely this approach is even less intuitive and has even less respect for JavaScript than an extended form which provides real OOP enhancements such as classes, packages, imports, and super; not to mention strict typing.</p>
<p>Anyhow, I would ask that anyone looking at JASPA realises that what I am doing is purely out of respect for what JavaScript is and what it isn&#8217;t.</p>
]]></content:encoded>
			<wfw:commentRss>http://web.2point1.com/2009/01/03/a-response-to-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
