<?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>Joe Lennon &#187; developerWorks</title>
	<atom:link href="http://www.joelennon.ie/category/developerworks/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.joelennon.ie</link>
	<description>Rants, Raves &#38; Recommendations</description>
	<lastBuildDate>Wed, 28 Sep 2011 15:27:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Get started with Dojo Mobile 1.7</title>
		<link>http://www.joelennon.ie/2011/09/13/get-started-with-dojo-mobile-1-7/</link>
		<comments>http://www.joelennon.ie/2011/09/13/get-started-with-dojo-mobile-1-7/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 10:15:42 +0000</pubDate>
		<dc:creator>Joe Lennon</dc:creator>
				<category><![CDATA[developerWorks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[dojo 1.6]]></category>
		<category><![CDATA[dojo 1.7]]></category>
		<category><![CDATA[dojo mobile]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[phonegap]]></category>

		<guid isPermaLink="false">http://www.joelennon.ie/?p=713</guid>
		<description><![CDATA[Learn about Dojo Mobile 1.7, the latest version of the mobile web development framework that&#8217;s an extension of the Dojo toolkit. See how to download Dojo 1.7 from trunk and how to use Dojo Mobile in your applications. Explore the various widgets and components it offers, and learn how to wrap your web application up [...]]]></description>
			<content:encoded><![CDATA[<p>Learn about Dojo Mobile 1.7, the latest version of the mobile web development framework that&#8217;s an extension of the Dojo toolkit. See how to download Dojo 1.7 from trunk and how to use Dojo Mobile in your applications. Explore the various widgets and components it offers, and learn how to wrap your web application up in a native application using PhoneGap.</p>
<p>Read the article in full at <a title="Get started with Dojo Mobile 1.7" href="http://www.ibm.com/developerworks/library/wa-getstarteddojo/" target="_blank">http://www.ibm.com/developerworks/library/wa-getstarteddojo/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelennon.ie/2011/09/13/get-started-with-dojo-mobile-1-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Explore MongoDB</title>
		<link>http://www.joelennon.ie/2011/06/22/explore-mongodb/</link>
		<comments>http://www.joelennon.ie/2011/06/22/explore-mongodb/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 08:47:41 +0000</pubDate>
		<dc:creator>Joe Lennon</dc:creator>
				<category><![CDATA[developerWorks]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[bson]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[dbms]]></category>
		<category><![CDATA[document-oriented]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[nosql]]></category>

		<guid isPermaLink="false">http://www.joelennon.ie/?p=697</guid>
		<description><![CDATA[In this article, you will learn about MongoDB, the open source, document-oriented database management system written in C++ that provides features for scaling your databases in a production environment. Discover what benefits document-oriented databases have over traditional relational database management systems (RDBMS). Install MongoDB and start creating databases, collections, and documents. Examine Mongo&#8217;s dynamic querying [...]]]></description>
			<content:encoded><![CDATA[<p>In this article, you will learn about MongoDB, the open source, document-oriented database management system written in C++ that provides features for scaling your databases in a production environment. Discover what benefits document-oriented databases have over traditional relational database management systems (RDBMS). Install MongoDB and start creating databases, collections, and documents. Examine Mongo&#8217;s dynamic querying features, which provide key/value store efficiency in a way familiar to RDBMS database administrators and developers.</p>
<p><em>In recent years, we have seen a growing interest in database management systems that differ from the traditional relational model. At the heart of this is the concept of NoSQL, a term used collectively to denote database software that does not use the Structured Query Language (SQL) to interact with the database. One of the more notable NoSQL projects out there is MongoDB, an open source document-oriented database that stores data in collections of JSON-like documents. What sets MongoDB apart from other NoSQL databases is its powerful document-based query language, which makes the transition from a relational database to MongoDB easy because the queries translate quite easily.</em></p>
<p>Read the full article on IBM developerWorks at <a title="Explore MongoDB" href="http://www.ibm.com/developerworks/opensource/library/os-mongodb4/index.html" target="_blank">http://www.ibm.com/developerworks/opensource/library/os-mongodb4/index.html</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelennon.ie/2011/06/22/explore-mongodb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get started with Dojo Mobile 1.6</title>
		<link>http://www.joelennon.ie/2011/06/22/get-started-with-dojo-mobile-1-6/</link>
		<comments>http://www.joelennon.ie/2011/06/22/get-started-with-dojo-mobile-1-6/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 08:45:01 +0000</pubDate>
		<dc:creator>Joe Lennon</dc:creator>
				<category><![CDATA[developerWorks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[dojo 1.6]]></category>
		<category><![CDATA[dojo 1.7]]></category>
		<category><![CDATA[dojo mobile]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[phonegap]]></category>

		<guid isPermaLink="false">http://www.joelennon.ie/?p=695</guid>
		<description><![CDATA[Learn about Dojo Mobile, the mobile web development framework that&#8217;s an extension of the Dojo toolkit. Using a practical example, learn how to include and use Dojo Mobile widgets and components in your applications. You&#8217;ll see how to wrap your web application in a native application using PhoneGap. This article also offers a preview of [...]]]></description>
			<content:encoded><![CDATA[<p>Learn about Dojo Mobile, the mobile web development framework that&#8217;s an extension of the Dojo toolkit. Using a practical example, learn how to include and use Dojo Mobile widgets and components in your applications. You&#8217;ll see how to wrap your web application in a native application using PhoneGap. This article also offers a preview of some of the new features in the next version of the framework.</p>
<p><em>In this article, learn about Dojo Mobile, which is an extension of the Dojo Toolkit. After exploring the differences between mobile web and native applications, follow an example that shows you how to include and use Dojo Mobile widgets in your applications. You&#8217;ll also learn about building native applications with PhoneGap.</em></p>
<p>Read the full article on IBM developerWorks at <a title="Get started with Dojo Mobile 1.6" href="http://www.ibm.com/developerworks/library/wa-dojomobile/index.html" target="_blank">http://www.ibm.com/developerworks/library/wa-dojomobile/index.html</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelennon.ie/2011/06/22/get-started-with-dojo-mobile-1-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s new in Lift 2.0?</title>
		<link>http://www.joelennon.ie/2011/03/19/whats-new-in-lift-2-0/</link>
		<comments>http://www.joelennon.ie/2011/03/19/whats-new-in-lift-2-0/#comments</comments>
		<pubDate>Sat, 19 Mar 2011 15:38:58 +0000</pubDate>
		<dc:creator>Joe Lennon</dc:creator>
				<category><![CDATA[developerWorks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[lift]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[scala]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.joelennon.ie/?p=614</guid>
		<description><![CDATA[Lift is a web application development framework that enables the building of web applications in the Scala programming language. Because it is powered by Scala, Lift can be deployed to any Java™ Servlet container such as Tomcat or Jetty, and can make use of both Java and Scala libraries and APIs. In June 2010, Lift [...]]]></description>
			<content:encoded><![CDATA[<p>Lift is a web application development framework that enables the building of web applications in the Scala programming language. Because it is powered by Scala, Lift can be deployed to any Java™ Servlet container such as Tomcat or Jetty, and can make use of both Java and Scala libraries and APIs. In June 2010, Lift 2.0 became available, and it boasts an impressive array of new features and highlights. This article describes many of these features and explains how they can benefit you in the development of your own web applications.</p>
<p><em>Lift is a free, open source web application development framework for building powerful, interactive, and dynamic applications using the Scala programming language. Scala is purely object-oriented, but, uniquely, it also has support for functional programming, giving you access to features such as anonymous functions, nested functions, curry functions, and higher-order functions. Scala runs in a Java Virtual Machine (JVM), making it compatible with Java applications and libraries. These traits mean that web applications powered by Lift can use both Scala and Java class libraries. In addition, Lift applications are packaged as Web Application Archive (WAR) files and can be deployed to any web application server that supports the Servlet 2.4 specification, including Apache Tomcat 5.5 and later.</em></p>
<p>Read the full article on IBM developerWorks at <a href="http://www.ibm.com/developerworks/web/library/wa-lift20/">http://www.ibm.com/developerworks/web/library/wa-lift20/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelennon.ie/2011/03/19/whats-new-in-lift-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build an Ajax application with the Dojo Toolkit</title>
		<link>http://www.joelennon.ie/2011/03/01/build-an-ajax-application-with-the-dojo-toolkit/</link>
		<comments>http://www.joelennon.ie/2011/03/01/build-an-ajax-application-with-the-dojo-toolkit/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 18:45:28 +0000</pubDate>
		<dc:creator>Joe Lennon</dc:creator>
				<category><![CDATA[developerWorks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.joelennon.ie/?p=609</guid>
		<description><![CDATA[The Dojo toolkit is a JavaScript library that makes the process of building large JavaScript-based Rich Internet Applications (RIAs) much simpler.]]></description>
			<content:encoded><![CDATA[<p>The Dojo toolkit is a JavaScript library that makes the process of building large JavaScript-based Rich Internet Applications (RIAs) much simpler. With a wide range of features—from DOM querying and manipulation, Asynchronous JavaScript and XML (Ajax) request handling, excellent object-orientation support, and a full user interface widget library (Dijit)—Dojo is an excellent library to use to build a dynamic and interactive web application. In this tutorial, learn about many of the concepts of Dojo and the Dijit widget library through the development of a fully featured sample application, a contact manager system. This application lets a user browse, create, edit, and remove contacts (and contact groups) from a MySQL database. PHP is used on the server side to communicate with the database, with Dojo and the Dijit component library providing a rich, Ajax-powered user interface. The final result is a powerful web application that you can use as a foundation for your own RIAs.</p>
<p>Read the full tutorial on IBM developerWorks at <a href="http://www.ibm.com/developerworks/web/tutorials/wa-dojotoolkit/index.html">http://www.ibm.com/developerworks/web/tutorials/wa-dojotoolkit/index.html</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelennon.ie/2011/03/01/build-an-ajax-application-with-the-dojo-toolkit/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Dojo from the ground up, Part 3</title>
		<link>http://www.joelennon.ie/2011/02/15/dojo-from-the-ground-up-part-3/</link>
		<comments>http://www.joelennon.ie/2011/02/15/dojo-from-the-ground-up-part-3/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 22:18:36 +0000</pubDate>
		<dc:creator>Joe Lennon</dc:creator>
				<category><![CDATA[developerWorks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[dijit]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[dojox]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://www.joelennon.ie/?p=606</guid>
		<description><![CDATA[The third and final part of my IBM developerWorks article series on the Dojo Toolkit was published today. It covers the Dijit component framework that allows you to build rich user interfaces in a declarative or programmatic way. This article introduces you to the various UI widgets available, and shows you the different ways of [...]]]></description>
			<content:encoded><![CDATA[<p>The third and final part of my IBM developerWorks article series on the Dojo Toolkit was published today. It covers the Dijit component framework that allows you to build rich user interfaces in a declarative or programmatic way. This article introduces you to the various UI widgets available, and shows you the different ways of using them in your applications. It also introduces you to using Dijit to layout your application, and the DojoX extension library.</p>
<p>The Dojo toolkit lets Web application developers create Rich Internet Applications by offering a wide variety of features that save development time and effort. From DOM helpers and Ajax to a full-blown widget library and object-orientation features, Dojo includes virtually everything you need to build large-scale Asynchronous JavaScript and XML (Ajax)-powered Web applications. If the functions you are looking for are not included in Dojo itself, it&#8217;s highly likely that you can find it in DojoX, a repository of extensions and experimental features that are not included in the Base or Core modules of the toolkit. In Part 3 of this three-part series on developing rich web-based applications using the Dojo toolkit, learn about the Dijit rich user interface component framework, which lets you build powerful interfaces with minimal effort.</p>
<p>Dijit is the Dojo Toolkit&#8217;s user interface library of rich components. These components are fully theme-able, and can be declared either declaratively using HTML-style tags or programmatically using JavaScript. This section provides a brief explanation of Dijit, explains the components it has to offer, and describes the various themes that are available out of the box.</p>
<p>Read the article in full on IBM developerWorks at <a href="http://www.ibm.com/developerworks/web/library/wa-ground3/" target="_blank">http://www.ibm.com/developerworks/web/library/wa-ground3/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelennon.ie/2011/02/15/dojo-from-the-ground-up-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dojo from the ground up, Part 2</title>
		<link>http://www.joelennon.ie/2011/02/02/dojo-from-the-ground-up-part-2/</link>
		<comments>http://www.joelennon.ie/2011/02/02/dojo-from-the-ground-up-part-2/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 11:19:30 +0000</pubDate>
		<dc:creator>Joe Lennon</dc:creator>
				<category><![CDATA[developerWorks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[toolkit]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.joelennon.ie/?p=578</guid>
		<description><![CDATA[The second part of my IBM developerWorks series on getting started with Dojo development was published yesterday. This part focuses on Dojo's class-based object-orientation features, which help make JavaScript OO a little more bearable for traditional class-based OO developers with backgrounds in the likes of Java and C++.]]></description>
			<content:encoded><![CDATA[<p>The second part of my IBM developerWorks series on getting started with Dojo development was published yesterday. This part focuses on Dojo&#8217;s class-based object-orientation features, which help make JavaScript OO a little more bearable for traditional class-based OO developers with backgrounds in the likes of Java and C++.</p>
<p>The Dojo toolkit enables web application developers to create             Rich Internet Applications by offering a wide variety of features that save             development time and effort. From DOM helpers and Asynchronous JavaScript and             XML (Ajax) to a full-blown widget             library and object-orientation features, Dojo includes virtually everything             you need to build large-scale Ajax-powered web applications. If the             functions you are looking for are not included in Dojo itself, it&#8217;s              likely that you can find them in DojoX, a repository of extensions and             experimental features that are not included in the Base or Core modules of the             toolkit. In Part 2 of this three-part series on developing rich web-based             applications using the Dojo toolkit, you will learn about JavaScript&#8217;s             object-orientation features, and how they differ from a traditional             class-based object-oriented programming language. You will then see how Dojo             bridges this gap by offering a class-based system of its             own.</p>
<p>Object-oriented programming (OOP) is a software development paradigm that                 is based on the definition of data structures called objects, which                 consist of data properties and functions. These properties (member variables)                 and functions (or methods) define the potential interaction that a piece                 of software can perform with that object. The primary benefit of OOP is                 that it helps with code re-use and maintenance by making it easier to                 organize your code.</p>
<p>Read the full article on IBM developerWorks: <a title="Read on developerWorks" href="http://www.ibm.com/developerworks/library/wa-ground2/" target="_blank">http://www.ibm.com/developerworks/library/wa-ground2/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelennon.ie/2011/02/02/dojo-from-the-ground-up-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dojo from the ground up, Part 1</title>
		<link>http://www.joelennon.ie/2011/01/20/dojo-from-the-ground-up-part-1/</link>
		<comments>http://www.joelennon.ie/2011/01/20/dojo-from-the-ground-up-part-1/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 11:25:34 +0000</pubDate>
		<dc:creator>Joe Lennon</dc:creator>
				<category><![CDATA[developerWorks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[toolkit]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.joelennon.ie/?p=567</guid>
		<description><![CDATA[My latest developerWorks was published earlier this week. This is the first of a 3 part series on the Dojo JavaScript framework. Part 1 of the series is titled &#8220;Dojo from the ground up, Part 1: Getting started with Dojo development&#8221; and covers the basics of working with the Dojo toolkit. Part 2 covers Dojo&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>My latest developerWorks was published earlier this week. This is the first of a 3 part series on the Dojo JavaScript framework. Part 1 of the series is titled &#8220;Dojo from the ground up, Part 1: Getting started with Dojo development&#8221; and covers the basics of working with the Dojo toolkit. Part 2 covers Dojo&#8217;s excellent object-orientation features, and Part 3 covers the Dijit user interface component library. Parts 2 and 3 will be available in the coming weeks.</p>
<p>The Dojo toolkit enables web application developers to create Rich Internet Applications by offering a wide variety of features that save development time and effort. From DOM helpers and Asynchronous JavaScript and XML (Ajax) to a full-blown widget library and object-orientation features, Dojo includes virtually everything you need to build large-scale Ajax-powered web applications. If the functions you are looking for are not included in Dojo itself, it&#8217;s highly likely that you can find them in DojoX, a repository of extensions and experimental features that are not included in the Base or Core modules of the toolkit. In this article series, learn how to develop Dojo-powered applications from the ground up, covering the basics, Dojo&#8217;s great object-orientation features, and the Dijit user interface library. By the end of this series, you will be well prepared to develop Dojo applications of your own.</p>
<p>Dojo was created in 2004 to make the process of developing DHTML and JavaScript web applications easier, hiding much of the cross-browser inconsistencies that are prevalent in modern web browsers. This enabled the focus to be placed on implementing functions rather than tweaking code to make it work on every browser. Dojo is owned by the Dojo foundation, which was founded in 2005 by Alex Russell and Dylan Schiemann. Dojo is open source software (OSS) and is available under a dual-license (you can pick which one you want to adhere to) with both the Academic Free License (AFL) and a modified BSD license available.</p>
<p>Read the full article at IBM developerWorks: <a href="http://www.ibm.com/developerworks/web/library/wa-ground/index.html">http://www.ibm.com/developerworks/web/library/wa-ground/index.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelennon.ie/2011/01/20/dojo-from-the-ground-up-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build Ext JS extensions and plug-ins</title>
		<link>http://www.joelennon.ie/2010/11/23/build-ext-js-extensions-and-plug-ins/</link>
		<comments>http://www.joelennon.ie/2010/11/23/build-ext-js-extensions-and-plug-ins/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 18:10:27 +0000</pubDate>
		<dc:creator>Joe Lennon</dc:creator>
				<category><![CDATA[developerWorks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[sencha]]></category>

		<guid isPermaLink="false">http://www.joelennon.ie/?p=529</guid>
		<description><![CDATA[Ext JS is a comprehensive JavaScript framework that includes a vast collection of features, including cross-browser-compatible JavaScript helper utilities for DOM traversal and manipulation and data object stores. It also handles Ajax and direct web remoting, has an impressive collection of UI controls and widgets, charts and graphs, a powerful data grid control, and much, much more.]]></description>
			<content:encoded><![CDATA[<p>Ext JS is a comprehensive JavaScript framework that includes a vast collection of features, including cross-browser-compatible JavaScript helper utilities for DOM traversal and manipulation and data object stores. It also handles Ajax and direct web remoting, has an impressive collection of UI controls and widgets, charts and graphs, a powerful data grid control, and much, much more.</p>
<p>When developing applications using Ext JS, or indeed any JavaScript library or framework, you can be sure that you are going to need functionality that isn&#8217;t included out-of-the-box, or is present but doesn&#8217;t work quite the way you want it to. Thankfully, Ext JS includes a powerful class and component ecosystem that makes it easy to extend existing features or build new components entirely. In this article, we will explore this extensibility, specifically looking at the concepts of extensions and plug-ins. You will learn what each of these concepts means and what is different between the two. You will then see how to build your own extensions and plug-ins and how to source existing plug-ins built by other developers for use in your own applications, saving you from reinventing the wheel.</p>
<p>Read this article on IBM developerWorks at <a title="developerWorks" href="http://www.ibm.com/developerworks/library/wa-extjs/" target="_blank">http://www.ibm.com/developerworks/library/wa-extjs/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelennon.ie/2010/11/23/build-ext-js-extensions-and-plug-ins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A guide to writing unobtrusive JavaScript and Ajax</title>
		<link>http://www.joelennon.ie/2010/11/16/a-guide-to-writing-unobtrusive-javascript-and-ajax/</link>
		<comments>http://www.joelennon.ie/2010/11/16/a-guide-to-writing-unobtrusive-javascript-and-ajax/#comments</comments>
		<pubDate>Tue, 16 Nov 2010 17:46:29 +0000</pubDate>
		<dc:creator>Joe Lennon</dc:creator>
				<category><![CDATA[developerWorks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[graceful degradation]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[unobtrusive]]></category>

		<guid isPermaLink="false">http://www.joelennon.ie/?p=517</guid>
		<description><![CDATA[Unobtrusive JavaScript is the practice of separating the JavaScript, CSS, and HTML elements in your web applications. By keeping your applications organized in this way, it's easier to maintain them and to ensure that your applications behave consistently across various platforms and web browsers. In this article, learn how to employ techniques to reap the benefits of developing web applications in an unobtrusive manner.]]></description>
			<content:encoded><![CDATA[<p><strong><em>(This article was published on IBM developerWorks in November 2010)</em></strong></p>
<p>When writing JavaScript and Asynchronous         JavaScript + XML (Ajax) applications, it is all too easy to focus                 on the interactive features they have to offer, while forgetting about the basic                 fundamentals of web application development. It is important to write                 JavaScript and Ajax applications in an unobtrusive manner for a number of                 reasons. First, doing so lets you keep the logic of the application                 separate from your content, making it easier to maintain your applications                 going forward. Additionally, it lets you ensure that your application                 behaves consistently across various platforms and web browsers in its most                 basic form, resulting in you only needing to worry about this issue when                 you add in the JavaScript and Ajax features. Most importantly, perhaps, is                 that developing web applications in this manner means that you are                 following the idea of <em>progressive enhancement</em>, meaning that your                 application will support users who are using browsers that do not                 support JavaScript or particular JavaScript features (including Ajax). If                 you have been writing JavaScript applications in an obtrusive manner up                 until now, this article will help you discover the best practices that                 allow you to create web applications that work for everybody, while                 providing all the bells and whistles to those users who can use                 them.</p>
<p>The term <em>unobtrusive JavaScript</em> has a relatively loose definition,                 but is generally accepted as being the process of creating web pages                 and applications using a collection of good programming practices. These                 include the following:</p>
<ul>
<li>Keeping separate the JavaScript, CSS, and HTML elements of your                     application</li>
<li>Using JavaScript to progressively enhance your applicationâ€”don&#8217;t use                     JavaScript for core functions</li>
<li>Maintaining your code structure in such a way that reduces repetition,                     is better organized, and is easier to read and maintain.</li>
<li>Adhering to web and accessibility standards</li>
</ul>
<p>Not only is it good practice to develop this way, but it also ensures that                 your application will work for a wide range of audiences using different                 web browsers and devices, even those with limited capabilities.                 Applications built in this fashion are also generally better organized and                 structured, perform faster, and are less prone to bugs.</p>
<p>In this article, you&#8217;ll see how the presentation, style, and behavior                 layers of your application should be kept separate, with the goal of using                 no inline CSS or JavaScript event handling. You will also see some                 examples of obtrusive JavaScript code, and discover the attributes that                 they have that are considered to be poor programming practice.                 You will then learn how to correct these issues, writing the same code in                 an unobtrusive way, with guidelines on some best practices for this style                 of development. Ajax applications, in particular, are dangerous grounds for                 unobtrusive code. Just because your application has a rich Ajax interface                 does not mean that you cannot add this code in a progressively enhancing                 manner. You will learn how to approach Ajax functions in a way that                 will provide a fallback for users who cannot take advantage of the                 fluidity your Ajax features have to offer. Finally, you will see a                 detailed example of an application that provides dynamic Ajax loading that still works even with JavaScript switched off.</p>
<p>Read the article on IBM developerWorks in <a title="English version" href="http://www.ibm.com/developerworks/web/library/wa-aj-unobtrusive/index.html" target="_blank">English</a> only.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelennon.ie/2010/11/16/a-guide-to-writing-unobtrusive-javascript-and-ajax/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

