With all of the different mobile development frameworks out there, Phonegap, Appcelerator, JqTouch, JqueryMobile and so on... there is one that isn’t getting the props that it deserves, and that’s Sencha Touch. Sencha Touch is rarely discussed in the blagosphere when it comes to mobile frameworks and I don’t know why. While everyone else is still building 1.0 versions of their frameworks, Sencha just released version 2.0 of their API last month just in time for SXSW. They have a public beta out of their Designer application that makes working with their framework even easier.
The Sencha Touch suite is comprised of 3 parts, Sencha Touch JS Library built on EXT.JS 4, Sencha Touch SDK Tools and Sencha Touch Designer. You have the basic Sencha Touch library which is just like the other frameworks I have mentioned before. You can include it in your main HTML page and then create your application entirely out of JS, since the library will then completely render out the DOM for you. This is different than JQuery Mobile and JQTouch, those libraries will allow you to manipulate the DOM but you still need to build out the application foundation in HTML.
The Sencha Touch SDK Tools is an add-on for working with the Sencha Touch JS library. It’s a set of command line functions that will allow you to generate boilerplate projects based on best practices that have been pre-defined by Sencha. Aside from being able to create the boilerplates, the SDK Tool will also create packages and deploy them to the mobile device for testing for you. Note though, in order to do this, you need to have XCode installed on a Mac and you need to have the Android Developer Kit installed as well. iOS packaging and deployment is not supported on the PC because of this.
The third part of the Sencha Touch Suite is the new Designer application that is currently in beta. Sencha Touch Designer combines the two other items together and gives you a new GUI that you can use to build your application and edit your code in. Sencha Touch is built around MVC architecture and their Designer application forces this methodology and provides you with an easy way to structure and manage applications by breaking the application down into 4 main parts, Models, Views, Controllers and Stores. The Designer application is very similar to Visual Studio or Dreamweaver, it has a library of components you can add to your application that are indicative of the different classes within the framework. They even take it so far as to pre-define specific components for you, for example, the data store is a single class inside the framework, but inside the Designer application they have pre-configured data stores for storing different data from different sources, Json, JsonP, XML, XML Tree Store, Tree Store, Arrays, Direct and LocalStorage. These are all really just the same class but have different configurations options turned on or turned off, they also come with different proxy and reader configurations so they can connect to your data source and read it in.
I could go on and on about this application, but I won’t. If you want to learn more about it, you can go to the Sencha website and take it for a spin yourself. There are two licensing models for the framework, a commercial and non-commercial or GPL. The GPL is free and, the SDK Tools are free and the Designer app is still in Beta so it’s free as well. I believe it will sell for $299 when it has been completed. Of course if you are hardcore and want you can go ahead and create your application using the Sencha Touch library and your favorite text editor and code it all out by hand, have at it - the library is still pretty easy to use.