Sunday, February 24, 2008

Nifty Air Functions

So after reading through the AIR Ajax Tutorial, I decided to play around a bit with AIR and its asynchronis abilities. I created a small application that simply tells the user the status of the network connection by checking an RSS feed from macromedia's site. Below are two screen shots of the small application (note the highlighted sections):
And when the network connection is disabled....


I've also started to play with SQLite and AIR. After some struggle to determine how to execute queries from AIR, and looking at this tutorial, I ended up looking elsewhere for a simple way to manipulate data in the SQLite database. I found an Air-based SQLite Admin Application and have been familiarizing myself with SQLite syntax, which is not too different from any other SQL langauge. I plan on writing my next small application to modify and update data in a local SQLite database. Thus far I have a small table created called 'Contacts,' and I plan on using this table for my test application.

Until then, I will continue poking around different AIR tutorials and web blogs to see what other things are possible.

Thursday, February 21, 2008

On my Way

I've begun the tutorial Introducing Adobe AIR for Ajax developers to look into how to incorporate AJAX and dynamic content into Adobe Air.

I've also begun poking through the code of the Credit Union Management Game and looked into the logic. The code is a little archaic, very much unlike traditional languages I am used to, but I think that I should be able to figure out some of the logic by simply poking around and looking up GWBasic syntax. Thankfully, the code is well commented, so that may make things a bit easier.

I hope to finish the AJAX tutorial this weekend and include some screen shots.

Wednesday, February 6, 2008

Development Begins

After reading the first chapter of the O'Reilly Adobe Integrated Runtime (AIR) for Javascript Developers, I have a greater understanding of the advantages of using AIR for application development, particularly as opposed to using a standard internet browser. While the book goes into detail the specific advantages over traditional browser-based web applications, the main advantages are outlined below:

  • AIR was specifically designed for applications, unlike browsers, originally designed to serve simple HTML pages
  • Better control flow of applications. (ie no Back Button that can cause state loss, or control flow exceptions)
  • Integration with the Desktop, including greater interaction between web applications and desktop applications
  • The ability to utilize the application when an internet connection is unavailable
  • No need for platform-specific code, particularly with Javascript, AJAX, and CSS
  • No need for application developers to have to learn new languages
I've set up my development environment as outlined in the text. I've created a simple test application, utilizing a basic HTML and xml document. The book's example experiences errors with the latest versions of the runtime and SDK versions of AIR. Below are some screen shots experienced, and the process used to troubleshoot the problem.

This appears to be a problem with the XML descriptor file. I changed the runtime version from "http://ns.adobe.com/air/application/1.0.M4" to "http://ns.adobe.com/air/application/1.0.M6".

This solved the first problem, but then the ADL began to complain about other tags in the XML file, which led me to believe that the XML notation must have changed with the newest version of Air. I found this tutorial, and began basing my XML descriptor file on the given example.

After correcting the XML, the ADL stopped generating errors. The application would run, but for some reason the GUI would not load, and the application would simply hang with the following prompt "init function called" is a return statement from the HTML file, so we know that the application is running, but for whatever reason, the AIR GUI is not loading.


Unfortunately, the AIR/AJAX tutorial does not go into detail in how to utilize the ADL and ADT binaries to test/build the application.

After some tweaking and trouble shooting, I realized why my GUI for my application was not coming up... it helps to set the visibility of the application to true in the XML descriptor file.
<visible>true </visible>
And Voila:

I have successfully created my first HTML AIR application, with only a few bumps and dents along the way!