<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" 
      xmlns:thr="http://purl.org/syndication/thread/1.0">
  <link rel="alternate" type="text/html" href="http://www.insideria.com/2008/03/ext-for-air-simple-tasks-v2.html" />
  <link rel="self" type="application/atom+xml" href="http://www.insideria.com/atom.xml" />
  <id>tag:www.insideria.com,2009://34/tag:www.insideria.com,2008://34.23021-</id>
  <updated>2009-11-16T15:52:24Z</updated>
  <title>Comments for Ext for AIR - Simple Tasks v2 (http://www.insideria.com/2008/03/ext-for-air-simple-tasks-v2.html)</title>
  <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.21-en</generator>
  <entry>
    <id>tag:www.insideria.com,2008://34.23021</id>
    <link rel="alternate" type="text/html" href="http://www.insideria.com/2008/03/ext-for-air-simple-tasks-v2.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.oreilly.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=34/entry_id=23021" title="Ext for AIR - Simple Tasks v2" />
    <published>2008-03-03T17:06:00Z</published>
    <updated>2008-03-03T18:34:56Z</updated>
    <title>Ext for AIR - Simple Tasks v2</title>
    <summary>A few weeks back Ext JS announced that they would soon be supporting the AIR API&apos;s. They worked with Adobe to allow Ext 2.0.2 to run within the AIR 1.0 application sandbox. One of the coolest new applications using this new library is called Simple Tasks v2 created by Jack Slocum. Simple Tasks v2 utilizes the Ext.air package to make calls to the AIR APIs.  This new Ext package simplifies the use of the AIR APIs within HTML/JavaScript application as calling the AIR APIs natively is somewhat pain full. </summary>
    <author>
      <name>Rich Tretola</name>
      <uri>http://blog.everythingflex.com</uri>
    </author>
    
    <category term="Blogs" />
    
    <content type="html" xml:lang="en" xml:base="http://www.insideria.com/">
      <![CDATA[<div class="ap_r" style="margin: 16px;"><a href="http://www.insideria.com/upload/2008/03/ext_for_air_-_simple_tasks_v2/extlogo128.png" class="highslide" onclick="return hs.expand(this)"><img src="http://www.insideria.com/upload/2008/03/ext_for_air_-_simple_tasks_v2/extlogo128.png" alt="extlogo128.png" title="Click to enlarge" width="148"/></a></div>A few weeks back Ext JS announced that they would soon be supporting the AIR API's. They worked with Adobe to allow <a href="http://extjs.com/" target="_blank">Ext 2.0.2</a> to run within the AIR 1.0 application sandbox.  Let me first disclose since I have been a Flex developer for the past 5 years, I have not worked much with AJAX and especially AJAX within AIR. However, I can see that this new version of Ext is a huge addition to the functionality that is possible within HTML/JavaScript based AIR applications. 

<p><br />
One of the coolest new applications using this new library is called <a href="http://extjs.com/blog/2008/02/24/tasks2/" target="_blank">Simple Tasks v2</a> created by <a href="http://jackslocum.com/blog/" target="_blank">Jack Slocum</a>. Simple Tasks v2 utilizes the Ext.air package to make calls to the AIR APIs.  This new Ext package simplifies the use of the AIR APIs within HTML/JavaScript application as calling the AIR APIs natively is somewhat pain full. </p>

<div class="ap_r" style="margin: 16px;"><a href="http://www.insideria.com/upload/2008/03/ext_for_air_-_simple_tasks_v2/st1.png" class="highslide" onclick="return hs.expand(this)"><img src="http://www.insideria.com/upload/2008/03/ext_for_air_-_simple_tasks_v2/st1.png" alt="st1.png" title="Click to enlarge" width="148"/></a></div>Simple Tasks v2 uses the Ext library to manage AIR NativeWindows, the SQLite database, Native Drag and Drop, Clipboard, System Tray, and even Sound. 

<p>Custom components from the Ext library included in the Simple Tasks v2 application are the ListTree, Custom DataGrid Columns, and the SwitchButton component. </p>

<p>So how does this all come together to create a compelling AIR application? Well, upon launch of the application, you will notice the ListTree, DataGrid, and SwitchButton components which make up the main navigation for the application. The ListTree on the left allows you to categorize your tasks in a familiar format while the Custom DataGrid shows your existing tasks in an expandable format. Finally, the SwitchButton allows you to toggle between the status of your tasks. These components create a simple and very clean layout. </p>

<div class="ap_r" style="margin: 16px;"><a href="http://www.insideria.com/upload/2008/03/ext_for_air_-_simple_tasks_v2/st2.png" class="highslide" onclick="return hs.expand(this)"><img src="http://www.insideria.com/upload/2008/03/ext_for_air_-_simple_tasks_v2/st2.png" alt="st2.png" title="Click to enlarge" width="148"/></a></div>Some of the cool functionality includes the following:

<p>Double click on a task and you will see the use of the NativeWindow API as a new Window is launched to allow for editing of the tasks data. Highlight some text from anywhere in your system and drag it into the Custom DataGrid and you will see the use of the Native Drag and Drop functionality of AIR. A new task is instantly created using the text you had selected as the task subject. If you are working on Windows, minimize the application and you will see that rather than remaining in the task bar, it will put itself into the system tray. Set a task to expire and you will again see the use of the NativeWindow API as an alert window will appear and this time it will even play a sound alerting you to the event.</p>

<div class="ap_r" style="margin: 16px;"><a href="http://www.insideria.com/upload/2008/03/ext_for_air_-_simple_tasks_v2/st3.png" class="highslide" onclick="return hs.expand(this)"><img src="http://www.insideria.com/upload/2008/03/ext_for_air_-_simple_tasks_v2/st3.png" alt="st3.png" title="Click to enlarge" width="148"/></a></div>The thing I like most about this application is that the interface just the way you would expect a desktop application should be. For example, each element in the tree or grid has context menus that allow you to do things that you would expect (delete, open, etc). Also, the menu system includes the same functionality that you find within the application but may not notice right away. An example of this is the View menu which allows you to change the view to show only a specific task status. Sure, the previously mentioned SwitchButton has the same functionality but you have undoubtedly seen and used a View menu in other applications so this would be a familiar element to you.

<p><br />
In conclusion, as someone who has not done much with AJAX in general, I am very impressed with the ease of use of the Ext library and how nice the Simple Tasks v2 application felt to use. I am still not a big fan of AJAX within the browser as I worry about issues of JavaScript availability and don't like to have to create a lot of compatibility tests or server side fall back code. However, within the controlled environment of AIR, I am definitely on board with building AJAX applications using the Ext library for AIR. </p>

<p>For more information visit <a href="http://extjs.com/" target="_blank">Ext 2.0.2</a> or for code snippets of the application visit the <a href="http://extjs.com/blog/2008/02/24/tasks2/" target="_blank">Simple Tasks v2</a> page.</p>

<p>Have you built an AJAX based or Ext based AIR application? Please let me know about it as I would love to see some more examples.</p>

<p><strong>Update</strong>: I just found a very cool screen cast showing how to take the Simple Tasks v2 application and populate its database through the use of Jaxer. Check out the <a href="http://www.aptana.com/node/297" target="_blank">post here</a> and the <a href="http://aptana.tv/movies/jaxer/PlayQTFlash.html?movie=JaxerOnAIR&width=975&height=750" target="_blank">screencast here</a>.</p>]]>
      
    </content>
  </entry>

  <entry>
    <id>tag:www.insideria.com,2008://34.23021-comment:2015622</id>
    <thr:in-reply-to ref="tag:www.insideria.com,2008://34.23021" type="text/html" href="http://www.insideria.com/2008/03/ext-for-air-simple-tasks-v2.html"/>
    <link rel="alternate" type="text/html" href="http://www.insideria.com/2008/03/ext-for-air-simple-tasks-v2.html#comment-2015622" />
    <title>Comment from Jonathan Snook on 2008-03-03</title>
    <author>
        <name>Jonathan Snook</name>
        <uri>http://snook.ca/jonathan/</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://snook.ca/jonathan/">
        <![CDATA[<p>All the applications I've built on AIR have been Ajax and while I've used Ext in a non-AIR environment, I have high hopes for it within the AIR environment. Hopefully I'll be able to play with Ext sometime soon.</p>]]>
    </content>
    <published>2008-03-03T17:30:46Z</published>
  </entry>

  <entry>
    <id>tag:www.insideria.com,2008://34.23021-comment:2015624</id>
    <thr:in-reply-to ref="tag:www.insideria.com,2008://34.23021" type="text/html" href="http://www.insideria.com/2008/03/ext-for-air-simple-tasks-v2.html"/>
    <link rel="alternate" type="text/html" href="http://www.insideria.com/2008/03/ext-for-air-simple-tasks-v2.html#comment-2015624" />
    <title>Comment from Raymond Camden on 2008-03-03</title>
    <author>
        <name>Raymond Camden</name>
        <uri>http://www.coldfusionjedi.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.coldfusionjedi.com">
        <![CDATA[<p>I have to say - this is pretty impressive. I know other frameworks (like Spry) released updates to work with AIR, but I think this is the first one to really help folks use the AIR apis.</p>]]>
    </content>
    <published>2008-03-03T20:49:01Z</published>
  </entry>

  <entry>
    <id>tag:www.insideria.com,2008://34.23021-comment:2015628</id>
    <thr:in-reply-to ref="tag:www.insideria.com,2008://34.23021" type="text/html" href="http://www.insideria.com/2008/03/ext-for-air-simple-tasks-v2.html"/>
    <link rel="alternate" type="text/html" href="http://www.insideria.com/2008/03/ext-for-air-simple-tasks-v2.html#comment-2015628" />
    <title>Comment from Andre Charland on 2008-03-03</title>
    <author>
        <name>Andre Charland</name>
        <uri>http://blogs.nitobi.com/andre</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://blogs.nitobi.com/andre">
        <![CDATA[<p>I'm pretty sure Dojo and YUI have also released updates for AIR.  I'm most frameworks are working on it.  I know were are at Nitobi:)</p>]]>
    </content>
    <published>2008-03-03T21:50:13Z</published>
  </entry>

  <entry>
    <id>tag:www.insideria.com,2008://34.23021-comment:2105918</id>
    <thr:in-reply-to ref="tag:www.insideria.com,2008://34.23021" type="text/html" href="http://www.insideria.com/2008/03/ext-for-air-simple-tasks-v2.html"/>
    <link rel="alternate" type="text/html" href="http://www.insideria.com/2008/03/ext-for-air-simple-tasks-v2.html#comment-2105918" />
    <title>Comment from Steven on 2009-09-19</title>
    <author>
        <name>Steven</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>I haven't had a chance to play with AIR so far. I have been using Dojo and YUI pretty well for <a href="http://hintcafe.com">dateing site</a> and it has worked out great so far. Dojo is pretty powerful at preventing CSRF attacks too.</p>]]>
    </content>
    <published>2009-09-19T22:28:09Z</published>
  </entry>

</feed
