Ext

Building a desktop application with Ext, AIR, Aptana and Red Bull

June 29, 2007 by Jack Slocum

Ext JS is an excellent framework for building web applications that have desktop like functionality in a web browser. But what if you could take your JavaScript powered application and run on the desktop like any other native application?

The launch of Adobe AIR (formerly Apollo) has made this not only a reality, but extremely easy. Armed with early access Ext 2.0, Aptana IDE and a 4 pack of Red Bull I set out to build my first AIR application.

Get Aptana

With the new Aptana AIR plugin creating an AIR app was easy, even for a newbie like me. First go to the Aptana site and get Aptana.

1. Go to Window->Preferences and check this setting and do an update to get the latest Ext support.

2. Follow the steps in the “Start Page” to get the AIR environment set up.

3. Click on File->New->Project, select AIR Project and follow the simple directions.

Coding the application

Coding the UI of the AIR application was indentical to coding any other Ext application. Within a short amount of time, I had my user interface set up and started abstracting pieces out to make them reusable. Here are some of the most noteworthy pieces that others building an AIR application with Ext may wish to take a look at.

Ext.air.MainWindow

AIR allows the application developer to remove the system window chrome and use their own. With the help of Kevin Hoyt of Adobe, we were able to replace the standard window chrome with Ext.Window. While some may not like it’s non-native look, I think the result looks great! I took this code and abstracted it out into a reusable class, CSS and images appropriately named Ext.air.MainWindow. The class can be used on any AIR native window, similar to how you would use an Ext.Viewport.

Ext.data.SqlDB and Google Gears support

The other challenge faced was when I wanted to run the same application in a browser. The most logical choice was to use Google Gears for the SQL DB. However, the APIs for AIR and Google Gears are nothing alike. In fact, AIR’s SQLite database API is 100% asynchronous via events while Gears API is all synchronous with results coming immediately on execution. So Ext.data.SqlDB was created to abstract both of these APIs into a single API to access both.

The other part of this database code that is worth talking about is Ext.data.SqlDB.Proxy. The Proxy class is a standard Ext data proxy, which makes using SQLite with Ext data stores painless. You can use them like you would use a store working over Ajax. They work “out of the box” with Grids, ComboBoxes and other components without worrying about whats going on in the background. The proxy also handles persisting any changes to the database automatically. So when you add, edit or remove a task in the task store, it handles data translations, events and callbacks to make sure the changes get persisted into the SQLite database.

Building the application

Can Aptana make this any easier?

Simple Tasks

I started out with low expectations - just making a simple application in AIR using Ext. But in less than a day of actual development time I was able to create a cool personal task list application that I will actually use (good bye 50 open Notepad windows!). Here’s a rundown of some of the things that it does:

  • Task sorting and grouping - this was easy using the new Ext 2.0 GridView.
  • Runs on the desktop with AIR or online with Google Gears with the only change being swapping out the database adapter JS file.
  • Inline editing, adding and deleting of tasks with *automatic* persistence to local storage.
  • Basic keyboard support.
  • Intuitive and responsive interface.

The AIR application can be downloaded here. The online version which uses Google Gears can be viewed here.

While Adobe Air is still being refined, I have the feeling that this is the start of something great.

More Information

An AIR application is itself just a zip file. If you unpack that zip file, the full source code is available in the file.

Ext 2.0

The sample application referenced in this post uses an early version of Ext 2.0. Ext 2.0 is available to early access subscribers in the Ext SVN under branches/ext2.0 now! Grab your copy on our Download page.

Adobe AIR

The AIR runtime can be downloaded from http://labs.adobe.com/downloads/air.html. The AIR SDK can be downloaded from http://labs.adobe.com/downloads/airsdk.html.

Kevin Hoyt is a platform evangelist with Adobe. His blog is at http://blog.kevinhoyt.org/. He has a podcast interview from a training session in Vegas with Ext JS which you can listen to at http://blog.kevinhoyt.org/interviews/.

Aptana IDE

Aptana IDE is a free, open-source, cross-platform, JavaScript-focused development environment for building Ajax applications. They have great support for building AIR applications and their overall Ext development support is getting better with every release. More information about Aptana can be found on their website, http://aptana.com.

Red Bull

Red Bull is a must for any software development project. Red bull gives you wings to fly in AIR. :)

