Adobe Air Runtime
Following on from my research into the differences between native or cross platform mobile phone / tablet development I decided to build an app that would run on both an Android phone and my iPhone. I chose to develop it using Sencha Touch (and PhoneGap) as this framework easily lends itself to similar application architecture encountered when undertaking Flex application development with Robotlegs or PureMVC.

Download Now

The app is a very straight forward notes application, one of hundreds on Google Play and provided the right size project for me to learn more about Sencha Touch. Currently it is available for download for free from Google Play for install on Android devices.

Project Goals

My goals for the project were :
  • Learn the Sencha MVC architecture
  • Compare Sencha MVC with Actionscript / Flex MVC
  • Experience the Sencha build & deploy mechanism
  • Practice Android certification & app signing
  • Learn the Google Play app submission procedure
Android Performance

I'm happy to say that I achieved all of these goals and learned some extra things along the way, not least improving my Javascript.
Android App screenshot of a new note.
On the whole I enjoy using Sencha Touch but my enjoyment of developing with it seems to greater than the results produced. On my, admittedly ageing, HTC Desire the performance is quite pedestrian and falls noticeably short of the expectations I have of native Android applications. As the performance of mobile phones improves this is likely to be less of an issue but for now the promise of reaching a large target audience using this approach is a little diminished. If you have an Android phone why not install it? I'd be interested in the performance on other models particularly a Nexus 7 or Samsung Galaxy S3.

Learning Sencha Touch Mobile Phone & Tablet Development

Android App screenshot of a new note.
With the hope that others will be able to benefit from what I learned I have uploaded the code on to Github and API documentation. One point worth noting is that there are many private methods in the classes described in the API docs. Private members are not shown by default but you can change this via a menu which appears when you click the button labelled 'Show' on the right hand side of the page. Your settings will be remembered as you browse from page to page.

Sencha has an excellent documenting tool called JSDuck which makes producing documents based on the comments in your code a breeze. If you are involved in Secha ExtJS or Sencha Touch development I recommend you take a look at it.

If you download the source code you will need to download Sencha Touch from Sencha themselves.

I would love to hear from you if you do improve on it, or learn something from it just get in touch using the 'Contact Me' link above.