180 Responses to “Building a desktop application with Ext, AIR, Aptana and Red Bull”

  1. Eribium » Blog Archive » Building a desktop application with Ext, AIR, Aptana and Red Bull

    […] found a really nice article on the newly created Ext blog. It explains how to use Aptana to build a JavaScript Air application […]

  2. 开发者 » Blog Archive » 使用Ext, AIR, Aptana构建桌面应用

    […] Building a desktop application with Ext, AIR, Aptana and Red Bull […]

  3. haibijon

    Hey Jack, looks great. Was poking around the source and wondered if you’d be making the Ext.air or Ext.SqlDB extensions public at any point?

  4. Jack Slocum

    Right now we are thinking they will be distributed in the examples folder for 2.0 (that’s where they are in SVN).

  5. manugoel2003

    *drool*….. simply amazing….. I like the splitbar with the sleek collapse button…. I remember requesting it a long long time back….. congratulations on the new blog Jack…. and btw, there is an unconference going to happen in New Delhi, India in September…… I am working on a draft, when complete I will put it on the forums

  6. Jack Slocum

    Thanks Manu! I have been meaning to add the “mini” collapse mode (no title) for a while. It finally made 2.0. ;)

  7. Razhick

    Hi Jack, you have amazing gift; thank you for sharing. Question: How do I get Ext 2.0?

  8. Dmondark

    Now this is what I call an awesome post!!

    Thanks Jack.

  9. RWaters

    Really Amazing, as always Jack…. Just in time for a mention in the presentation for TAE :P

  10. Ajax Girl » Blog Archive » Writing a desktop application with Ext, AIR, Aptana, and Red Bull

    […] Jack Slocum has kicked off his new Ext JS blog with an entry on his experience writing an application with Ext JS, AIR, Aptana, and lots of Red Bull. […]

  11. Kanwal

    Awesome work Jack! Very inspiring!

  12. Uriel Katz

    checkout my GearsORM(http://www.urielkatz.com/archive/detail/google-gears-orm/) for working with the database like objects

  13. Guillaume Laforge

    This little app looks pretty cool. EXT rocks, and AIR sounds pretty interesting.
    However, just a little bug I encountered while playing with this task application: I can’t type numbers from my laptop keyboard, even with / without shift or caps lock. This is odd.

  14. lostxp

    Amazing work.

  15. Rich Waters » Blog Archive » Take Ext off-line

    […] check out the article, download and give it a swing. Share and Enjoy: These icons link to social bookmarking sites […]

  16. thejoker101

    Is anyone else having problems with the Google Gears version?

    I extracted the .air file to a folder on my desktop, opened tasks.html and I get these error messages (via firebug):

    window.runtime has no properties
    [Break on this error] air.trace = window.runtime.trace;
    AIRAliases.js (line 34)
    Ext.data.GearsDB is not a constructor
    [Break on this error] return new Ext.data.GearsDB(config);

  17. Gobo

    Hi Jack,

    Thanks for sharing this. I noticed that the AIR version and the on line version are hitting different local sqllite databases. Is it possible for them to use the same one, are is there some kind restriction that would prevent this?

    Thanks, Gobo

  18. on AIR Weblog

    […] has also been working with the Ext team to add support in their framework for AIR. They’ve created some custom classes in Ext that let you quickly and easily take advantage of AIR’s native windows and the SQLite […]

  19. Mel [RS]

    How can I mix this incredible feature and technologies to my xajax architecture? I’ve an robust OOP architecture and I can’t see where can I include this.

    Any suggest?

  20. Jack Slocum

    Thanks everyone. I have started using it daily and it seems to be holding up. :)

    @joker101 - Remove the AIRAliases.js include.

    @Gobo - If you can find the google database on your system, the AIR version could access it if supplied the full path. Some synchronization code would be cool though.

    @Guillaume - That is odd. I checked on my laptop and it was ok. I will dig around and see if I can duplicate the problem.

  21. Writing a desktop application with Ext, AIR, Aptana, and Red Bull « outaTiME

    […] Jack Slocum has kicked off his new Ext JS blog with an entry on his experience writing an application with Ext JS, AIR, Aptana, and lots of Red Bull. […]

  22. Web App….. what Web App?! « TechBabble

    […] The Blog Post [Link] […]

  23. links for 2007-07-03 « Talkabout

    […] Ext JS Blog - » Building a desktop application with Ext, AIR, Aptana and Red Bull “Jack Slocum makes an AIR and Google Gears-based todo list with online/offline operation” (tags: air adobe desktop javascript gears application viap) […]

  24. Web2rules - Le web 2.0, c’est pas du buzz » Blog Archive » AIR / Gears : la preuve par ext

    […] s’amuser un peu, Jack Slocum auteur de la très réussie librairie ext, a décidé de se prendre quelques Red Bull et de coder une application AIR. Résultat ? Il nous pond un truc qui marche aussi bien avec AIR qu’avec […]

  25. grah

    Thanks for sharing this, :)

  26. Blue Sky On Mars » Blog Archive » links for 2007-07-03

    […] Ext JS Blog - » Building a desktop application with Ext, AIR, Aptana and Red Bull Jack Slocum makes an AIR and Google Gears-based todo list with online/offline operation (tags: air ajax javascript aptana ext gears) […]

  27. Web2.0Blog » Blog Archive » Costruire una applicazione AIR con EXT e Aptana

    […] articolo/tutorial su come costruire una applicazione AIR con Ext JS e […]

  28. bone

    i cant stop drooling

  29. BernardChhun

    sweet :o
    impressive as always

  30. rodiniz

    Very nice Jack…What tool did you used to create the db file?

  31. Steven Mulder

    Ext,AIR and Aptana are awesome! Red Bull is dog crap!

    the truth is out there

  32. Jack Slocum bloggt wieder - dynamicinternet

    […] Seit ein paar Tagen gibt es nun auch das Ext JS Blog. Jack hat seinen ersten Artikel geschrieben: Building a desktop application with Ext, AIR, Aptana and Red Bull. […]

  33. Jack Slocum

    rodiniz, in the SqlDB class there is a function that will create the needed tables from Ext fields definitions.

  34. Bill Grant

    Very slick… I was able to get this setup in Aptana, but when I run (either in dev or after exporting the package) I notice it is running in a native windows container. I haven’t had a chance to dissect all of the code, but does anyone have any idea what isn’t configured correctly? (This entire environment is new to me…)

  35. links for 2007-07-03 « toonz

    […] Ext JS Blog - » Building a desktop application with Ext, AIR, Aptana and Red Bull (tags: ajax air javascript aptana apollo) […]

  36. Jack Slocum

    Bill, check your AIR application.xml file. In particular, there are two attributes you are looking for: systemChrome=”none” transparent=”true”.

  37. Adrian

    It’s a very nice App!
    In both, functionality, and looks.

    Though, there is still one thing that lets AIR down in my opinion…
    The way you can just go to the Installation Dir’, and edit the Source files…

  38. links for 2007-07-04 « /tmp

    […] Ext JS Blog - » Building a desktop application with Ext, AIR, Aptana and Red Bull (tags: javascript air aptana ext) […]

  39. Psilos

    Excellent Work!!!
    One extra thing and is perfect. How can we add the ability to delete Tasks?

    One more time: Congratulations!!!

  40. Psilos

    Ok sorry for that…I just saw u can delete it…

    So stupid some times…

  41. Jack Slocum

    Psilos, the delete key works too.

  42. Peter’s Blog » Blog Archive » Building a desktop application with Ext and AIR

    […] Building a desktop application with Ext and Air […]

  43. Bill Grant

    Thanks Jack — of course your suggestion made it work!

  44. Chris’ Blog » Aptana IDE

    […] an entry in Peter’s Blog about developing with Adobe AIR. (It is actually linked to yet another blog.) Anyways, on this other blog entry I was reading and the author mentioned an IDE program called […]

  45. Web 2.0 Announcer

    Ext JS Blog - » Building a desktop application with Ext, AIR, Aptana and Red Bull…

    […]Nice tutorial on how to build a desktop application on AIR platform using ExtJs and Aptana IDE.[…]…

  46. Web 2.0 Announcer

    Ext JS Blog - » Building a desktop application with Ext, AIR, Aptana and Red Bull…

    […][…]…

  47. Web 2.0 Announcer

    Build a desktop app in HTML/JavaScript with Ext and Adobe AIR…

    […][…]…

  48. The Pragmatic Programmer : JavaScript Evolution

    […] one example of desktop application using […]

  49. Revue de Presse Xebia par J2EE, Agilité et SOA : Le blog de Xebia France

    […] Jack Slocum, l’auteur de l’excellente librairie JavaScript Ext, inaugure son blog avec un article sur le développement d’une application simple avec Adobe AIR. […]

  50. Adobe Apollo « O centolo voador

    […] idea de probar este “entorno” salió del artículo de Jack Slocum sobre la integración del mismo con su maravilloso ExtJS y el formidable Aptana. Independientemente […]

  51. RWaters

    Ran into a very interesting oddity with the AIR version. I tried to take a screenshot of my list and the AIR app does not show, everything underneath it does though. I’m betting it has something to do with the way the app is stripping away the normal window chrome.

  52. Thameem

    Hi Jack,

    You rock always.. Its nice and simple blog with great look. I always admired with your skills.

  53. jodybrewster.net::blog » Blog Archive » Building a desktop application with Ext, AIR, Aptana and Red Bull

    […] Building a desktop application with Ext, AIR, Aptana and Red Bull      […]

  54. Le tipi de Tothem » Ce mois-ci, AJAX lustre vos parquets

    […] là, je ne saisis pas tout à fait la portée de ce que vient de faire ce gars, mais il a bien du se marrer. Alors que l’on essaie d’enrichir les applications […]

  55. Sami Hoda

    Cannot execute Air file. Says Application.xml missing?

  56. Sami Hoda

    Works. Updated to latest AIR.

  57. Building a desktop application using Aptana | Adobe AIR Tutorials

    […] Tutorial @ http://extjs.com/blog/2007/06/29/building-a-desktop-application-with-ext-air-aptana-and-red-bull/ […]

  58. Adam

    just what we all need!

  59. cluettr

    If you can develp web based apps… now you can develop desktop bassed apps… good stuff… Ext + Air = Happy Good Times : )

  60. David Tucker - Web Development Goodness » Blog Archive » Highlights of the onAir Adobe Bus Tour – Part 1

    […] by Jack Slocum. You can see this application and Jack’s blog post about its creation here. It amazed me how developing in HTML/JS for AIR didn’t feel dramatically different than Flex. […]

  61. Building a desktop application | Adobe AIR Tutorials

    […] http://extjs.com/blog/2007/06/29/building-a-desktop-application-with-ext-air-aptana-and-red-bull/ […]

  62. Thangaraj

    I’ve installed the application, and started to tried it out, I got this error though:
    —————————
    Simple Tasks: Simple Tasks.exe - Application Error
    —————————
    The instruction at “0×10140d66″ referenced memory at “0×00000004″. The memory could not be “read”.

    Click on OK to terminate the program
    —————————
    OK
    —————————

    Is this happening elsewhere? The online application is working perfectly in IE7.

    Some help would be appreciated :)

  63. huseyint.com » Adobe AIR

    […] JavaScript kütüphanem Ext JS ile nasıl bir Adobe AIR uygulaması geliştirileceği ile ilgili şu yazıya göz atmanızı tavsiye […]

  64. raider

    Great project

  65. extJS « blog do Rafa

    […] ColdFusion 8, usam a library; e para os que estão de olho em aplicações web/desktop, ainda há espaço nele, para o recente AIR da […]

  66. jokeway

    How to auto update the client code with the server side?

  67. Josh Nursing

    Awe-inspiring

  68. ExtJS - Jumpstarting Our Task Manager Idea < Stump Town Slingers

    […] Read […]

  69. Jeff

    jack,
    nice one! never thought this was a possibility until today, awesome news! This will keep me busy for a very long time.

    One little tiny bug i found… I accidentally ran the Simple Tasks application overnight ( forgot to turn the pc off ) and when i tried adding a new task, the date was from the day the task was first ran. So if I executed the app, say Sept 10, and its now sept 11, the date picker will box/outline sept 10 instead of sept 11 ;)

    other than that I’m having a blast with the application!

  70. chromaSYNTHETIC Journal » Blog Archive » Web Apps On Your Desktop with Adobe AIR!

    […] impressed. Especially in conjunction with the Ext JS library, it looks like you can create some pretty cool things quite easily. Since it’s downloaded as an app, and not a web site, the size of the javascript […]

  71. Daniel Does Dallas » Blog Archive » On Air Bus Tour

    […] Simple Tasks is a full javascript/AJAX AIR app. […]

  72. Jaki Degg

    Jaki Degg…

    I Googled for something completely different, but found your page…and have to say thanks. nice read….

  73. TINHDANG_PROVN

    THAT CHANG BIET NOI GI
    THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI
    THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI
    THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI
    THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI
    THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI
    THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI
    THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI THAT CHANG BIET NOI GI

  74. Software Development Guide

    Software Development Guide…

    I couldn’t understand some parts of this article, but it sounds interesting…

  75. DAddYE

    Nothing work with lastest AIR and Lastest EXT 2.0.

  76. Paris Exposed - Paris Hilton Sex Tape - LiveVideo.com

    Uncut Paris Hilton sex tape vidz…

    Paris Hilton in the bath! Paris Hilton sex tape video…

  77. damsfx

    [… @Gobo - If you can find the google database on your system, the AIR version could access it if supplied the full path. Some synchronization code would be cool though. …]
    Air use “tasks.db” and Google use “tasks.db#database” … localized in FireFox profile.
    Work great … thanks Jack

    A bug ?? Can’t type the ? character in AIR version (French win with AZERTY keyboard)

  78. Philip

    I can’t get it to install. It says it requires a version of AIR that is no longer supported. I spent an hour trying to figure out Aptana in OS X to get it to recompile it… It did, but the styles won’t show up. To be honet… I just want to use the app… Could I get a recompiled version for the lastest AIR?

  79. Блог о сети » Blog Archive » empty

    […] крутого добавили. Я в растерянности. Эти люди успевают делать с помощью ява скрипта Desktop Application! Статьи по теме : empty […]

  80. dodon

    sarap !

  81. Vlad

    @Philip: You can try to uninstall your Beta 2 version or AIR, install Beta 1, install the application and then install Beta 2 again. And you’ll have both the demo application and the latest version of AIR.

  82. Webmaster Mexico

    Is excellent idea, wow!! Great project!

  83. Graeme

    Jack - are you planning on updating the app for the latest version of AIR?

  84. da Blog » Blog Archive » Ext JS: Simple, Full-Featured AJAX

    […] some great examples such as DowJonesIndexes.com and an entire web desktop. Also, there’s a sample desktop app that runs on your desktop via Adobe AIR or Google Gears and a full-function Feed Reader. I was […]

  85. Jhecht

    Just so you know, if you read through the documentation in the AIR website, you’ll find that air.SQLConnection() event can take 1 argument(or more, not exactly sure on the number myself), this argument, in the source code, is called isSync:Boolean. If set to true, it will run exactly like google gears(when the .execute() command is sent, all other code processing waits for this function to finish), otherwise is it asynchronis, as you stated.

    Just a little trick. I’ve got a database class I’ve been working on as of right now for AIR. I’ll put it out on Google Code here shortly.

    Thee link to my google page is http://code.google.com/p/calendair/

  86. bassistance.de » LBA, day 4

    […] all the usual window stuff, like the title bar with the close button etc. The Ext guys used that to render a desktop application. According to Kevin there a still a few problems to solve to improve Ext on AIR. Ext uses eval() a […]

  87. Alexander Egeler » links for 2007-11-06

    […] Ext JS Blog - » Building a desktop application with Ext, AIR, Aptana and Red Bull Ext JS is an excellent framework for building web applications that have desktop like functionality in a web browser. But what if you could take your JavaScript powered application and run on the desktop like any other native application? (tags: air ajax development tutorial) […]

  88. Serkan Yersen

    Hi,
    I tried to run this air application but air says this is packed with an older version of the air.
    Can you update it?

  89. Serkan Yersen

    Hi,
    I tried to install this application but air gives an error
    Which says:
    This application requires a version of Adobe AIR which is no longer supported. Please contact the application author for an updated version.

    Can you update it?
    Thanks

  90. Kelly Banman

    Hey Jack,
    This is an amazing foretaste of the possibilities that will be available to developers with the release of AIR. It’s quite jaw-dropping to see extremely complex frameworks like Ext that are so flexible and robust. Great work.

    As some other posts mentioned, the .AIR file available for download here requires an older version of AIR. I have tried recompiling it with Aptana, but I can’t get it working properly. Could you update it please?

    Cheers

  91. kalle

    Hey, i got the same error like Serkan Yersen .
    an update to the current AIR version would be great, to get an impression of ext.
    thx
    kalle

  92. Nishanthe

    Hello,
    Thank you for the great article. Before I read this article, an Application like “Simple Tasks” was a rocket science to me. thank to you, now I have a clue and need to start this from today :)
    -Nish

  93. chinos

    I want learn this stuff (ext-js) but i dont’t know where to start and what requirement do i need to get started.
    Please could somebody help me with Tutorials.

  94. dragan

    Hi Jack,
    I think it become critical. Few days ago, AIR Beta 1 expired and Simple Task doesn’t work anymore. Lot of people cannot access their todo’s. What we need is update or post how to to update application.

    Thanks

  95. bulent

    şlşl

  96. bulent

    fsferkjklj

  97. Ce mois-ci, AJAX lustre vos parquets - Le Tipi de Tothem

    […] là, je ne saisis pas tout à fait la portée de ce que vient de faire ce gars, mais il a bien du se marrer. Alors que l’on essaie d’enrichir les applications […]

  98. grockwel: Research Notes » Blog Archive » Extjs

    […] web applications. The Extjs site has numerous tutorials and excellent API documentation. Check out Jack’s description of building an Ext app using Aptana, Adobe AIR and Google […]

  99. dotnetCarpenter

    How about an update to the new AIR version? Would be nice as I actually use Simple Tasks :-)

  100. hambywu

    嗯,感觉不错。好。
    Is very good!

  101. Ajaxian » Writing a desktop application with Ext, AIR, Aptana, and Red Bull

    […] Jack Slocum has kicked off his new Ext JS blog with an entry on his experience writing an application with Ext JS, AIR, Aptana, and lots of Red Bull. […]

  102. Ext JS Blog - » Simple Tasks v2 - Multiple lists, NativeWindows and Reminders

    […] 1.0 support for running in the application sandbox. Also, the Simple Tasks AIR application sample (first version here) was rewritten to take advantage of more of the native functionality in AIR and gained some cool […]

  103. Have you heard of Adobe Air - x10Hosting Forums

    […] provides, either. Jack Slocum’s Ext library, for example, is used to create a really nifty looking Task tracking app. 3) Adobe’s purpose is to create an application development platform that allows the huge […]

  104. Jessie

    Jessie…

    To all the uninitiated out there - read this and take heed. This is good stuff. Thanks….

  105. online kasinos

    craps rules…

  106. juego de cartas

    ruleta suerte gratis…

  107. Secured Home Loans for UK Homeowners

    Secured Home Loans for UK Homeowners…

    Home loans are available to homeowners only. These are commonly referred to as secured loans….

  108. juego al instante portales

    jugar seven card stud…

  109. juego gratis

    ruleta hogarena…

  110. no faxing payday loan

    5 card stud…

  111. juego gratis portales

    online black jack…

  112. black jack davey

    jeu baccarat en ligne gratuites…

  113. fax loan no online payday

    jeu java…

  114. jugar al instante

    juegos seguros paginas internet…

  115. glucksspiele online

    payday loan on line…

  116. keno spiele

    keno spiele…

  117. ruleta europea portales ruleta europea online

    jugar interactivo online…

  118. payday loan company

    kostenloses spiel online…

  119. bad business card credit credit

    seven card stud…

  120. fast easy payday loan

    loan no payday telecheck teletrack…

  121. apply card credit uk

    faxing loan no payday required…

  122. bank card credit georgia

    juegos interactivos pagina internet…

    As far as giochi seven card stud gratis best card credit secured…

  123. maquina tragaperras portal

    jugar portales web…

  124. juego tragaperras

    machine sous…

  125. card credit debt reduction solution

    card credit debt reduction solution…

  126. fax guaranteed loan no payday

    internet kasino spielen…

  127. geld gewinnen

    jugar gratis portales…

  128. ruleta de la suerte jugar

    play black jack online…

  129. bad credit finance companies

    bad credit finance companies

    Personal loans for bad credit people. Personal loans for people with bad credit….

  130. Custom Desktop Pc

    Custom Desktop Pc

    Age does not protect you from love. But love, to some extent, protects you from age. Jeanne Moreau.

  131. play baccarat online

    approval instant loan payday

  132. juego seguro paginas internet

    black jack download

  133. 7 card stud how to

    payday loan toronto

  134. internet kasino

    card credit debt reducing

  135. business card credit processing small

    bad card credit credit history

  136. cheap payday loan

    fast online payday loan

  137. apply card credit student

    loan payday software

  138. gluck spiel

    jeux keno gratuites

  139. online payday loan instant approval

    application card credit instant

  140. approval instant loan payday

    approval instant loan payday

  141. apostar jugar online

    trucos ruleta

  142. juegos apuestas portal web

    ruleta linea

  143. ganar dinero linea

    black jack

  144. approval canada card credit instant

    bank card credit monogram

  145. no teletrack no credit check payday loan

    acceptance card credit guaranteed uk

  146. hi limit lo omaha play

    instant loan online payday

  147. giocare online

    7 card stud online

  148. gioco keno inlinea

    apostar dinero pagina internet

  149. descargas gratuitas

    kostenlose kasinospiele

  150. card cheaper credit uk

    application canada card credit online

  151. faxless loan online payday

    faxing guaranteed loan no payday guaranteed loan online payday

  152. borrower dollar loan payday ten

    payday loan 1000

  153. spielen sie kasino online

    maquinas tragaperras paginas web

  154. maquinas tragaperras pagina internet

    juego pagina web

  155. +AFw-')/*

    ekibastos

    ekibastos

  156. 101 Adobe AIR Resources to Add to Your Toolbelt of Awesomeness

    […] Building a desktop application with Ext, AIR, Aptana and Red Bull - extjs.com […]

  157. jeu de carte

    juegos poquer

  158. online backgammon gambling backgammon gambling

    card christian credit debt help

  159. spielkasino online

    low interest payday loan

  160. juego web

    blogspot.com card consolidation credit d

  161. jugar a poquer

    balance card credit transfer uk

  162. ganar dinero paginas web

    ganar dinero paginas web

  163. gluck spiel

    maquina tragaperras paginas internet

  164. ruleta francesa

    bank card credit orchard unsecured

  165. maquinas tragaperras paginas internet

    salles de jeux

  166. Beard.blog » Blog Archive » Jeff On Ruby On Rails

    […] this fan. Jack Slocum of Ext fame used Aptana and its support for Adobe AIR to build a nice desktop TODO list application. I think I’ll look in that direction next time I have a small project to do. More on this in […]

  167. Animal Sex Women Having Sex With Animals Dog Fucks Girl

    Animal Sex Women Having Sex With Animals Dog Fucks Girl

    I can not agree with you in 100% regarding some thoughts, but you got good point of view

  168. Jessie

    Jessie

    I don’t mean to be too in your face, but I’m not sure I agree with this. Anyhow, thanks for sharing and I think I’ll write a post on this on my blog soon.

  169. Bad Credit Loans Personal Loan Auto Loan Calculator

    Bad Credit Loans Personal Loan Auto Loan Calculator

    I can not agree with you in 100% regarding some thoughts, but you got good point of view

  170. My Trusted Cracks

    My Trusted Cracks

    I can not agree with you in 100% regarding some thoughts, but you got good point of view

  171. Sex Girls Having Sex Rough Sex

    Sex Girls Having Sex Rough Sex

    I can not agree with you in 100% regarding some thoughts, but you got good point of view

  172. 101 Adobe AIR Resources to Add to Your Toolbelt of Awesomeness | AIR + Flex Laboratory.

    […] Building a desktop application with Ext, AIR, Aptana and Red Bull - extjs.com […]

  173. 24 hour loan payday

    ruleta europea linea

    In other words loan until payday apuesta dinero paginas web

  174. Distance Learning Teachers Having Sex With Students Very Hot School Girls

    Distance Learning Teachers Having Sex With Students Very Hot School Girls

    I can not agree with you in 100% regarding some thoughts, but you got good point of view

  175. black jack game

    juegos de ruleta gratis

    Find virtual gambling play keno

  176. Part Time Jobs Omaha

    Part Time Jobs Omaha

    Between two evils, I always pick the one I never tried before. ~ Mae West

  177. My Cracks and Serials

    My Cracks and Serials

    I can not agree with you in 100% regarding some thoughts, but you got good point of view

  178. premios dinero pagina web

    online 7 card stud

    Tomorow apuesta online premios dinero pagina web

  179. 101 Recursos para Adobe Air | Nodo54

    […] Building a desktop application with Ext, AIR, Aptana and Red Bull - extjs.com […]

  180. Animal Sex Horse Fuck Gay Horse Sex

    Animal Sex Horse Fuck Gay Horse Sex

    I can not agree with you in 100% regarding some thoughts, but you got good point of view



© 2006-2008 Ext, LLC